This chapter described the function of WSDL for a Web-service-based architecture. WSDL provides one form of Web service description, the functional description. The functional description of Web services falls into two broad areas: the abstract service definition, containing the service interface definition, and the service implementation description, containing the protocol binding and deployment information. Vendor tools (e.g., xrpcc) may use this information to generate all the Java classes necessary for enabling a Web service client to invoke a Web service implementation.
The abstract service description is reusable across many implantations of a service, and an industry group may publish the abstract service description, so any service producer can provide a conforming implementation. A well-structured WSDL document should, therefore, separate the two and use the import element within the WSDL for service implementation to refer to the service interface WSDL.
The functional description of a Web service is essential for implementers and users of the service, but there are other forms of Web service description that WSDL does not address. Describing how Web services can be orchestrated or combined to create more complex Web services and describing the quality of service (service level agreements) promised by a Web service implementation are addressed only in the ebXML specification suite. Chapter 17 describes some emerging non-ebXML specifications that address these areas.