I have identified three methods, which help to keep Mainframe and COBOL modules are web enabled.
- Use a mechanism like EXCI or a local queue to make a request to a CICS transaction or a WebSphere Application Server application running on the z/OS system. From this runtime environment, make an outbound web services call.
- Interestingly enough, the customer indicated that they are already calling outbound web services from some of their CICS transactions.
- Use a MQ queue setup to communicate with a “proxy” which will translate queue messages into web services requests, and the responses back into queue messages. I used DataPower as the easiest example. Code the DataPower box to take an incoming MQ message, copy the message elements into a web services request, invoke the web service, take the response data and put it onto a MQ queue message, and send that back.
- Use an open source web services client (such as C/C++ Axis or Java Axis) and call it directly from the COBOL batch application. The customer asked how this related to the COBOL “INVOKE” operation. This operation is what is used in COBOL to call to Java code – with the Java/COBOL support – so I told them that yes, this operation is what would be used to make calls to the Java web services client.