"Web Services are really a new answer to an old problem," according to Daniel Austin, senior architect and architecture team lead for ebusiness at W. W. Grainger in Lincolnshire, Illinois. "The question is: How do we develop software applications that work well together in an heterogeneous, open-ended computer environment?"
It turns out that the answer is itself heterogeneous and open-ended. "Currently, the term 'Web Services' does not really have a unified meaning across the industry," says Abbie Barbir, senior designer for R&D at Nortel Networks in Ottawa, Canada. "It's a bit of a catch-all," agrees Steve Tuecke, lead software architect for the Globus Project at Argonne National Laboratory in suburban Chicago. "To some people, Web Services Description Language [WSDL] is the core of Web Services. To others, you are doing Web Services if you simply use Simple Object Access Protocol [SOAP]. To yet others, Universal Description, Discovery and Integration [UDDI] is the main focus."
Whatever the enabling technologies employed, the point of Web Services is to define a standardized approach to components that facilitate interoperability between diverse applications. "The Internet Protocol [IP] is focused on bit movement," Tuecke says, "and the Web protocol--HTML over HTTP--is focused on delivering content to human viewers. What Web Services brings to the table is a focus on computer-to-computer operation interaction."
If Web Services are all about improved inter-application cooperation, then it's the value of such improvements to the enterprise that will generate business interest in Web Services adoption. "The basic enterprise problem that Web Services solves," says Michael Conner, CTO for Web Services at IBM in Austin, Texas, "is how to do business with customers, partners, and suppliers across the Internet and across the globe without having to acquire an in-depth knowledge of how they built their IT systems."
Philippe Le Hégaret, team contact for the Web Services Description Working Group at the World Wide Web Consortium (W3C) in Cambridge, Massachusetts, describes this problem at its basic level in terms of "the capability to communicate--being able to do transactions, to exchange and compare data," and adds that it is one of the biggest challenges facing business. "A online bookshop, for instance, needs to be able to interoperate with the internal database of the shop, with banks, and with delivery companies. And a travel agency needs to operate with airlines, hotels, and rental car agencies."
Even though the Internet provides a basic infrastructure for such communication, it is currently hampered by limited interoperability. "As of today," Le Hégaret explains, "transactions on the Web are based on HTML forms. A search engine asks for the input parameters with a form, a buy-online system uses forms to get your credit card information, etc. If each company uses its own format and communication protocol in order to provide services, integrating them into one application will be complicated."
Web Services are an attractive solution, Conner says, in part because the Web Services component model isolates the users of a service from the details of the service's implementation, allowing implementations to evolve without disrupting clients. But more importantly, Web Services offer "a single, standard, simple, and well-supported communication model that can be adopted to reduce infrastructure complexity compared to current environments." In turn, that reduces skill requirements and the costs of development and deployment. '
Austin agrees that a strong case can be made for Web Services based on costs. "By removing a great deal of the complexity involved in managing multiple applications distributed over multiple networks," he says, "we can reduce both the initial development costs of software and the long-term maintenance costs. This reduces total cost of ownership and increases return on investment."
Austin adds that not only can Web Services provide interoperability across differing systems on different machines and networks, they can also span a range of applications that have been developed over time. That means that the model is open to an ongoing role for legacy applications. "We can often take an existing application and turn it into a Web service without modifying the underlying code," he says. "We reduce the need for additional development because we can reliably extend the life of existing applications. Over time, organizations may be able to realize considerable savings by reducing the amount of effort expended on software development."