Labels

Thursday, July 17, 2008

13 - Anatomy of a UDDI

Hi,

Introduction -

· UDDI is an industry-wide initiative that defines a SOAP-based protocol for updating and querying Web Service information repositories.

· UDDI defines an API for interacting with a centralized Web Service information repository.

· Developers can register their services with a UDDI site, and other developers can query the site to find info.

· In order to support richer, more specific lookups, a UDDI site holds much more information than simply the WSDL document.

What's in a UDDI Repository -

· The UDDI specifications define the guidelines for publishing information about XML Web service.

· As per the guidelines, the XML schemas associated with UDDI define four types of information that you must publish to make your XML Web service accessible.

· UDDI repositories contains below information.

o Business Information,

o Service Information,

o Binding Information, and

o Service Specifications.

· The way UDDI organizes this information is similar conceptually to how it's done in a phone book with colored pages. UDDI uses White pages, Yellow pages, and Green pages the same way that the phone book does.

o The white pages include business name, address, and contact information.

o The yellow pages include categories based on standard taxonomies, and

o The green pages include the technical specifications and references.

UDDI – Better Discovery Mechanism

· An operator site implements the UDDI specification and allows users to publish their own Web Service information for increased exposure and query the site for others' Web Service information.

· Ironically, UDDI is itself a Web Service—all publish and inquiry operations are defined in terms of SOAP messages.

· Microsoft and IBM (are jointly developing UDDI) both have operating sites up and running today at http://uddi.microsoft.com and http://www-3.ibm.com/services/uddi/, respectively.

UDDI Programmer's API

· The UDDI Programmer's API is divided into two groups of operations: Inquiry and Publishing.

· The inquiry API provides operations for retrieving information from the registry.

· While the publishing API provides operations for publishing information to the registry.

· Anyone can use the inquiry APIs without being authenticated by the operator site.

· The find_XXX operations allow users to perform criteria-based queries for businesses, services, bindings, and tModels. The following code illustrates how to perform a business lookup by the company's name (in this case it's Microsoft).

<?xml version='1.0' encoding='utf-8'?>
<s:Envelope 
  xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
    <find_business generic="1.0" xmlns="urn:uddi-org:api">
      <name>Microsoft</name>
    </find_business>
  </s:Body>
</s:Envelope>

As you can see, invoking the UDDI find_business API is simply a matter of constructing the appropriate soap request message and sending it to one of the UDDI site endpoints. The SOAP response message contains the result of the API invocation.

· The get_XXX operations allow users to retrieve the details of a particular business, service, binding, or tModel. Once a service identifier has been obtained (such as after a call to find_business), you can call get_businessDetails to retrieve a full report of the specified service's details, as shown here:

<?xml version='1.0' encoding='utf-8'?>
<s:Envelope 
  xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
  <s:Body>
    <get_businessDetail generic='1.0' 
      xmlns='urn:uddi-org:api'>
      …….
    </get_businessDetail>
  </s:Body>
</s:Envelope>

· The save_XXX operations allow users to register new information or update existing information.

· The delete_XXX operations allow users to remove information from the registry.

UDDI SDK –

· Microsoft provides the UDDI SDK to help simplify writing UDDI client applications against the UDDI programmer's API.

· The UDDI SDK hides all traces of XML/SOAP by allowing the developer to work with native objects.

· The latest version of the UDDI SDK, 1.75, is designed for use in conjunction with the .NET Framework.

Thanks & Regards,

Arun Manglick || Senior Tech Lead

No comments:

Post a Comment