Exposing COBOL as Web Services

Describes how Enterprise Developer and Enterprise Server support native and JVM COBOL applications as Web services.

Using Enterprise Developer, you can choose from several methods provided to expose COBOL as Web services, and in some cases, deploy and run your Web services on Enterprise Server. In addition, you can also generate client applications to access your Web services.

Interface Mapping Toolkit (IMTK)
Starting with a native COBOL program, you can create Web services that use either the SOAP or JSON protocol by mapping a service interface from which to generate Web service components. You can further run these Web services on Enterprise Server and access them via a generated COBOL console client and, depending on the type of Web service, by additional client types. See Interface Mapping Toolkit (IMTK ) for details.
Note: Enterprise Server supports document/literal, RPC/encoded, and JSON encoding styles.
COBOL deployed under a Java Virtual Machine (JVM) can take advantage of Java SDKs and frameworks such as the Web Tooling Platform (WTP). This enables Web services integration with Tomcat and other application servers.

Because Eclipse tools are configured to generate Java Web services and not COBOL Web services, you must use Java on the front end. A Java class receives the request and then calls COBOL to perform the back-end processing.

JVM COBOL supports all Web service protocols provided by the Java Web services framework, including REST, but does not support the generation of COBOL clients from WSDL or JSON.

Calling COBOL from Another Language
You can call COBOL using any of a wide variety of other programming languages. Some of these languages have direct Web services support through tooling and Application Server deployment.
When developing a Web service using this method, be sure to include a failsafe to address the scenario in which the COBOL program crashes or issues a STOP RUN when executed in the same process of an Application Server. Failure to address this scenario introduces the risk of bringing down the Application Server.