About the Client
The client is a leading developer of integrated software solutions for communications companies, offering Billing/OSS, Financial, Workforce and Fleet Management Solutions.
The client’s software solutions for communications companies were provided through a suite of software applications that were written in COBOL in the late 1970’s. These COBOL applications would interact with an IBM Mainframe AS/400 system for transaction processing. By the early 2000’s, COBOL applications were being phased out due to difficulty in maintenance, installation, ease of finding resources, and sophistication of UI.
Faced with the above challenges, the client wanted to move its applications to the contemporary Microsoft.NET 3.5 framework. They sought a reliable and trusted Microsoft.NET software services provider to help deliver the new application within the stipulated timelines and budget.
Need help with a Software Modernization & Re-engineering project?Contact Silicus Sales
Silicus Microsoft.NET experts designed an application that included Microsoft.NET technologies at the front end while the IBM Mainframe system was retained at the back-end.
Initial Analysis and Approach
After studying the existing software application, the team concluded that certain layers at the application back-end would be retained in COBOL since they were too complex and critical to be modified and compromised. The layers were highly stable and robust and there was not much scope for enhancement unlike the front-end layers.
The team architected the new General Ledger application with three layers - UI, Middle (BO+BL), and DAL. DB2 is the backend.
- The UI or presentation layer would contain all the user interfaces, i.e., the Windows forms for the user to interact
- The Business Objects layer would hold all the business objects required in the application
- The Business Access layer would hold the business logic, validations and calculations
- The Data Access Layer would contain classes for CRUD operations on the DB2 database
Third party Dev Express (Version 10.2.4) controls were used to achieve rich user interface experience. The screens were basically windows forms containing data presentation controls, selection controls and button controls. The UI validates and collects the user input from the fields listed on the Windows Form and passes it to the next layer e.g. Business Layer., where all business logic related to that screen functionality is implemented.
Exception Handling and Logging
The team designed a robust exception handling and logging mechanism in the Business Layer and Data Access Layer. This component provides the uniform and reusable way to use this exception handling and exception logging by defining the exception handling and logging policies for each kind of exception in the app.config file. This was a critical component in the application since the stability of the system was compromised because the Business Layer had to integrate with the existing COBOL layer for transaction processing.
Data Access Layer
This layer accepts the validated and real time data to perform the database operations, performs all CRUD operations on the database and returns an appropriate result of the database operation incurred. This layer also makes use of the Exception Handling block and throws the exception back to the business layer for logging. Every screen has a corresponding class for data access in this layer.
IBM DB2 was retained as the database since there were many transactions that it supported with the AS/400 mainframe systems that could not compromised. The database was not journalled, and did not support query handling or stored procedures. The team used IBM iSeries to establish connectivity with the database and perform stored procedure handling.
Configuration and Deployment
The Application configuration file – app.config, contained application specific settings and settings for exception handling and logging. MSI Installer was provided that would install the application on the client machine on the specified path.
IBM DB2 Mainframe
Microsoft.NET Framework 3.5, Visual Studio 2010
Microsoft application blocks (Enterprise Library Version 4.1)
3rd Party Integration
Dev Express .NET UI Controls
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 controls
Modern, Elegant and Responsive UI Using Dev Express Controls
Silicus .NET developers used Dev Express controls to develop the UI. The UI looked more elegant, rich and responded faster compared to the earlier application
Greater Predictability by Partnering with Silicus
The application developed presented challenges and uncertainties related to connection with the backend Mainframe system, and integration with the COBOL layer for transactions. Despite these unknowns, the team delivered a fully functional application to the client well within the stipulated deadlines, delivering on its promise of greater predictability in deliverables.