WSDL eliminates need for human intervention

Staying true to its name, the Web services description language describes the Web services that are being offered by a company.

WSDL, which is sometimes pronounced “wizdle,” allows a company to sum up the services it’s offering and outlines the information needed to invoke that service.

So if a company were offering a credit card authorization service to other vendors, the variables that vendors would need to send to the authorization service – in this case the credit card number, expiry date and amount of the purchase – would sit in the WSDL file.

WSDL is similar to the interface definition language (IDL) used in CORBA, said Nick Gall, a senior vice-president at Meta Group Inc. in Samford, Mass.

Web services is nothing more than another attempt at distributed computing, said Steve Holbrook, a program director for emerging e-business standards with IBM Corp. in Orem, Utah. It’s something the industry has attempted many times in the past, including with CORBA, said Holbrook, who also sits on the advisory board at the W3C, the World Wide Web Consortium, a standards body.

WSDL is to Web services what IDL was to CORBA. IDL enabled a person to describe programmatic interfaces such that they were callable by other programs. Other programmers could read this description and know exactly what the service would do for them; what kind of functionality was being offered; and what the expectations were in terms of parameters. Basically, it’s the ability to describe an API in a platform-independent and programming language-independent fashion. It was up to the caller who was going to invoke the function to convert it from the native programming language, whether it was Java, C or C++, into the universal format – IDL. Then it was translated at the service junction point into the language in which the service was written.

That’s very similar to the way WSDL works, Holbrook said, with one important difference. WSDL uses the Web infrastructure to transmit the information – CORBA wasn’t using as common an infrastructure as currently exists with the Web.

There’s another key difference as well, he said. The WSDL file is an XML-based document.

CORBA didn’t have the “powerful description capability” that comes with XML, which is at the heart of all Web services, he said.

“WSDL is imperative to eliminating the need for human intervention,” said Michael Flynn, the senior product manager for developer tools at Microsoft Canada in Mississauga, Ont. WSDL makes it possible to connect to someone else’s Web service without ever having to talk to that person or organization. A programmer could just look up a Web service on the Internet using UDDI, the Universal Description, Discovery and Integration directory, a yellow pages of Web services, and find out what they need to use that Web service in the WSDL document.

WSDL allows you to use the services of companies you don’t have an existing relationship with, said Kirk Farquhar, director of systems engineering at Borland Canada in Toronto. In order to find out how to use another company’s service, a programmer could potentially phone up that company and be manually walked through the process of writing code to connect to that service, but this assumes a pre-existing relationship, Farquhar said. By looking up a service on UDDI and then accessing the WSDL document, a programmer no longer has to have a direct relationship with a company in order to use its service.

Although WSDL is fairly easy to pick up, it takes time and training to create complex files, Gall said, adding, however, that there are tools that will allow you to create documents automatically.