Web Services
Enable data to flow freely
Web services are software components that can be published, located, and run over the
Internet using Extensible Markup Language (XML).
Web services allow other applications to call modules of code remotely with XML
and are also used to expose data in a database as XML.
There are many reasons to use Web services. Applications can be built that are
platform-independent, distributed, and secure. Web services are based on open industry standards
like XML and allow companies and government agencies to easily communicate with
customers and external partners. Developers are able to integrate applications
quickly, easily, and inexpensively -- reducing software development and maintenance time.
The diagram below shows an example of how Web services are being used in the IT industry. Click the image
to see a larger version of the diagram:
Web services are loosely-coupled and flexible like the World Wide Web. This loose-coupling
allows organizations to access and reuse software that they or others have already built.
Also, legacy systems can use Web services to expose existing data as XML and retain their value.
Web service technologies
The best way to understand the technologies that make up a Web service is to imagine a restaurant.
A restaurant advertises in the Yellow Pages, has a menu, has a waiter that takes orders, and
a cook that prepares food. Click the image below to see a larger version of the Ordering
at a restaurant diagram:
Web services technologies perform the same roles as people in a restaurant. Click the image
below to see a larger version of the Calling a Web service diagram:
XML
Extensible Markup Language (XML) is the communication language
used by all Web service technologies.
UDDI
Universal Description, Discovery, and Integration (UDDI) is the Web service equivalent of the
Yellow Pages, allowing organizations to register their Web services in a global directory so
clients can find them.
WSDL
The Web Service Description Language (WSDL) is equivalent to a menu and uses XML to
describe what the Web service can do and which application transfer protocol will be used. Web services have
traditionally been associated with the Hypertext Transfer Protocol (HTTP), but other transfer
protocols can be chosen. The most notable is called the Blocks Extensible Exchange Protocol (BEEP)
which should replace HTTP in critical applications.
SOAP
The Simple Object Access Protocol (SOAP) is used to request and receive messages and is equivalent
to an order in a restaurant. A SOAP message is a Remote Procedure Call (RPC) that consists of XML
sent over HTTP, although other transport protocols can be used. The structure of a SOAP request
is similar to a letter -- a message written in XML is wrapped in an XML envelope.
Here's a sample SOAP message that is requesting information about an aiport with the identifier "N99":
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformation>
<AirportIdentifier>N99</AirportIdentifier>
</GetAirportInformation>
</soap:Body>
</soap:Envelope>
Here's the SOAP response message that is returned by the Web service:
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformationResponse>
<GetAirportInformationResult>
<Name>Brandywine Airport</Name>
<Location>West Chester, PA</Location>
<Length unit="feet">3347</Length>
</GetAirportInformationResult>
</GetAirportInformationResponse>
</soap:Body>
</soap:Envelope>
Security
Web services secure data using industry standard security methods such as the Secure Socket
Layer (SSL) protocol, public-key certificates, and the WSA WS-Security protocol.
|