http://www.sajim.co.za/news.main.3nr1.asp?print=1 News Vol.3(1) June 2001 An Overview of WSDL Margaret van Steenderen Margaret.vansteenderen@commercequest.co.za Pierre van Dyk pvandyk@global.co.za With XML still catching on like wildfire, now is the exciting time as applications, services and protocols are built using XML as the foundation. This column provides an overview of the Web Services Description Language (WSDL). Introduction WSDL is a specification that is part of the UDDI initiative. A very brief recap of UDDI: It provides a business registry, enabling businesses to find each other through supplying: General Business Information Business Categories Business rules enabling business transactions What is needed on a technical level for business interaction The last point, what is needed on a technical level, is where WSDL comes in. What is WSDL? According to Microsoft, 'WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure- oriented information'. Just like it’s name, Web Services Description Language, WSDL is used to describe. Service providers can describe the basic format of requests to their systems using WSDL. This is done through WSDL having three components, these are: 1. Message. Defines the format of the messages, described in a neutral way. This means that the client and server do not need to be running similar databases, or databases that are compatible in some way with each other, it is the actual message that is important. It describes what data in the form of messages is required to do business. It then describes what possible return messages there will be. It may describe an error message format should this be applicable. 2. Binding. This is the communication information that is required, that is, the types of transport protocols, for example, SOAP transported over HTTP. 3. Service. The service ties the messages to the binding. This is because there could be multiple messages that require different types of communication layers. It also provides the location of the service, for example, a specific Internet address. Example The following is a reduced example of WSDL that queries and provides a reply about a person’s credit rating using their South African identity number. The pre-emptory name space definitions have been left out. The message format here describes that an Identity Number is needed in a string format and that a credit rating description will be returned, also in a string format The binding information above describes the communications protocol to use, namely SOAP over HTTP. example.com CreditRating service The above describes the location as well as providing a description of the service. Business benefits WSDL describes a company’s web services so that companies that wish to do business can easily see what is needed in order to do business. WSDL does not prescribe to the client what needs to be run, and the client does not need to know exactly what the server is running, so the applications is loosely coupled. So, WSDL is designed to be platform and language independent, it defines interfaces and describes the service to allow data interaction. UDDI enables companies to not only find each other, but through WSDL allows companies to initiate transactions without a lot of interaction between technical staff and potentially between previously incompatible systems. Conclusion The news columns have been presenting overviews of XML, SOAP, UDDI and now WSDL. These tie together to produce a powerful new tool for the modern enterprise called web services. A web service allows companies to build loosely coupled distributed applications with clearly defined interfaces. See web services as the bricks and mortar for the world of distributed computing. Useful Web sites http://www.w3.org/TR/wsdl or http://msdn.microsoft.com/xml/general/wsdl.asp - the WSDL standards (these two sites are the same, use whichever is easier to load) http://www-106.ibm.com/developerworks/library/ws-soap/?loc=wstheme - ties WSDL and SOAP together http://www.alphaworks.ibm.com/ - provides toolkits, such as a WSDL toolkit and a Web Services toolkit http://xml.coverpages.org/wsdl.html - gives a history and general information on WSDL Disclaimer Articles published in SAJIM are the opinions of the authors and do not necessarily reflect the opinion of the Editor, Board, Publisher, Webmaster or the Rand Afrikaans University. The user hereby waives any claim he/she/they may have or acquire against the publisher, its suppliers, licensees and sub licensees and indemnifies all said persons from any claims, lawsuits, proceedings, costs, special, incidental, consequential or indirect damages, including damages for loss of profits, loss of business or downtime arising out of or relating to the user’s use of the Website. ISSN 1560-683X Published by InterWord Communications for the Centre for Research in Web-based Applications, Rand Afrikaans University