The web service engine or run time is integrated in to IBM i and is used to externalize ILE business logic as a service. This integration opens the IBM i system to various web service client implementations, including RPG, COBOL, C, C++, Java, .NET, PHP, WebSphere Process Server, ESB, and Web 2.0.
Here are the features of the integrated web services server:
Easy to use through centralized configuration and control
The web services server focuses on making the deployment of ILE-based web services as painless as possible by hiding the complexities of the web services server behind an easy to use and intuitive web administrative GUI front end that allows you to manage and monitor the server and any deployed web services.
Even though the focus is on ease-of-use for the deployment of ILE-based services, the web services server is built on the powerful, yet lightweight, integrated application server and best-of-breed technologies in support of web services. The web services server supports the following items:
– Dynamic generation of WSDL documents
– WSDL 1.1, SOAP 1.1, and SOAP 1.2
– SSL and basic authentication through an HTTP server front end
Uses ILE programming architecture for minimal consumption of IBM i resources.
Benefits of the integrated web services server:
Let us emphasize that no other product or mechanism that we are aware of enables the deployment of an ILE program object as a web service as simply as the integrated web services server. The support is integrated in IBM i. Ensure that you have the latest HTTP Server Group PTF for the release you are on, and you are ready to go.
Let's look at the flows between a web service consumer and the web service provider.
Here is the flow:
How does the web services engine start an ILE COBOL/RPG program object (that is, program or service program)? The key to making all this work is Program Call Markup Language (PCML). PCML is based on the XML, and is a tag syntax that you use to describe the input and output parameters of programs and procedures that are contained in service programs. When you deploy a web service to an integrated web services server, the PCML is used to generate Java proxy code that performs the call to the web service implementation code that is written in RPG or COBOL.
PCML can be stored as part of the module (*MODULE) object when you compile your code by running CRTRPGMOD or CRTCBLMOD. When you deploy your ILE program object as a web service, the PCML is retrieved from the program object and then the Java proxy code is generated. (Alternatively, you can specify a path to the PCML file to use if you do not want to bundle the PCML data in your module.)
Now that you have an idea of the inner workings of the integrated web services server, what are the steps to get started? The first step is to create a web services server. The second step is to deploy the ILE program object as a web service.