Soon after the announcement of UDDI came the Web Services Description Language (WSDL), a companion to UDDI, authored by Microsoft, IBM, and Ariba, the same companies that developed UDDI. WSDL offers an XML protocol for describing network services based on XML.WSDL is now also submitted to the W3C as a Note and steps are underway to work formally on WSDL (www.w3.org/TR/wsdl) in the context of related work within the W3C. An extended version of WSDL is a vital component to the delivery of the next generation of web services, and also to orchestrating business processes via the Internet itself. From the ebXML user 's perspective,WSDL could make it possible in the future to process the ebXML Business Process Specification Schema. WSDL builds on earlier XML vocabularies that define network protocols such as Information and Content Exchange[22] and Web Distributed Data Exchange.[23] Like UDDI,WSDL uses SOAP for its messaging functions to exchange data among remote applications, but can also use MIME and native HTTP transport protocols.[24] WSDL ElementsThe services defined in WSDL have five major elements:
WSDL doesn't develop a large-scale new vocabulary, but relies mainly on the XML Schema specification for defining much of its content. The data types defined in the Types element in WSDL recommend XML Schema by name as preferred resource. WSDL messages also make use of XML Schema by defining component elements with qualified names ( QNames ) data types as specified in XML Schema. Each portType is defined in terms of the operations it supports. WSDL identifies four basic kinds of operations:
The bindings define the details of the message format and protocol for each operation identified for each portType . Each binding is given a unique name, with corresponding input, output, and fault for each operation. At many points in the specification, WSDL allows for references to outside resources, called Extensibility Elements. These external resources allow services defined with WSDL to call up any number of other service definitions for their message formats and protocols. However, WSDL requires extensibility elements to use XML namespaces different from WSDL, a sensible requirement to prevent potential duplication in naming conventions.[25] |