Copyright  2001-2007 Nicholas Quaine.
Home   Basics   ServerSide   ClientSide   Demos   FAQ   Resources
1. What is SOAP?
2. Web Services
3. SOAP messages
4. System Elements
SOAP 1.1
WSDL 1.1
UDDI 2.0
XML 1.0

Prev   1    2    3    4    Next
SOAP Basics
2. Web Services and the Service Web

A Web Service is a method that is callable remotely across a network (such as a corporate intranet or the internet itself). We looked at an example of a corporate intranet web service in Section 1 that was available via SOAP over HTTP. You can easily imagine similar services made available over the internet. Such web services would differ from traditional content-based internet services. The fundamental difference is this:

  • Content-Based Services serve up web pages (whether static or dynamically generated) for human consumption
  • Web Services serve up data for computers
The entirety of web services available on the internet as a whole is termed the Service Web .

Let's look at another example. Presumably you are familiar with search engines such as Google which can translate web content for you. In this way you can view an English language version of a web page that was written (or dynamically generated) in Spanish. The translated version is typically generated on the fly by software installed at the search engine's site. Traditionally, if you wanted to set up a new site with similar capabilities, you too would have to either write or buy some software to handle the translation and plug it in to your web server somehow. But in the new world of web services it may be possible to offload this work to a site with a dedicated translation web service exploitable via SOAP request.

The service method signature might look something like this:

String translate {
     String sourceLanguage;
     String targetLanguage;
     String textToTranslate;

Your search engine would take the requested page, fragment it into markup and text, and with each text fragment call the web service specifying the source and target languages. With the returned text and the original markup the page can be reconstructed.

Leaving certain details aside, such as standards for identifying languages or how the service provider might bill for usage, you can easily see how powerful the basic idea is. The Service Web will be the backbone of functionality for the coming generation of distributed applications. Imagine web services that provide stock quotes and currency conversions that you can incorporate into your own specialised applets. Or a web page that uses price catalog web services provided by online stores to scour the net for the best bargains. Imagine a wholesaler making available its inventory and prices over SOAP so that their partner on-line retailers can check availability and bulk order automatically in response to customer demand. Imagine your PDA being able to rebook your taxi and train reservations automatically in response to you rescheduling your afternoon meeting without needing to know any more than a single protocol and the URL for each service. The Service Web will allow everyone to concentrate on their own area of expertise and incorporate information and functionality from others' areas of expertise seamlessly.

Refer to XMethods for a list of web services already available publicly over the internet and ready to be incorporated into your distributed applications.

Of course, one big challenge will be indexing the Service Web so that services and their signatures can be easily found and exploited. Catering to this need are the WSDL and UDDI standards which work together to respectively define and locate web services (refer to the WSDL 1.1 Specification and for details). We will not go into detail on these standards on this site.

In this section we looked at what web services are and how the Service Web is poised to change the geography of the internet. Let's drop down to the lowest level now and look at what the SOAP messages actually look like.

[ Nicholas Quaine ]


Copyright 2001-2007 Nicholas Quaine. All rights reserved.