Back to Articles Page
We've made it - the whole concept of Web Service is taking off. Certain companies have already taken the plunge and have joined support and development groups in an effort to standardize Web Service Description Languages, while others are concentrating on hosting and referencing primary services. Here's how XML, SOAP and, more recently, UDDI and WSDL are making this possible.
Hosting Web Services and supporting deployment
site is a portal which aims to promote Web Services. To
this end, its three founders offer, free of charge, the
possibility of using or offering Web Services of public
interest with the aim of boosting their creation, deployment
and use. Various SOAP implementations are available; these
currently include a Java implementation, ApacheSOAP,
and a Perl implementation, SOAP::Lite.
To be completely usable with most SOAP implementations, as XMethod suggests, a Web Service should provide a complete description which includes the following elements:
SOAP End point URL: URL where the SOAP server
receives the SOAP request
SOAPAction: Some services may demand
a SOAPAction Header
Method Namespace URI: URI (Univeral
Resource Identifier) of the object for which the
method is called
Method Name(s): Name of the available
E.g.: getStockQuote, getMarketCap
WSDL URL: URL of a file which fully
describes a service in WSDL format. The WSDL description
is all that is needed to execute the service.
Instructions: Instructions for use
Server Implementation: Writing environment
necessary for interoperability
E.g.: SOAP::Lite for Perl v0.35
Sample URL Client Code: Source code
of the downloadable example
The examples shown on the XMethods site are very varied: translation using BabelFish Altavista, Verification of Domain Name, Ping Test, FedEx Package Tracking display of price of books at Barnes&Nobles.
Each service uses either the Perl implementation (SOAP::Lite) or the Java one (ApacheSOAP), but other initiatives have led to new listed implementations such as 4s4c.
For the majority of these services the code of the client example is available and ready for use. You simply need to configure your station using an appropriate implementation. This rapid and effective installation enables you to access SOAP services via a simple process, which consists in invoking a SOAP object which defines its end point, URI and the method to be called corresponding to the service requested.
We carried out interoperability tests between Java and Perl implementations and these proved conclusive. We will discuss these aspects in more detail in a later article.
In order to avoid the security restrictions imposed by certain companies, XMethods has made all its services available on port 80 (standard port for HTTP). In addition, XMethods tries as far as possible to provide the WSDL associated with each service, as more and more implementations rely on this description language to call Web Services.
WSDL: Web Service Description Language
As with any IDL (Interface Definition Language) which plays the role of service describer in CORBA, WSDL is an XML syntax used to describe Web Services. Its specifications are the result of a joint effort from Microsoft, IBM and Ariba.
Microsoft already has a SOAP service description language called SDL (Service Definition Language). SDL, although present in November's SOAPToolkit version, is replaced by WSDL (Web Service Definition Language) in the new version, Toolkit 2.0 Beta 1, as Microsoft is currently repositioning itself.
The same three companies (Microsoft, IBM and Ariba) are also behind another initiative called UDDI (Universal Description, Discovery and Integration), whose aim is to form a series of directories which will reference companies offering B2B oriented services and, more specifically, Web Services. The first implementation of the Business Registry UDDI project was launched in November 2000 with the participation of Ariba, IBM and Microsoft, all three of whom are operating a distributed UDDI base (UDDI Registry). Although launched outside of the UDDI group, the WSDL specification should quickly find its niche within UDDI as a standard for describing Web Services.
The WSDL specification is available on IBM's developerWorks site and on Microsoft's site. WSDL is an important factor in the development of SOAP, and it facilitates the interoperability of Web Services. An increasing number of SOAP implementations support this description language. Thanks to WSDL, SOAP implementations can self-configure exchanges between Web Services while masking most of the technical details.
A WSDL document has clearly defined sub-elements. It begins with the tag which describes the service called, and has several sub-tags to ensure the sequence of a SOAP message.
<binding name="BabelFishBinding" type=
-> Definition of conveyed data which is the input/output of the XML Payload of a SOAP message (see the SOAP article in our December issue for details on Payload).
<part name="translationmode" type="xsd:string"
<part name="sourcedata" type="xsd:string"
-> All of the operations supported by specified break points.
Address (location) of the endpoint, service name and associated comments.
<port name="BabelFishPort" binding="BabelFishBinding">
Moving towards Web Service portals
Various sites featuring technical articles, examples of code and
forums are cropping up on the Web. For example, PerfectXML for SOAP or Soaprc.com are Web sites offering support, mailing lists and resources for SOAP.
There are also many other resources available, and we have listed some of these at the end of this article.
Worth special mention are the portals which reference available Web Services, although their content can be fairly sparse or simply formulated. This is the case with The Mind Electric, presented as a Web service portal which aims to "design, build and license forward-thinking distributed computing infrastructure." Although still incomplete, this type of portal should develop quickly, using UDDI in particular.
The concept of Web Services has frequently featured in recent TrendMarkers articles, such as No place like Smart home (December 2000) and The Ins and Outs of Web Syndication (November 2000).
It is easy to pinpoint the building blocks which today are enabling the concept of Web Services to become a reality:
- XML : a technology used to describe information
- UDDI : to find the necessary services
- WSDL : to describe how Web Services work
- SOAP : to remotely execute Web Services
These four technologies are closely linked, although closer inspection highlights the two basic standards that have led to the Internet's success: HTTP and XML (bear in mind that HTML is derived from XML).
This is why we recommend that you begin experimenting with all of this technology within your distributed applications.
Technical information, samples, articles:
Java - IBM/Apache:
.NET - Microsoft
Perl - SOAP::Lite - Paul Kulchenko:
Zvon.org - IdooXoap:
4S4C - Simon Fell:
Web Service Directories:
Back to Articles Page