|
|
| About The Customer |
The customer is large CRM solutions provider,
with worldwide distribution outlets servicing North and South America,
Europe and Asia Pacific.
|
| The Challenge |
The application development tool and the
CRM application stored data on proprietary flat file based system.
The primary objective of the project was to provide a SQL based database
support to this product, thus enabling users to write ad-hoc SQL based
queries, thereby further improving the flexibility of the product.
The application is typically installed in a workgroup environment
where multiple users work in a collaborative manner. There was thus
a need for having web-based administration for managing such workgroups.
|
|
The Solution
|
The server database, comprising of proprietary
flat files, was replaced by a MS-SQL Server database, but the client
databases remained the same. The prime reason was not to put the burden
of installing a SQL database in each client workstation. Installing
and maintaining SQL databases in tens to hundreds of client machines
would have been extremely challenging. The solution would have performance
bottleneck too, as generally a database system is slower than a flat
file based system due to additional overhead. A web-based administration
module was added to this, which interacted with the Server application
for configuring the workgroup, adding or removing users, assigning
their rights etc.
One major challenge for the project was to design the SQL database
to be mapped with the old file based data structures. The design
phase made it obvious that the server application would require
major redesigning. A decision was taken to modularize the application
with a layered multi-tier approach, where each layer, implemented
as a collection of COM+ components, will perform distinct activities.
This would radically improve the maintainability of the product
as well as make it more reusable and extendible. Of course, this
decision greatly increased the scope and effort of the project.
Accordingly, the server application was split into three distinct
layers, viz. communication layer, responsible for communicating
with the clients through LAN/FTP/E-Mail, business logic layer encapsulating
the business logic of the application and the data access layer
for updating the actual MS SQL database. The COM interfaces exposed
by these components were also used by the administration application
for communicating with the server. The administration application
was designed as a collection of ASP pages.
The final delivered application was marketed by the client not
as an enhancement of their usual application development tool but
as an independent product and was enthusiastically received by the
market. This approach of modularizing the application was very successful
and same business as well as data access objects were reused in
several other projects that Mindteck subsequently undertook for
the same customer.
|
| The Benefits |
|
 |
Usage of database increased
reliability and maintainability of the product due to inherent
robustness of database as well as the backup/restore facilities
provided by the database. It also improved flexibility as users
could write ad-hoc queries in SQL now. |
 |
Web-based administration
eliminated the necessity for the system administrator to be
physically around the server system. |
 |
Redesigning and modularizing
the application in multiple layers also improved maintainability.
As mentioned before, the same components were successfully reused
in other projects for the same client thereby reducing the development
time dramatically. |
|
|
|
|