| Definition of Web ServicesWeb Services are loosely
coupled software components delivering functionality over a network through open standards
based technologies. Each Web Service provides specific business functionality advertised
(or "exposed") by a service provider in such a way that all knowledge required
for its use is contained within the advertisement. The service consumer could be a human
being internal to the service provider or in an external organization, or it could be a
software program operating autonomously.
The basic requirements of Web Services are:
- Data exchange via loosely coupled messages using the SOAP
specifications and typically transported over HTTP and TCP/IP, but sometimes HTTPS, SMTP,
or some other transport layer
Data encoded in XML that can be validated
against a defined XML schema or DTD
Web Services definition expressed in WSDL,
the Web Services Description Language, and including the XML schema definitions
Universal Description, Discovery and
Integration (UDDI) repository in which to publish your WSDL
Discovery and lookup mechanism for
searching public and private UDDI repositories
Implicit within these definitions is a rarely discussed but important issue, that all
transactions should be stateless. Implementing stateful components over the Web can be
done, and will be done in practice, but the result would not comply with the philosophy of
proposed Web Services standards. We will return to this point in more detail below.
UDDI ultimately resolves to an XML encoded file resident on a server. This file has a
complex data structure, but can be considered to have three categories of entries:
- "White pages", with known identifiers, contacts, and
addresses.
- "Yellow pages", with categories of
services in a taxonomy of standard classifications.
- "Green pages", specifying
the technical interfaces to use the services, essentially the sequence of transactions
required, the transaction formats for request and response, and the URL address or
addresses.
Public repositories will be at known URLs on the Internet, and private repositories
will be at a limited access URL on the Internet or on a private intranet. The process of
discovery could be a user written program that reads the XML file directly, a UDDI enabled
browser, or a sophisticated marketplace solution that builds on the UDDI infrastructure.
UDDI could spell the end of much if not most business-to-business advertising. Once all
products and services are on the public Internet in a repository, you can search for
anything you know you want. Of course, the question remains as to how you are supposed to
search for something you don't know you want, so advertising may not die, but it certainly
will be reduced and refocused. |