BOSTON -- At this week's SHARE conference, much of the buzz has centered on re-engineering CICS for loosely coupled
architectures and making it into a kind of service-oriented iron.
Customer Information Control System (CICS) traditionally reside on mainframes. While Web services have promised to unlock mainframe applications, break them into reusable components and combine them with Web applications in a service-oriented architecture, the hype has run ahead of the delivery in many cases.
Yet at the SHARE event, put on by an all-volunteer board of IBM customers, word has been put out that it can be done, it has been done and that it's high time to start thinking about CICS as a service as opposed to a system.
"CICS is moving away from its traditional role as a pure back end to being an integrated part of a service-oriented architecture," said Ian Mitchell, an engineer with IBM UK Laboratories.
He noted that IBM's CICS Transaction Server 3.1 product was built on an Eclipse integrated development environment, making it natively capable of performing WSDL conversions and plugging into a given Web service. On top of that, it offers a batch transformation tool for large numbers of conversions.
Jeff Laizure, who supervises enterprise online transaction systems for Vienna, Va.-based Navy Federal Credit Union, said his mainframe-based company already was performing more business through Web applications than at its 100-plus worldwide branches.
To do that, it wrote a set of J2EE [Java 2 Enterprise Edition] APIs that makes service requests into a mainframe software program built by HostBridge Technologies LLC, which then handles the CICS handoffs.
Thanks to the latest advances in the CICS Transaction Server, Laizure's now looking to branch out to SOAP transport. Currently, the credit union relies on TCP/IP and Systems Network Architecture transports.
"It's been five years in thought migration for us," Laizure said. He added that the key for Navy Federal Credit Union's Web services migration is that it be able to work natively at the mainframe level and not be an add-on or a parallel architecture.
At New York-based investment banking firm Credit Suisse First Boston LLC, Ross Tiktin, assistant vice president for IT, built his own standards-based enterprise bus to port more than 30,000 COBOL-based business rules into a services model.
While CSFB already had the ability to make Web services on many of those rules, Tiktin wanted to create a higher quality of service using a CICS/Enterprise JavaBeans hybrid.
"So I did what EJB programmers do, I coded everything," he said. "And I experienced the pain and suffering of tight coupling firsthand."
That drove him to build the in-house ESB. His main goals were to avoid COMMAREA modeling for each new service accessing CICS, to use Web services only for inquiries and not updates, to eliminate dual XML parsing runtime overhead and to enable distributed transactions.
The transaction flow he built takes a services call, invokes the EJB method he designed, uses CICS/EJB to link to a Distributed Program Link, which then calls to the CICS interface program and finally accesses the data and rules that reside on the mainframe.
Tiktin used BEA's WebLogic application server and the Borland JBuilder Enterprise integrated development environment to build the system. Prior to the in-house ESB, Tiktin said it took three hours to expose each mainframe rule, which can new be done automatically.
He also built in change notification and auto-exposure functions to reduce risk.
"Basically, it's a service-oriented architecture without the Web services," Tiktin said.
Hilon Potter, an integration specialist with IBM, said he expects to see many more mainframe SOA projects that don't rely upon traditional Web services in the future.
"CICS, DLL and IMS have all used models similar to Web services," he said. "So people are used to the concepts."
While the middleware and messaging forms can vary, Potter did urge those looking to unlock CICS applications to use a registry to make their work easily discoverable and available for reuse.