Mark Johnson
In this continuing series covering the basics of Web services, I've
described Web services and explained how to format requests to them (as
XML) and how to communicate with the services using SOAP. Yet, given
that I know a Web service exists, how do I know where on the Web it
might be available? How do I know just what sort of message to send?
How do I know the format of a SOAP envelope's contents so that the
remote server will understand what I want done?
The Web Services Description Language (WSDL) is an XML format for
describing Web services. Completed by Microsoft, IBM, and Ariba last
September (2000), WSDL form part of IBM's Web Services Toolkit (see
RESOURCES), Microsoft's .Net technology, and Sun Microsystems' SunONE
Web-services platform.
A WSDL document defines several things to support description of Web
services:
- services – information or data processing available somewhere on
the Web;
- ports – addresses where a service is available (a particular
service may be available at multiple ports);
- messages – describe the structure of the data passed to and
returned from services through ports;
- operations – tie messages and method calls together (indicating
which methods take which arguments);
- portTypes – group related operations;
- data types – used to define messages, described in XSD (XML
Schema);
- bindings – "ground" the abstract data types and structures
defined in WSDL to actual data representations.
WSDL is an XML application that models making information services
available over the Web in a transport-independent way. WSDL's
flexibility comes at the cost of some complexity. Despite a simple
underlying idea, WSDL takes a bit of effort to learn. Still, WSDL is
poised to become a major enabling technology for the
developing "service Web".