Article: Mainframe Integration with JBoss ESB and LegStar
In a new article, Fady Moussallam & Mark Little describe how the open source JBossESB has been used to integrate legacy COBOL CICS applications without necessarily having to rely on XML and Web Services stacks. The authors start by describing the problems of first generation, mainframe-centric, integration, before they outline what they perceive as the strengths of adopting an ESB approach for the purpose of mainframe integration.
After an architectural discussion of what they term "ESB-centric mainframe integration", they offer a step-by-step guide on how to implement this architecture using JBossESB and LegStar, an open source mainframe integration solution. This enables programs implemented in COBOL, running on the mainframe's z/OS, to communicate with ESB-hosted Java components through WebSphere MQ.
Check out the article for more information.
I find the following passage quite neat: "ESB-centric mainframe integration also benefits from the wealth of XML optimization techniques that are available today in the open world to reduce memory footprint, as well as CPU consumption of XML-related activities"
This only applies, however, if you wrap your communication in a quagmire of XML, buses, routing, XA datasources and all that stuff. My experience is that there is no footprint to reduce if you only pass the commands and data back and forth using 20 year old command and file transfer utilities. Also, the code and effort needed to generate commands strings and parse the responses is much less than the one needed to integrate all that stuff in a testable manner in you application. And without "all that stuff" between the local side and the remote side, it is actually possible to find and fix the bugs quite easily.
That doesn't sell any products, though.
Just use CORBA
layers of expensive software
The software described here is available for free download.
starts the intended cobol program
What we describe is the reverse. Cobol initiates the call.
quagmire of XML, buses, routing, XA datasources
Not really. There is no XML or XA involved at all in the scenario described. Also, if you observe the network traffic, it is hard to leave a smaller footprint.
the code and effort needed to generate commands strings and parse the responses...
Most bugs come precisely from parsing. Hibernate or JAXB have demonstrated the value of automated binding versus hand coding.
Re: Just use CORBA
The architecture we describe here attempts to make optimal use of the ESB capabilities. Turning COBOL to java is yet another transformation process so why not implement it as an ESB transformation action. Communicating with a mainframe requires managing the mainframe endpoint so why not use the ESB endpoint management capabilities.
Ultimately, the ESB becomes the single integration server to manage and deploy to.