Tough business conditions often give rise to ingenious solutions. That was the case at Merrill Lynch several years ago when the economic boom went bust: An urgent desire to reduce IT overhead spurred a Web services initiative that has saved the company an estimated US$44 million in three years.
"Following off Y2K, when the market was tanking, we were looking at ways of taking costs out of the IT infrastructure," recalls Jim Crew, who was Merrill Lynch's director of infrastructure and data services at the time. As it turned out, one strain on resources was obvious: In responding to the competitive imperative to offer more and more services to Web customers, Merrill Lynch was duplicating applications on the middle tier that were already running on its eight z/OS mainframes. And the data for those applications had to be copied from mainframe databases into Oracle, SQL Server, and Sybase databases, which was driving up costs and creating a data synchronization problem.
"We realized we had to keep the mainframes around," Crew says, not just because replacing them and duplicating all their applications would have been absurdly expensive but because all that big iron had proved incredibly reliable as it cranked through 80 million CICS transactions per day. The question then became: How could Merrill Lynch start to build new applications that leveraged not just the data but also the applications on the mainframe? The answer, says Crew, was to build Web services -- SOAP stack and all -- on the mainframes themselves.
According to Crew, that notion was not as daunting as it may seem. "What's nice about a Web service is that you can publish contracts -- and they are request/response, which is the same as the mainframe. We had thousands of services on the mainframe; we just didn't recognize them as such," Crew says. Convincing his CTO at the time, John McKinley, of this Web services approach turned out to be relatively easy; McKinley quickly grasped potential cost savings of reusing all that legacy application development. His one caveat was that the result must demonstrate enterprise-class reliability.
In that spirit, Crew made a commitment to eliminate as much middleware as possible, reducing the number of things that could go wrong. Application servers would talk directly to mainframe services, which were catalogued in the UDDI directory. No commercial Web services repositories were available at the time to hold service metadata, so Crew's team built one using their existing database environment. One potential roadblock to this scheme, Crew recognized, was that mainframe CPU cycles are very expensive. As a result, his developers wrote a mainframe-based SOAP stack entirely in assembler. "We had to expend a huge amount of effort writing very tight code," Crew says. "We put an enormous amount of effort into optimization."
Today, Merrill Lynch has exposed hundreds of CICS programs as services. But even before the project was complete, Merrill Lynch recognized that it had a unique solution on its hands and began shopping around X4ML, as the mainframe solution was dubbed. In October 2005, X4ML was sold to SOA Software for an undisclosed amount and renamed SOLA (Service-Oriented Legacy Architecture). And part of that deal was Jim Crew himself, who is now a vice president at SOA Software.