An overview of the IBM V3 UDDI Registry

The Universal Description, Discovery and Integration (UDDI) specification defines a way to publish and discover information about Web services. The term 'Web service' describes specific business functionality exposed by a company, usually through an Internet connection, to allow another company, or its subsidiaries, or software program to use the service. We can find the UDDI specification on the OASIS UDDI Web page.

The UDDI specification defines a standard for the visibility, reusability and manageability essential for a Service Oriented Architecture (SOA) registry service.

IBM WebSphere UDDI Registry

The IBM WebSphere UDDI Registry is a directory for Web services that is implemented using the UDDI specification. It is a component of WebSphere Application Server V6.

A critical component of IBM's on-demand Service Oriented Architecture, the IBM WebSphere UDDI Registry solves the problem of discovery of technical components for an enterprise and its partners by:

  • Providing control, flexibility and confidentiality so that an enterprise can protect its e-business investments

  • Increasing efficiency by making it easier to identify technical assets

  • Leveraging existing infrastructures

For example, the IBM WebSphere UDDI Registry could be used in the following way within a larger enterprise:

A company has a legacy application that provides telephone numbers and Human Resources (HR) information about employees. This is turned into a Web service and published to the registry. A developer in the same company needs to write an application for a procurement function that also needs to provide HR information to the supplier. The application should allow the supplier to have access to the employee account codes once the employee provides his name or serial number. Before Web services, the developer would have been in one of the following situations:

  • The developer would not have known about the similar application

  • The developer would have known about the application, but been unable to reuse it due to technical barriers

  • The developer would have known about the application and reused it only after significant time and negotiation

With UDDI, the developer can search for the Web service and reuse the existing technical component in their new application for the supplier in a matter of minutes. The developer saves time and gets the application up and running sooner than they would have otherwise, thereby increasing efficiency and saving the company time and money. The IBM WebSphere UDDI Registry was the first version 2 standard-compliant UDDI registry for private enterprise work. The IBM WebSphere UDDI Registry in WAS v6 builds upon previous versions and:

  • Supports the UDDI V3.0 specification in addition to the Version 1.0 and V2.0 standard APIs.

  • Leverages the proven, reliable WAS technology

  • Uses a relational database, such as DB2, for its persistent store

 

What's new in UDDI V3

The main aspects of the UDDI V3 specification that are provided within WebSphere Application Server V6 are as follows (there are also some additional capabilities provided by the IBM WebSphere UDDI Registry in WebSphere Application Server v6 which are described in a section below) :

Improved recognition of the importance of Private UDDI Registries

These are registries that are installed, owned, managed and controlled by a separate body such as a department within a company, a company, an industry consortium or an e-marketplace.

Publisher-assigned keys

This allows the publisher of a UDDI entity to specify its key, rather than having a unique key assigned by the registry. As well as allowing more human-friendly, URI-based keys, this also makes it easier to manage multiple registries.

UDDI Information Model improvements

The UDDI data structures have been extended in a number of ways which improve the ability of UDDI to represent businesses and services via metadata.

Security Enhancements

The introduction of digital signatures provides additional security. Each of the main UDDI entities can be digitally signed, thus improving the integrity and trustworthiness of UDDI data.

Ownership transfer APIs

These allow the ownership of a UDDI entity to be transferred from one publisher to another.

UDDI Policy

Allows the behavior of a UDDI Registry to be defined by setting policy, thus recognizing the various different environments in which a UDDI Registry will be used.

HTTP GET support for UDDI entities

The HTTP GET service is extended beyond the scope for discovery URLs that is a part of the UDDI V2 specification. The service allows HTTP GET to be used to access XML representations of each of the UDDI data structures.

 

Additional Capabilities provided by the UDDI Registry

The V3 UDDI Registry provided in WAS v6 provides the following capabilities in addition to support for the UDDI Version 3 specification:

V2 UDDI Inquiry and Publish SOAP API compatibility

Backward compatibility is maintained for the V1 and V2 SOAP Inquiry and Publish APIs.

UDDI Admin Console extension

The WAS V6 Administrative Console includes a section which allows administrators to manage UDDI-specific aspects of their WebSphere environment. This includes the ability to set defaults for initialization of the UDDI node (such as its node ID), and to set the UDDI V3 Policy values.

UDDI Registry Administrative Interface

A JMX administrative interface allows administrators to manage UDDI-specific aspects of the WebSphere environment programmatically.

Multi-database support

The UDDI data is persisted to a registry database. In WAS Version 6 the databases that the UDDI Registry supports are DB2, Cloudscape, and Oracle. Support is provided for remote access to these databases.

User-defined Value Set support

This allows users to create their own categorization schemes or value sets, in addition to the standard schemes, such as NAICS, that are provided with the UDDI registry.

UDDI Utility Tools

UDDI Utility Tools allow importing and exporting of entities using the UDDI Version 2 API.

UDDI user interface

The UDDI user console supports the Inquiry and Publish APIs providing a similar level of support for the V3 APIs as was offered for UDDI V2 in WebSphere Application Server V5.

UDDI V3 Client

The IBM Java Client for UDDI V3 is a Java client for UDDI which handles the construction of raw SOAP requests for the client application. It is a JAX-RPC client and uses V3 datatypes generated from the UDDI V3 WSDL and schema. These datatypes are serialized or deserialized to the XML which constitutes the raw UDDI requests.

UDDI V2 Clients

The following clients for UDDI V2 requests are provided:

  • UDDI4J - a Java class library for issuing UDDI requests. This was provided in WebSphere Application Server V5 for both UDDI V1 requests (uddi4j.jar) and V2 requests (uddi4jv2.jar). These class libraries continue to be supported but are now both deprecated.

  • JAXR - the Java API for XML Registries is a Java client API for accessing UDDI and ebXML registries. WAS 6.0 provides a JAXR Provider for accessing the IBM WebSphere UDDI Registry. It conforms to the JAXR 1.0 specification.

  • EJB - an EJB interface for issuing UDDI version 2 requests. This continues to be supported but is now deprecated.