WSDL is the XML equivalent of a resumeit describes what a web service can do, where it resides, and how to invoke it. If you're familiar with CORBA or COM, think of WSDL as the web services equivalent of Interface Definition Language (IDL) and type libraries.
One of the main ideas behind web services is that applications of the future will be assembled from a collection of network-enabled services. As long as two equivalent services are able to advertise themselves to the network in a standard and neutral way, an application could theoretically choose between alternative competing services based on criteria such as price or performance. In addition, some services could be copied between machines, enabling an application to improve its performance by dynamically installing services into its local storage.
If you think about it, this is similar to how the human labor market works. Job sites and recruiting companies provide a matchmaking service between workers and employees, utilizing resumes and job descriptions to facilitate the matching process. If a good match is found, the interested parties attempt to negotiate acceptable terms. If an agreement is reached, the worker either moves to the employer's location or takes advantage of the Internet and telecommutes instead.
To get a sneek peek at a WSDL file, run the TraderServer program from the previous section, then enter http://localhost:8003/soap/trader.wsdl into your web browser. The WSDL for the trader web service is displayed, and should look like Figure 1.13.
The meaning of the various fields in a WSDL file are described in the WSDL chapter, together with information about how to use WSDL to automatically generated client-side bindings for a web service.
FIGURE 1.13 The trader web service
WSDLNow that we have a way to describe the characteristics of a web service, we need a way to publish the WSDL so that other SOAP clients can find the service and bind to it. Let's take a look at UDDI, the web services matchmaker.