<<Most companies, especially from the banking domain, develop a large
amount of their software in C/C++, and generally, they are not
interested in redeveloping the code in any other new generation
language, such as .NET or Java, due to cost and performance reasons.
One well known advantage [1] to sticking with the C++ legacy
application is performance. Most scientific applications are
intentionally developed in C++ for the same reason. But then,
integration of this existing functionality with the new application is
a big issue. The solution to this problem is incubating service
orientation into the application architecture and accessing the legacy
code by exposing it as a service, based on open standards so that it
can be used across various platforms.
One of the ways of implementing Service Orientated Architecture (SOA)
is Web Services; it provides a strong foundation for software
interoperability through open standards such as Simple Object Access
Protocol (SOAP), Web Services Description Language (WSDL), eXtensible
Markup Language (XML), etc. Web services can be readily used for
leveraging legacy code which can then be seamlessly integrated with
any application across platforms, allowing portability and
reusability. Exposing the current legacy code as a Web service enables
us to take advantage of the performance of the existing legacy
application while working with modern-age technology.
Tools/Frameworks
There are various tools/frameworks available, both open source and
proprietary, through which we can create and deploy Web services
written in C++. They also allow exposing existing application
functionality written in C++ as a Web service. Some of the tools in
this domain are listed below:
* gSOAP [2]
* Apache Axis C++ [3],
* Rouge Wave's LEIF [4]
* Systinet server for C++ [5]
Of these, gSOAP and Axis C++ are the open source tools, while LEIF and
Systinet Server for C++ are proprietary tools. We have used gSOAP for
exposing legacy code as a Web service, which I explain later in this
article.>>
You can read this article in full at:
http://webservices.sys-con.com/read/314105.htm
Gervas