What Web Services Are NOT (1/4) - exploring XML
What Web Services Are NOT [Web Services are the latest, and perhaps hottest buzz-word in the Web development world. And, as is typically the case with all emerging buzz-words, their exact purpose and definition seem to vary from site to site, and vendor to vendor. To help us unravel the hype, we welcome guest author Sriram Rajaraman, the VP of Engineering at Instantis, who will help us understand what Web services are by explaining what he believes they are not. -Michael Classen]
As a technologist I'm always intrigued when the market begins to go crazy over a new buzz phrase - and recently I'm seeing it happening with Web services. Every software company, big and small, claims to be into Web services leading folks to wonder what Web services really are. Although there is certainly some new technology here ( mainly directed towards standardization - you may have heard about Simple Object Access Protocol or SOAP, Web Services Definition Language or WSDL, and Universal Description, Discovery and Integration or UDDI) Web services are largely a convenience wrapper around existing technologies like HTTP, SMTP, and XML.
A brief description of Web services
A Web service is a way to expose some business functionality over the Internet using the SOAP protocol (A Busy Developer's Guide To SOAP). It is portable, interoperable and not tied to any one vendor and this is precisely why it is useful.
Technically speaking, here's how a Web service works. A client wanting to call a function formats a request with SOAP XML encoding, and sends it to the server over any mutually agreeable communication protocol (typically HTTP, but SMTP is possible). The server runs some sort of a listener that accepts the incoming SOAP calls, reads the information from the XML SOAP packets, and maps them to business logic processing "application" software on the server. This application layer on the server processes the request and returns output to the listener, which formats the output into a response packet in the SOAP XML encoding and returns it to the client. A separate XML file contains a description of the services provided by the server in an encoding format called SDL (Service Descriptor Language), analogous to a type library in COM or an IDL file in CORBA.
While most people are in alignment regarding the technology, there continues to be confusion in the description of what Web services are really capable of, and what their attributes are. Rather than describe each element exhaustively, let me take a cut at examining what Web services are NOT.
Produced by Michael Claßen
Created: Feb 16, 2002
Revised: Feb 16, 2002