In an effort to reduce development costs when opening up back-office, mainframe-hosted programs to requests by Internet-based applications, Merrill Lynch has developed XML for Merrill Lynch (X4ML).
According to Mike Card, a vice president in Infrastructure Data Services with Merrill Lynch, there are two sides to the process which X4ML makes possible. In terms of the more external part of the process, application servers inside Merrill interact with Internet users on the outside, while internally, "X4ML allows Web services to get the back-end data on behalf of that Internet request."
In other words, it allows for communication internally from "middle servers to back-end systems," he says.
At Merrill Lynch and, in fact, at most other companies, almost all legacy-mainframe programs and data are hosted on IBM's Customer Information Control System (CICS) servers that act as transaction-processing monitors. On these CICS machines is kept most of the code for transactions that occur at an enterprise. On the firm's private-client side, such business activities include order entry and order management.
Like most other companies, Merrill has a strong interest in allowing access to those behind-the-scene activities by Web-based applications, which can, eventually, be pushed out to customers. However, due to persisting security concerns with Web services technology, such information currently can't be published directly onto the Internet. X4ML allows the use of Web services to bring the information off the mainframe, not into the public domain, but into a middle staging area where it is not vulnerable to cyber attacks.
The expensive alternative to using something like X4ML is that every program trapped on the mainframe must be rewritten using modern, Web-ready code.
According to Jim Crew, director in Infrastructure Data Services for Merrill Lynch, the problem with CICS is that "until recently, it didn't have TCP/IP connectivity." Now, he says, CICS has been outfitted with both a TCP/IP connector and an http listener (which "listens" for http traffic over the TCP/IP connection). But the persisting problem, says Crew, was that "There was nothing behind that. The fact is that you could send an http message but you still needed something to take the http message and do something with it, which is what X4ML does."
Venkat Pillay, also a vice president in Infrastructure Data Services with Merrill, explains, "X4ML provides a way to enable the mainframe legacy program to (internally) be published as a Web service."
Crew says that Web applications, which "speak" TCP/IP or http, don't know how to "call" a mainframe for information. "X4ML is middleware or glue that allows you to take http traffic and call the mainframe," he says. Also, he says, X4ML allows old COBOL programs to "participate" in SOAP (Simple Object Access Protocol), "so a SOAP message can be sent from the Web and X4ML will convert that into the format that the mainframe expects."
The real financial benefit of X4ML, says Crew, is that the firm doesn't have to modify the legacy code to publish the program as a Web service.
As for now, the X4ML standard is for Merrill alone, says Crew. However, he says that at some point the firm might "entertain offers" for use of the language.
"Major project-development tools -- such as .NET, BEA Workshop, all those tools -- do a fantastic job of consuming Web services and generating code so that things are a cakewalk for front-end developers. Now, with X4ML, we can take the back-end legacy applications and publish those as Web services," explains Crew. "Those two combined together are bringing about huge savings."