Review: C++ Web Services Servers
We examine the Systinet Server for C++ and put it head-to-head against Apache Axis and gSOAP.
August 23, 2004
C++ Web services servers are not only as interoperable as Java- and C#-based services, they are also faster and much more easily integrated with third-party software. Unfortunately, the hype surrounding .Net and Java technologies has turned attention away from C++-based middleware. While coding is easier with Java and .Net, these platforms have large overheads and make architectural intricacies inaccessible to developers.
Currently, there are two commercial and two open-source C++ Web services servers. CRN Test Center engineers examined the Systinet Server for C++ and put it head-to-head with Apache Axis and gSOAP.
These products are designed to marshal data and transport it using XML, SOAP and HTTP through a set of executables. These executables use APIs that either work directly through HTTP or use the resources of Web servers like Apache and Microsoft IIS.
Systinet's commercial Web services server and API are simple and straightforward, and the software's compilation process is easy to follow. While setup is not as easy as that of gSOAP, engineers had Systinet Server running in a couple of hours.
Serializing and deserializing with Systinet Server is done automatically through a WSDL compiler. The data types that are converted through XML to C++ are also mapped and converted automatically by the compiler. The server accepts typecasting, most XML primitives, complex types and STL.Systinet Server supports all major schema standards, including WS-Security, digital signatures, LDAP and Netegrity. The server works on multiple operating systems and supports all major native compilers such as those from Hewlett-Packard and GCC as well as Microsoft's Visual Studio.
Systinet Server is extremely stable and is deployed in many complex enterprise infrastructures, including the Amazon.com retail Web site. Systinet Server for C++ is also embedded into middleware software by vendors such as Progress Software and EMC.
Systinet Server comes with extensive documentation and includes useful sample services. Most of the sample services, however, are not described in the product documentation. Solution providers should have a considerable background on how SOAP works before attempting to install the product.
Systinet offers extensive technical training programs and some sales training. However, solution providers have to contribute funds and personnel resources to help pay for this training. Systinet Server 5.0 is priced at $4,000 per Windows Server CPU, $8,000 per Unix CPU or $16,000 per mainframe CPU. The company offers partners preferential pricing and early access to technologies and new products, as well as co-marketing funds and joint sales programs. Systinet did not disclose average margins.
Systinet offers multiple levels of quality technical support including 24x7 dedicated telephone support to top customers. A solution provider tech support Web site is in development. In comparison, Apache Axis and gSOAP only offer developers semi-reliable and very basic online help forums.Aside from the meager support offerings, gSOAP is the best alternative to Systinet in terms of technology, and it is free. It is simple to install and program and is compatible with many operating systems, including Palm OS, Pocket PC and Symbian. The software includes productivity tools that rival some commercial products. Like Systinet Server, gSOAP's WSDL compiler produces C++ code from XML schemas for serializing XML types. GSOAP also supports STL and generates C code, which is extremely rare in the server market.
GSOAP is integrated in AOL's 9.0 client, BEA Systems' WebLogic Enterprise Security and IBM Tivoli's Access Manager. Since gSOAP also supports embedded Linux, other vendors have embedded part of gSOAP's APIs in their devices.
Apache Axis is rudimentary and lacks good documentation. CRN Test Center engineers used the installation procedures posted on Apache's Web site but found the instructions to be mostly incorrect. With no way to get the product up and running easily, customers and solution providers are forced to compile the product from scratch, which is a time-consuming process and would require changes to hard-coded references in header and configuration files. This product is not recommended for VARs that have not worked with open-source products.
You May Also Like