It's not hard to find companies that have dipped their toes into the water to explore how Web services might help address some of their nagging integration problems. But few have launched major initiatives of the scope at Eastman Chemical and Merrill Lynch & Co..
One of the distinguishing characteristics that separates these early adopters from the mere dabblers is the systematic approach they take to building the sort of service-oriented development architecture that experts say they'll need to realize the full benefits of Web services. Some of the biggest challenges they've faced so far have been finding the right tools and establishing best practices without a well-established road map.
Eastman Chemical, a US maker of chemicals, fibers and plastics, is plotting the rollout of a service-oriented architecture across key legacy systems to give users more visibility and control over their business processes.
To do that, the IT department is taking stock of all of the company's application servers (which run on AIX, Windows 2000 and Windows NT), assessing what the applications do, stripping off the user interfaces and exposing the application functions as services, says Carroll Pleasant, an associate analyst in Eastman's emerging digital technologies group.
"Once we're done, the (users) should be the ones deciding what the business processes will be, rather than having the applications determine the business process for them," he says.
Like a number of other companies, Eastman got started with Web services by focusing on a key project that would help its IT department learn about the new technology. Developers created a simple read-only Web service to give customers access to technical data in its product catalog.
The product catalog Web service, which went live about a year ago, eliminated the need for customers to screen-scrape data from Eastman's site or to download a monolithic catalog to spreadsheets. Customers instead can now go to the Web site and make a request that causes the system to send an XML-based message using SOAP over HTTP to Eastman's Saqqara Systems database. The latter then does the data retrieval and sends back the information via XML and SOAP.
With one successful project under its belt, Eastman's next big step was tackling an internal Web service it calls a management score card. The service lets the company's top 150 executives access financial, manufacturing and other data from several disparate internal and external systems for competitive analysis purposes.
Developers used Visual Basic 6.0 and Microsoft's SOAP tool kit to build the interfaces to its data warehouse and other back-end systems. Pleasant notes that, in hindsight, the newer and more reliable Visual Studio .Net tool kit -- which Eastman developers now use -- would have been a better choice, since it generates more of the low-level plumbing code. But the team lacked experience with it at the time.
To tie together the data, Eastman developers turned to Java-based server software from Droplets to deliver a client with a rich graphical user interface that "deploys like a Web application," Pleasant says. "The user just clicks on a shortcut and points to the application running on the server," he says.
Not everything went so smoothly. Long before the management score card went live last December, Eastman realized it would have to figure out how to manage its growing collection of services so that programmers wouldn't have to do checks to make sure all the services are running.
"Anybody who gets into this deeply will find very quickly that they need a tool set for managing services," says Pleasant. "It's as fundamental as running your data center monitoring tools."
Eastman experimented with tools from NextAxiom Technology and webMethods to create a Web services management "engine" that's more than a mere registry for the publication of services that applications can consume. The engine also needs to manage the security model, the orchestration between Web services, debugging and monitoring of the services, fail-over capabilities, caching and data transformation, Pleasant says.
When Pleasant surveyed the product landscape, he found a variety of confusing choices from small start-ups. "There's no consensus yet as to exactly what a Web service management tool should do or what services should reside there vs. the application server," he says. "It's very tough, because you can't just do an apples-to-apples comparison between these guys. Each one represents some fundamentally different approach as to how you're going to build the service-oriented architecture."
Another decision Eastman faced was how to "chunk" its data and whether to make "little calls to services or one big one" to compensate for the performance hits that result when data is transformed into and out of XML, Pleasant says.
To boost performance, Eastman had to learn the fine points of caching data so that multiple requests for the same information don't trigger individual calls to the database every time.
The company has done most of its work without help of high-priced consultants, although NextAxiom and other vendors have assisted with Eastman's near-term focus to create composite applications that tie together low-level services from existing legacy "application silos" and present the data in a view that aligns with the user's business processes. Microsoft's support for Web services and XML will also be helpful going forward, since Eastman is a heavy Microsoft user.
But one of the continuing challenges Eastman faces is the dearth of role models, since few have done what it's attempting to do.
"It's going to take a long, long time for everything to switch over to Web services and a service-oriented architecture," Pleasant says. "We see the movement going on with almost all of our vendors. We're confident they're going this route. But it takes time to get there."
Integration headaches drove Merrill Lynch to turn to Web services about one year ago as a cheaper and more efficient alternative to the middleware it uses to enable its thousands of mainframe applications to talk to its middle-tier and Web-based front-end systems.
The challenge confronting the New York-based financial services company is far more expansive than most companies will ever encounter. Merrill Lynch has 23,000 CICS programs running on its mainframes, and it's very difficult to integrate those programs with Microsoft's .Net development platform, IBM's WebSphere or any other platforms or tool sets, notes Jim Crew, director of the infrastructure and data services group.
Exposing those CICS applications with language-agnostic Web services interfaces and sending data using interoperable XML held great appeal. So Merrill Lynch created its own tool set, called X4ML, to help its mainframe programmers build interfaces and run Web services without need of XML, Java, Visual Basic or Web services skills and without having to modify the CICS programs. "There's nothing in the marketplace that's nearly as advanced as what we built," says Crew.
The tool set, which the firm continually fine-tunes, has an analyzer component that looks at a compiled listing of a Cobol program, tries to figure out its I/O and automatically produces the Web Services Description Language files that represent the interface and all of the runtime metadata, says Crew.
X4ML can be accessed either through HTTP synchronously or through IBM's MQSeries synchronously or asynchronously, says Dave Cohen, a vice president in Merrill Lynch's technology architecture group. "That's important for helping with the goal of cost reduction," he notes.
Venkat Pillay, a vice president in the infrastructure and data services group, says his team was apprehensive about scalability going through a CICS transaction gateway. But performance testing showed that TCP/IP and HTTP listeners in CICS provided the fastest, most scalable and efficient way to get into CICS, he says.
To boost performance, Merrill also wrote its own XML parser to run in CICS, since the off-the-shelf Java-based XML parsers were too slow, says Mike Card, another vice president in infrastructure and data services.
Card says the old system drove about 19 transactions per second, but using X4ML and Web services, the figure shot to 239 per second.
Through its work, Merrill Lynch hopes to phase out many of its CICS programs. For instance, if three programs do account inquiries, only one Web service is needed to expose that function. But Crew says that's not the ultimate objective. "The goal is lowering the cost of running the business by reusing existing resources," he says.
Crew estimates that for every dollar spent on an application, 90 cents goes to plumbing code. "Our goal is to make sure that 90 cents on the dollar is spent on the application and 10 cents on plumbing. Web services is getting us closer to that point," he says.
Merrill Lynch IT executives often point out that the firm cut the cost of developing an investment banking application from US$800,000 to $30,000 by using Web services instead of traditional development methods. Crew attributes the differential to X4ML's ability to eliminate plumbing code.
Cohen says reusing code should help to reduce the turnaround time for new projects, which often depended on developer knowledge of how to call a particular CICS transaction using legacy protocols. Web service interfaces and more widely accepted programming tools will ease the process.
So far, Merrill Lynch has used X4ML in more than 20 applications running in production and several more in development. The tool has also been used to build Web services interfaces to about 350 CICS programs during the past year, according to Crew.
The company has created an X4ML directory with capabilities similar to the UDDI standard to document its Web services, but it plans to migrate to UDDI later this year.
"Once we start using UDDI, we will see the benefit of application reusability," says Pillay. "A lot more people will be able to find each other's services and reuse the code."
So far, all of Merrill Lynch's work with Web services has been internal. Crew says he expects it to stay that way for at least the near term because of the lack of security standards. But internal Web services alone can have a significant impact at Merrill Lynch.
"What a huge productivity tool," says Crew.