A Microsoft .Net application for scheduling rental transactions helps ensure optimum utilization of rented machines. As not every large machine is kept in stock in every subsidiary, the aim is to optimally adjust availability and conditions to customer requirements on the basis of transport costs to the customer, drafting of contracts, and long-term investment planning.
Supplement
The application is initially implemented as a 2-tier WinForms client-server application, with the conceptual design focusing on the option of switching to a 3-tier architecture with relatively little effort. The architecture is based on the design recommendations for complex applications, as described by Microsoft and Martin Fowler, for example. This is then separated logically into a client layer with minimal complexity and a server layer that contains the business logic and database accesses. Database access is via typed data sets that are themselves encapsulated in a database access layer. The business logic, in turn, is divided into 3 specific subareas. For various reasons, a section of the business logic is implemented directly in the SQL Server 2008 in the form of views, stored procedures and transact SQL jobs.
Subject description
Order acceptance for customer requirements generally takes place locally in the individual subsidiaries. However, scheduling can only be effectively performed locally in part, which results in the need for close cooperation between local and central scheduling. Business rules are essentially mapped in the form of workflows with a status concept. Notification is via e-mail and in status-related resubmission lists. Certain business rules are implemented in the form of periodic batch test runs. The aim is to achieve scheduling that is as efficient as possible, easy for users to use, and with optimum utilization, without unnecessarily restricting the required latitude for needed exceptions.