The hype and buzz of Web services
A reader writes: "What are Web services? I've read endless articles on the topic and I still don't really get what they are!" Ah, dear reader, Gearhead is here to lighten your dark room, as well as elucidate, educate and, hopefully, entertain.
Web services are simply a way of connecting a client program to a service across the Internet so that the service can do something useful for the client. To be a little more specific, a Web service is a server-side interface that conforms to certain standards that are applicable to Internet connectivity, so that functions on the server can be accessed by any client.
Let's say you have a program that can generate anagrams from a given string. To access this service from the Internet, a client would format a request using one or more Internet protocols, and a Web service would receive the request, hand it to the anagram program, receive the results and return those results to the client in a format based on Internet standards.
As an aside, let us note that the top 10 anagrams of "information superhighway" are (in reverse order):
10. Enormous, hairy pig with fan.9. Hey, ignoramus - win profit? Ha!
8. Oh-oh, wiring snafu: empty air.
7. When forming, utopia's hairy.
6. A rough whimper of insanity.
5. Oh, wormy infuriating phase.
4. Inspire humanity, who go far.
3. Waiting for any promise, huh?
2. Hi-ho! Yow! I'm surfing Arpanet!
1. New utopia? Horrifying sham.
The skinny
Be that as it may . . . back to Web services. We mentioned standards, and when it comes to Web services there are a lot to choose from. They include the Simple Object Access Protocol (SOAP), Web Service Description Language (WSDL), Universal Description, Discovery and Integration (UDDI) and XML.
For all of the buzz and hype about Web services, most people don't really get what the excitement is about.
In short, Web services are central to how services will be provided over the 'Net because they remove the barriers to communication between different programming languages and different computer platforms.
And where we are with Web services is pretty advanced. Web services have evolved into a five-layer model providing, as it were, a stack. This stack, going from lowest to highest, consists of network, transport, packaging, description and discovery layers.
At the network layer is, well, a network. That is, some means of getting data from one machine to another. While Web services are associated with the Internet and therefore TCP/IP, you could replace TCP/IP with messages written in ballpoint pen and transported by carrier pigeon, or shouted messages passed from one tin can to another using wet, hairy string. However, we will stick with TCP/IP in our considerations.
The transport layer is the protocol that encapsulates the message. In general, for Web services the protocol is HTTP but you could use FTP, telnet or e-mail.
The packaging layer is the next layer of encapsulation - it makes messages transportable between different platforms and services by standardizing the syntax of the content. This is the realm of the SOAP standard. SOAP is an XML-based language that packages function calls and entire documents.
The description layer provides the mechanism to describe a service. The most prevalent of the standards in this layer is WSDL, an XML-based language that describes what a Web service's public interface is capable of. Thus, a WSDL description of a Web service provides a client with everything needed to use the service.
Finally, the discovery layer makes it possible for a program to find a Web service. Here we find UDDI. UDDI provides a global directory of Web services that allows Web service discovery.
Over the next few weeks we'll delve deeper into what Web services are and the technologies and protocols that underlie them and how they apply to you.
RELATED LINKS
Comments and suggestions to gh@gibbs.com.
Gibbs Forum
The place to discuss Gibbs's columns.
Check out this week's edition of
Backspin for more musings from Gibbs.
Web services quandary
Tomorrow's business-to-business e-comm requires navigating the maze of conflicting Web services standards.
Network World, 02/18/02.

