Case Study: Activity Scheduling System
Abstract
A US based company engaged Nova to develop a product for overall management purpose.
The client was desirous to use a completely automated and robust IT solution to
manage the increasing daily business of properties' rental and reservations.
Requirements
According to the client's requirement, the system should be composed of multiple
function modules involving basic configuration management, employee management,
user group management, class reservation, dinner reservation, properties' rental
and reservation etc.
Each order sub-system should have different availability at different times in accordance
with the resources needed.
Moreover, on account of multi-roles required, the system should be able to set various
levels of authority for different roles.
Solution
Technology required
- .NET, C#
- Smart Client, Windows Form, Web Service
- ASP.NET
- InstallShield
- Janus Control
System Architecture
Nova was engaged in the complete lifecycle of the system involving framework design,
database design and UI design, implementation and test.
The development process we adopted was RUP (Rational Unified Process) - an iterative
process. Using the iterative development strategy, we proceeded through requirement
analysis, design, implementation and test.
In order to mitigate the burden of the system on the client's end, we adopted a
3-layer model (presentation layer, business logic layer and data layer) for development,
using .NET as our development environment and SQL Server as the database.
Presentation layer
The presentation layer was implemented using .NET Windows Form and programs were
deployable through HTTP. The programs were divided into multiple components based
on functions to ensure that components were manageable. It was also convenient for
further enhancement.
Business logic layer
The business logic layer was realized using Web Service and BPEL. Web Service implemented
actual operations as control class. During the process, Data Access component would
be called to do the job when there was a request to database. At last, the control
class built the entity class and returned to the caller. Entity class was mainly
used for carrying data, and did not perform any other operations. All work were
done by control class.
Data layer
As the system was required to be run on multiple database platforms, all database
operations of the system were accomplished in one component to reduce the cost of
database migration. When an access request arrived, the component would receive
a SQL command from the XML configuration file, and then access SQL Server by using
SqlConnection of ADO.NET, or access Oracle by using OracleConnection.
Challenges of the development process
During the whole process we encountered some challenges.
- The system does not allow a number of orders to enjoy the same resources at the
same time. And the system should have the concurrency checking for frequent changes
of data.
We designed a special data lock table to deal with lock and unlock to ensure reasonable
allocation of resources.
- When a terminal data changes, every other terminal should be able to get the automatically
synchronized data. At the same time, the system must also support a variety of editing
features of orders, support circulation and rollback for data status.
We informed the data changes caused by client to each terminal through Web Service,
thereby to achieve the terminal data synchronization.
We defined a table for the order flow state to make it easier to change the status
of orders and rollback. For the data needed to be changed frequently, we added two
fields DateTimeStamp and DataTime to achieve concurrency control. For transaction
processing, we adopted transaction mechanism of ADO.Net technology to define a criterion
for encoding to ensure that the transaction of the system can be implemented or
rollback properly.
Benefits to the Client
- In virtue of iterative development we adopted, the high risks were mitigated at
the early stage of development lifecycle.
- The client's quick feedback and our adaptation leaded to a refined system that more
closely met the real needs of the users.
- The system's clear and compact hierarchy can reduce maintenance cost.
- A highly flexible, scalable, reliable solution is available.
Contact us
To find more details of our technical expertise and previous experience, please
fill in the form below and our sales will contact you as soon as possible. Any
enquiries from you are welcome, we will respond to you as soon as possible.