One of the requirements for
EventStore
project was ability to access Meta Data information from external
Database throw web service mechanism. Thus a different technologies were
exploit during this project with a choice of SOAP mechanism.
Our legacy application were running on different UNIXes and written in C++,
therefore we're limited in a set of tools to develop SOAP client/server application.
Our trials were:
- servers:
- J2EE server
- JBoss server
- Apache/Tomcat
- Microsoft-IIS on Windows Server 2003
all of them demostrated ability to server our needs and we used the Microsoft
server due to its tight intergration into underlying theory center infrastructure.
- clients:
- AXIS Apache with xerces-c and expat XML parsers
- Boost/ximol with libcurl unserlying transfer backend
due usage of C++ for legacy application we're limited in a choice of
client software with SOAP support for C++ and found boost/ximol/curl combination
a winner because of its simplicity. Although I contributed to port Axis
software to Solaris platform at early steps of evalutation process.
Meta Data DB were setup on a separate
server
with support of various web services for client requests.
The client software was written in C++ and integrated into legacy application
as a set of stand-alone libraries with dynamic loadable framework. The administrative
tasks of feeding Meta Data DB was written in Python to accomodate both
automatic snapshot of detector response and usage of different methods for SOAP
exchange.