Version 3.0
Integration Module (EQSoap) is a high performance server for servicing client requests using SOAP protocol. EQSoap implemented and operates on IBM i, for its operation does not require any additional server components.
EQSoap built using development package gSOAP.
gSOAP is an open source software tool for generation C/C++ code for various client and server components of SOA architecture. The generated code can be used to build high-performance components of SOA applications, including serialization/deserialization of XML documents and components of the server and client servicing HTTP(s)/SOAP protocol, and implementation of individual SOAP features. gSOAP generates clean code in C/C++, which can be used in the construction of software systems on different hardware and software platforms. This code is characterized by high productivity, as only implements those functions that should be present in a particular task. In addition, the code is self-sufficient, that is, to complete the work, required functionality does not require additional server or client applications, such as WebSphere, JBoss and others.
Architecture of the EQSoap designed in such a way as to ensure maximum performance and stability. To do this, a variety of algorithms used, including multi-threaded processing of requests, the queue started pre-processing flows, the dynamic increase in the number of threads, depending on server load and others.
EQSoap includes «Generator Module» which allows you to create a wrapper program to convert any IBM i program into a web-service. In order to program on a platform of IBM i is become available on the protocol SOAP, it is enough to prepare PCML file description of its input and output parameters, and to generate based on it a wrapper module that will be used to convert calls to EQSoap services to calls to IBM i programs.
Like most SOAP servers, EQSoap implemented the SOAP protocol over HTTP(s). Implementation of the HTTP server in EQSoap, in addition to SOAP POST requests, includes GET protocol implementation for sending static files on the IBM i file system, and to communicate with a standard EQUATION system API by specially crafted GET requests.
EQUATION Interaction Module, included in EQSoap, allows client applications to access any EQUATION API, that supports K484 Enhanced API. To do this, the client application must send to EQSoap specially crafted HTTP GET request containing the input parameters for the API, and an XML document will be received from the output parameters of this API.
In addition to supporting standard EQUATION API, EQSoap allows a direct communication with Transactions Generator (EHI). To call any EHI template, does not require any additional coding - it ist enough to create SOAP XML request for the desired structure, and call service interaction with EHI - ehiCall. The reply will contain the result that consists the list of all applied actions.
EQSoap includes the basic mechanisms of creating and using application connections to IBM i. To access the EQSoap services, you must create an application connection, so-called «EQSoap session», which will serve all client requests. When you create a session specified user ID IBM i, session itself is a separate job on the server IBM i, operating under the name and under the authority of the specified user, so any requests to this session will be served the same way as if the user would work on classical IBM i terminal session.