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 diagram (click to enlarge)

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:

Ordering at a restaurant diagram (click to enlarge)

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:

Calling a Web service diagram (click to enlarge)

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.

Technologies

WSA

WSA

A set of protocols that solve the problems that every distributed application written with Web services faces.

Presentation

How Web Services Work

Learn what a Web service is, reasons to use Web services, and about Web service technologies (0.2 MB)

HTML version

More presentations...

Links

Articles

Secret Services

Web Services Warm Up

Vendors

Microsoft

IBM

Sun Microsystems

Cape Clear

Companies with Web services

Amazon.com

Google

Resources

WebServices.Org

Loosely Coupled

CNET News.com

ZDNet

More links...