Arrao4u

…a blog by Rama Rao

Archive for the ‘WSDL & UDDI’ Category

WSDL & UDDI

Posted by arrao4u on December 19, 2009

What is WSDL?

The Web Services Description Language (WSDL) currently represents the service description layer within the Web service protocol stack.
In a nutshell, WSDL is an XML grammar for specifying a public interface for a Web service. This public interface can include the following:

Information on all publicly available functions.
Data type information for all XML messages.
Binding information about the specific transport protocol to be used.
Address information for locating the specified service.

WSDL is not necessarily tied to a specific XML messaging system, but it does include built-in extensions for describing SOAP services.

Below is a sample WSDL file. This file describes the public interface for the weather service used in the SOAP example above. Obviously, there are many details to understanding the example. For now, just consider two points.
First, the <message> elements specify the individual XML messages that are transferred between computers. In this case, we have a getWeatherRequest and a getWeatherResponse. Second, the element specifies that the service is available via SOAP and is available at a specific URL.
<?xml version=”1.0″ encoding=”UTF-8″?>
<definitions name=”WeatherService”
targetNamespace=”http://www.ecerami.com/wsdl/WeatherService.wsdl&#8221;
xmlns=”http://schemas.xmlsoap.org/wsdl/&#8221;
xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/&#8221;
xmlns:tns=”http://www.ecerami.com/wsdl/WeatherService.wsdl&#8221;
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”&gt;
<message name=”getWeatherRequest”>
<part name=”zipcode” type=”xsd:string”/>
</message>
<message name=”getWeatherResponse”>
<part name=”temperature” type=”xsd:int”/>
</message>

<portType name=”Weather_PortType”>
<operation name=”getWeather”>
<input message=”tns:getWeatherRequest”/>
<output message=”tns:getWeatherResponse”/>
</operation>
</portType>

<binding name=”Weather_Binding” type=”tns:Weather_PortType”>
<soap:binding style=”rpc”
transport=”http://schemas.xmlsoap.org/soap/http”/&gt;
<operation name=”getWeather”>
<soap:operation soapAction=””/>
<input>
<soap:body
encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/&#8221;
namespace=”urn:examples:weatherservice”
use=”encoded”/>
</input>
<output>
<soap:body
encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/&#8221;
namespace=”urn:examples:weatherservice”
use=”encoded”/>
</output>
</operation>
</binding>

<service name=”Weather_Service”>
<documentation>WSDL File for Weather Service</documentation>
<port binding=”tns:Weather_Binding” name=”Weather_Port”>
<soap:address
location=”http://localhost:8080/soap/servlet/rpcrouter”/&gt;
</port>
</service>
</definitions>

Using WSDL, a client can locate a Web service, and invoke any of the publicly available functions. With WSDL-aware tools, this process can be entirely automated, enabling applications to easily integrate new services with little or no manual code. For example, check out the GLUE platform from the Mind Electric.
WSDL has been submitted to the W3C, but it currently has no official status within the W3C. See this W3C page for the latest draft.

What is UDDI?
UDDI (Universal Description, Discovery, and Integration) currently represents the discovery layer within the Web services protocol stack.
UDDI was originally created by Microsoft, IBM, and Ariba, and represents a technical specification for publishing and finding businesses and Web services.
At its core, UDDI consists of two parts.
First, UDDI is a technical specification for building a distributed directory of businesses and Web services. Data is stored within a specific XML format, and the UDDI specification includes API details for searching existing data and publishing new data.

Second, the UDDI Business Registry is a fully operational implementation of the UDDI specification. Launched in May 2001 by Microsoft and IBM, the UDDI registry now enables anyone to search existing UDDI data. It also enables any company to register themselves and their services.
The data captured within UDDI is divided into three main categories:
White Pages: This includes general information about a specific company. For example, business name, business description, and address.
Yellow Pages: This includes general classification data for either the company or the service offered. For example, this data may include industry, product, or geographic codes based on standard taxonomies.

Green Pages: This includes technical information about a Web service. Generally, this includes a pointer to an external specification, and an address for invoking the Web service.

You can view the Microsoft UDDI site, or the IBM UDDI site. The complete UDDI specification is available at uddi.org.
Beta versions of UDDI Version 2 are available at:
Hewlett Packard
IBM
Microsoft
SAP

Posted in ASPNET, Web Services, WSDL & UDDI | Leave a Comment »