Web Services

 
 
By Sean Gallagher  |  Posted 2001-10-29
 
 
 

What is it?

PDF DownloadA standardized way of sharing application functions across networks using Web protocols and XML messages. Functions range from the simple (e.g., a mortgage calculator) to the complex (a collection of services that processes payments).

Who dreamed it up?

WebMethods devised one of the earliest models for remote Web services, with a September 1997 pitch of the Web Interface Definition Language. That and other proposals—the most significant, Simple Object Access Protocol (SOAP), was written by IBM, Microsoft, training provider DevelopMentor and software vendor UserLand—have led to the standards work being led today by the W3C and industry groups.

Why bother with it?

Cost reduction. Automating processes saves money, and Web services is a cheap way to do that.

What are the weaknesses?

Security and simplicity. Since Web-service messages travel as a part of Internet traffic, they enter corporate networks easily. Digital signatures and Secure HTTP ease authentication and data-integrity qualms, but many companies will want additional safeguards. The simplicity of the standards helps integration, but to extend corporate systems, Web services must be able to address complex application issues like service guarantees and multiple-phase transactions. The W3C and others are dealing with these concerns in ongoing standards development.

What underlies it?

Both accepted and emerging standards, which makes it something of a moving target. All Web-service messages are written in XML and sent via HTTP (other protocols can be used, but no guidelines exist yet). The emerging core standards answer three main questions:

HOW TO EXCHANGE INFORMATION
SOAP defines how to structure messages, and how to send and receive them using HTTP. A SOAP message is the envelope for the actual commands and data being sent. Version 1.2 is a W3C working draft.

HOW TO USE A WEB SERVICE
Web Services Definition Language (WSDL) is a vocabulary for describing what a Web service does and what commands and data it will accept. Although the W3C has yet to formally acknowledge it (Ariba, IBM and Microsoft submitted version 1.1 in March), most developers are using it.

HOW TO FIND A WEB SERVICE
Ariba, IBM, Microsoft and others are collaborating on Universal Description, Discovery, and Integration (UDDI), a specification for creating directories of Web services. Version 2.0, released in June 2001, has not been submitted to the W3C.

Work also has begun on other protocols that specify higher-level details, such as how to set up contracts between providers and users.

What's it related to?

Distributed computing. Web services mixes the characteristics of messaging products (like IBM's MQSeries) and remote procedure call standards (such as CORBA-IIOP and DCOM). Messaging products typically offer better load-handling but fewer features, and RPC the reverse. Whether Web services takes the best of each or suffers doubly will be answered by the elegance of the standards being developed—in either case, platform independence and the Internet's ubiquity gives Web services a strong advantage over other communications solutions.

Who's deploying It?

Very few companies outside of the technology world. Some notable exceptions:

Financial-services ASP Fidesic offers payment-handling and funds transfers as part of the Microsoft .NET platform. Its customers for these Web services include small and midsize companies using accounting packages from Great Plains, QuickBooks, and others. Galileo International used .NET tools to create travel-planning and -booking Web services for travel agents and corporate travel departments. The components, built with .NET tools, run on IBM WebSphere. Tire manufacturer Pirelli worked with Accenture to create a Web service connected to its ERP system. Around 80 European tire retailers can place and track orders with Pirelli from their own inventory management software. 099\

Background Reading
IBM's developerWorks site offers everything from articles to toolkits. Some resources require registration.
www.ibm.com/developerworks/webservices