Content Copyright © 2006 Bloor. All Rights Reserved.
SOA is becoming the preferred method of developing new business solutions. Everyone developing in a green field environment should be using SOA, but very few people have this luxury.
The biggest stumbling block, delaying wholesale SOA implementation, is the plethora of existing systems that do not provide an SOA interface. Should they be re-engineered to create a web services interface, or can an interface be created by wrapping or indirection?
Nowhere is this problem more pressing than on the mainframe because:
- The many existing mainframe transactions should provide a rich seam of useful services.
- The average CICS COBOL program does not understand the alphabet soup of web services.
- The owners of these transactions are justly proud of their reliability, performance and security and are wary of distributed applications and programmers accessing them directly.
Merrill Lynch faced this problem and developed an internal solution called X4ML. Having proved its efficacy they have sold it to SOA Software who will now maintain, extend, and integrate it with the rest of SOA Software’s product line. SOA Software markets the tool under the name SOLA.
The requirement was to create a tool that could be used by the service owner (the CICS developer) to quickly and easily publish mainframe programs and data as Web Services without modifying or writing any code. The CICS developer should not need any special environment, beyond being able to use a browser, and should not have to understand any XML, Java or web services.
Merrill Lynch met these requirements by creating a tool that analyses the COBOL source of a CICS transaction, not just the copy books, and from that can identify its inputs and outputs, and therefore the signature of the resulting Web Service(s). As part of this process, the developer has the opportunity to tailor the Web Service in a variety of ways such as publishing the service using more intuitive variable names than those chosen by the COBOL programmer. When completed, the tool automatically creates the WSDL and publishes it in a UDDI directory.
Once published the service is available in the run time environment and will execute the unmodified CICS transaction. The tool comes with a test harness so that the new service can be tested by the owner again without any need to understand web services or the distributed environment that will be using the service.
A key benefit of this approach is that the CICS transaction continues to operate in its native mode as well as a web service. This means that there is no chance of breaking the existing system when adding the new service, and also no issue of having to keep two versions of the transaction in sync. This is about as painless as moving from an old to a new technology gets.
I can now hear CICS aficionados saying ‘that is all too easy, but what about conversational 3270 applications?’; obviously Merrill Lynch had thought about that and have created a solution where the interface can be taught, in an intelligent way, what a multi-step transaction looks like and what the inputs and outputs are. This conversational, multi-step transaction can then be published as a single Web Service. As before, the WSDL is automatically generated and the service is registered in UDDI.
The original intention of SOLA was to enable enterprises to integrate the mainframe into the SOA environment as a first step to phasing it out without the need for a rip and replace policy. However, having seen how easy it is to integrate existing applications the owners realised that it would be just as easy to develop new web services on the mainframe using the existing CICS COBOL developer’s talent. SOLA has in fact given a new lease of life to mainframe development and applications.
SOA Software plans to deliver SOLA later this quarter, integrated with the rest of the SOA Software portfolio including Registry, XML VPN and Service Manager. SOA Software is also considering providing SOLA for IMS TP.
Any enterprise with major CICS COBOL production systems on the mainframe should look at SOLA as a way to extend the life of these systems, and potentially as the way to make the mainframe the heart of the SOA world.