This chapter introduces Web Services and the different ways that you can use Server Express to expose a COBOL application as a Web service.
"Web Services" is the name of a set of standards and mechanisms enabling software components to be invoked across the Web. The components themselves are called Web services. An application using a Web service (a client application) can invoke it and pass data to and from it very easily, because all communication between them is in the form of XML files sent using a standard protocol such as HTTP. This means the client application has no need to know details of how the component is deployed, what language it is in, and so on.
In theory, exposing a component as a Web service means it can be invoked across the Web by anyone in the world. For example, a credit card company might provide a Web service to be called by retailers to validate card details. They are often used across companies' intranets, for use in internal applications and as a means of integrating disparate internal applications.
Web Services is built around three standards that define the format of the XML files needed to link clients to services:
A file containing information in this format is made available to people wanting to write clients that call a Web service. It describes the interface that the service expects and what format the data will be in. This is, in effect, the contract for the Web service that must be obeyed by both parties.
SOAP is how the actual data that allows the web service client and service to communicate is formatted. A typical web service interaction will consist of a SOAP Request followed by a SOAP Response. These packets of data are sent across the network using the HTTP protocol.
Lists, or registries, of services are published on the Web in this format. It may be advantageous to think of a UDDI repository as a type of telephone directory or ‘Yellow Pages’ of Web services.
For the latest specifications of WSDL, SOAP, HTTP and UDDI, see the World Wide Web consortium Web site.
There are several ways you can use Server Express to expose COBOL programs as Web services:
This approach is documented in the chapter COBOL Web Services with the Interface Mapping Toolkit.
No documentation for this approach is provided here. For COBOL/Java interoperability, see the chapter Using Java and COBOL Together.
For a comparison of the advantages of the different methods, see the chapter Application Extension with Distributed Computing.
The Web services that the Interface Mapping Toolkit creates are WS-I Basic Profile 1.0 compliant. The Web Services Interoperability Organization (WS-I) is an open industry organization chartered to promote Web services interoperability across platforms, operating systems, and programming languages. The WS-I Basic Profile is a document containing a set of assertions and rules which vendors and end-users should conform to in order to maximize the interoperability of their web services across various platforms.
Web services created with tools which conform to the WS-I Basic Profile are more likely to interoperate with third party web service toolsets ensuring seamless integration across the internet/intranet. For further details, including the most up to date version of the Basic Profile as well as testing tools, visit the Web Services Interoperability Organization Web site.