Complex Alpha to Integrity migration
This was a highly complex project to migrate a large telecommunication provider from OpenVMS Alpha to Integrity. The core application running on OpenVMS comprised several million lines of complex code written in a variety of languages, including COBOL, Pascal, and C, and interacted with a Sybase database hosted on a UNIX platform, with communication between the OpenVMS-based application and the Sybase database being achieved via the Sybase OpenClient API. In order to migrate the application to Integrity and provide a supportable solution going forward the unsupported Sybase client API was replaced by the open source FreeTDS API and an embedded SQL pre-processor was developed that could be used in conjunction with FreeTDS in place of the Sybase embedded SQL pre-processor. The end result was a successful migration to Integrity with the FreeTDS-based database interface readily delivering required levels of performance and reliability.
What technical problems did that raise?
- The main technical problem was devising a solution to replace the Sybase client components without causing significant disruption to the business-critical application code, which comprised in excess of 3 million lines of code, containing many thousands of embedded SQL statements. The open source FreeTDS API was a logical replacement for the Sybase client API; however FreeTDS does not provide an embedded SQL pre-processor that could be used in place of the embedded SQL pre-processor provided by the Sybase client product. It was therefore necessary to undertake the technically challenging task of implementing a replacement embedded SQL pre-processor that could be used in conjunction with the FreeTDS API to provide an overall replacement solution for the Sybase client that caused as little disruption to existing application code and build procedures as possible. This task was successfully achieved, and the resultant embedded SQL pre-processor has since been applied to other projects requiring similar functionality.
- Another significant challenge for this project (although not specifically database-related) involved the introduction of a new Java-based ESB that needed to interface with the legacy application. This integration was facilitated using the WSIT product (Web Services Integration Toolkit), which provides a powerful set of tools and APIs for integrating legacy code and ACMS-based applications with Java on OpenVMS. In order to this solution to work as required with the new ESB, it was necessary to extend the code generation capabilities of WSIT by customising the template-driven WSIT code generation facilities.
What are the benefits?
The main benefit of the solution adopted for this project is that it provides the customer with a fully supportable OpenVMS application environment that can continue to be maintained an enhanced into the future. The solution has also paved the way for the customer to eventually move to VSI OpenVMS x86-64. The open source FreeTDS project is mature and stable and continues to be updated to accommodate updates to the TDS protocol that is used by both Sybase and Microsoft SQL Server. The ability to replace unsupported/unavailable propriety components with an open source alternative of comparable quality and performance has allowed the customer to continue to use and enhance their existing application, as opposed to having to consider other options that would likely have incurred greater cost and risk.
This project also provides a good illustration of how it is sometimes necessary to be creative and think outside the box when approaching modernization solutions. Implementing an embedded SQL pre-processor may not have been the most obvious thing to do; however, in terms of overall project cost, developing this tool was a small component.