About the Client
Our client is a global leader in the design, manufacture and supply of wire and cable products. The client’s copper communications wire and cable products are used for voice and data transmission, while fiber optic cables and premises copper cables are used in communications applications, such as interconnecting campuses, businesses and communities.
The client maintained customer related information (purchase date, quantity, purchase order, key contacts, address etc) within an in-house application called Customer Reporting Tool, abbreviated as CRT.
The application was a Windows based desktop application, and accepts inputs and raw data from users and generates meaningful manufacturing related data through pre-built reports. The tool was developed in VB and could not support newer requirements. Moreover, Microsoft has terminated support for legacy VB applications, and the client was looking for a suitable partner to help migrate the application to the latest Microsoft technologies.
Need help with a CRM modernization project?Contact Silicus Sales
The application was a Windows based desktop application where users could log into it and sync their inputted data with a backend database that was within the intranet. The client wanted the application to be migrate to .NET, keeping the entire functionality and UI intact without any major enhancements.
Initial Analysis and Approach
After studying the existing software application, Silicus recommended a manual re-write from scratch as opposed to using automated migration tools. The following architectural approaches were considered for the application:
- N-Tier Approach: the traditional N-Tier approach where tiers would be spread across CRT Client and CRT Web Service. (This design was finalized by the Client)
- MVC Approach: the Model, View, Controller approach where components operate more independently of each other. In MVC, the Model consist of the business objects, View consist of the presentation Layer, i.e., the Telerik Win Forms and Controller component would contain the business logic for the forms.
Silicus .NET developers followed a 3-tier architecture approach, with the following layers:
CRT Client is the first tier, containing the Windows forms, business logic and related business objects.
CRT WCF Service is the second tier, where the business logic module will call CRT service to fetch/store data in the database. The WCF web services includes:
- Web methods which handle all client requests
- Service Interface contains the signatures for all the web methods defined in Web Service
- Business Logic for all Forms
- Data Access Layer which will get\fetch data from database
- Application block which accepts request from Data Access Layer and processes it.
- CRT Database is the third tier, the physical data container of all tables and stored procedures.
- Re-useable Components were the common module which would provide common functionality like logging messages; exception handling etc., CRT Client and CRT Service will both make use of these Components.
Following were the design considerations for the CRT Application:
- Security: Authentication and Authorization implemented by the CRT Legacy application were inherited as it is. Apart from this, Silicus .NET developers needed create a service that authenticates every web service request since the web methods would be public and easily accessible.
- Logger Framework: Since CRT client and CRT Web service will be two applications residing on different machines, the client and web service will maintain its own Logger Files respectively.
Once the architectural approach was finalized, Silicus .NET experts identified components within the old application that could be re-used to reduce development time and effort. Some of these components were:
- Logger Framework
- Exception Handling
- Theme Manager
- VB6 CRT application common modules
Key Technology Adoption Drivers
Telerik RAD controls: helps to create professional windows forms in quick time, and also provides the ability to change the theme of Forms and Controls dynamically.
WCF Service: build a scalable smart client application which will be future ready.
SQL Server 2005: Integration of SQL Server with Visual Studio 2010 is seamless since both are Microsoft’s products.
Crystal Report 10/11: Crystal Report 10/11 would be ideal for report creation since the legacy application has its reports developed in Crystal Reports 8.5.
C#, WCF Services
SQL Server 2005
3rd Party Integration
Telerik RAD controls and Telerik reports
MS - Team Foundation Server
Future Ready Application Built on the Latest Technologies
The client wanted a modern application that could be easily enhanced and maintained. This was accomplished by using the latest .NET technologies and WCF services so as to make it SOA ready for future requirements
Modern, Elegant and Responsive UI Using Telerik Controls
Silicus' .NET developers used Telerik controls to develop the UI. Although the UI was based on the earlier version, it looked more elegant, rich and responded faster compared to the earlier application
Faster File Import/Export Response Times
The earlier import/export functionality was highly complicated and in-efficient since it involved hitting the server multiple times. Silicus .NET experts greatly simplified the import/export logic and reduced the speed of the application