Excerpt from:  iTechnologyDesign
.
April 06, 2009

Transforming Monolithic Delphi Applications to Service Oriented Architectures

Employing new architecture while preserving investments in business logic code.
One of the current projects we're working on a iTechnology Design involves a 15 year old Delphi 2 tier win 32 application.  This particular application was originally built in Delphi 2, and over the last 15 years has been maintained, upgraded, and today is an application that accurately reflects the logic of the business and resides in the Delphi 2009 environment.  

This application does what the business needs it to with one exception... it's not well suited to integration with other applications (i.e. it doesn't play nicely with web services).  Our customer needs a collection of soap/wsdl services to provide suppliers and vendors access specific parts of the core business application.  

During the analysis of this project we determined that the suppliers and vendors needed to access roughly 10% of the application functionality.  A proposal to redevelop the entire application would be unrealistic for the business since the existing application me the requirements of the business.  A proposal to develop the new web services functionality using a C# or VB on .Net would work, however there would be need to be special consideration to ensure the ASMX .Net web service properly handled the transactions and records in a manner that would not cause problems with the existing Win32 Delphi application.  The final option we looked at, and ultimately recommended & implemented was development of the web service using Delphi 2009.

By developing the web service in Delphi 2009 we were able to use the existing program code, the same database connectivity framework, and deploy the 10% functionality as a Delphi ISAPI.dll that runs on the IIS web server.  The ultimate solution reads, writes and handles transactions in a manner that is identical to the Win32 application.

Syndication OptionsRSS (Rich Site Summary) Feed Atom Feed OPML (Outline Processor Language) Feed MYST-ML (MyST Markup Language) Content Feed MS-Office Smart Tag Subscription