You are on page 1of 20

UDDI (Universal Description, Discovery, and Integration)

An Overview

Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality :

1.0 07 Feb 2006 20 Gabriele Zacco (

Draft Public

[] []

Proposal [ ] Internal [ X ]



Restricted [ ]

UDDI in a Nutshell
UDDI is a open, cross-industry effort driven by major platform and software providers, as well as marketplace operators and e-business leaders within the OASIS standard consortium It defines a standard method for publishing and discovering the network-based software components of a serviceoriented architecture UDDI creates a standard interoperable platform that enables companies and applications to quickly, easily and dynamically find and use Web services over the Internet

A Bit of History
UDDI V1.0 (2000): Create foundation for registry of Internetbased business services UDDI V2.0 (2003): Align specification with emerging Web services standards and provide support for flexible, external taxonomies

UDDI V3.0 (Feb 2005): Support secure interaction of private and public implementations as key element of service-oriented infrastructure.

Has been implemented in many products by numerous vendors and open source communities

Many vendors are developing products that implement the UDDI V3.0 specifications This specification reflects the understanding of the need of supporting mostly business internal Web services infrastructure rather than highly distributed ones. Current implementation recognizes the need for federated control in real-world environments and further integrates the standard with other elements of service oriented infrastructure

Currently the OASIS UDDI Specification TC is working on improving security, trustworthiness, semantics, and alignment with the Web Service Architecture and other standards

UDDI and Web Services

The UDDI protocol is another XML-based building block of the Web services stack along with SOAP (standard for invoking remote operations) and WSDL (standard for specifying what these operations look like) UDDI supplies an infrastructure for systematically addressing needs such as discovery, manageability and security of Web services beyond what is the simple organization of their interactions By addressing integration, coordination and flexibility issues of service-oriented systems, UDDI plays an important role within the service-oriented approach to enterprise software design

Accessing Web Services with UDDI

In some cases it may be that the information that are necessary to access Web services are known and thus directly stored within the applications that use them Nonetheless it is possible that the definitions and descriptions of such services (WSDL) are published to be discovered on ad hoc on-line registries UDDI defines how these registry should be designed and how to use them to describe, publish and discover services on a network Rather than forcing applications to include information about an external service's application programming interfaces, UDDI registry provide this binding information dynamically, at run-time UDDI guarantees flexibility with respect both to the dynamic runtime changes that occur during the life-cycle of web services and to the evolution of web application requirements

UDDIs Role in WS Software Development

By adopting UDDI, it turns out that convenience for developers, requirements of enterprise architects, and underlying business policies are not in opposition UDDI facilitates Web services software development by providing systematic, interoperable, standards-based:
Management of the development process of web services Approach for documenting and publishing web services Organizations and managing of web services across multiple systems and development teams Documenting interface specification through teams and through time and for external applications above all in case of change

UDDI help drive better code reuse and developer productivity (can help developers - across groups - find a shared service and use that service within their own applications)

UDDIs Role in SO Infrastructure

UDDI facilitates Service-Oriented Infrastructure:
Insulates critical applications from changes or failures in backend services:
Provides a formal layer of indirection (almost a firewall) necessary for service-oriented application development and management, useful for accommodating changes in the life cycle of specific components (updates, policy considerations, service termination)

Helps an organization share information about services in a controlled way that reflects its own business rules and policies:
Client authentication and publish/subscribe for peer registries satisfy operational governance needs as control of the publication and distribution of information about deployed services according to business policies

Solutions are not hard-coded but takes advantage of runtime binding

UDDI from the Businesses Point of View (1/2)

The UDDI Project enables businesses to:
Discover each other Define how they interact over the internet and share information in a global registry architecture Enact policy-based distribution and management of enterprise web services Any industry, of any size, worldwide, offering products and services can benefit from this open initiative because the specifications comprehensively addresses problems that limit the growth and synergies of B2B commerce and Web services.

The UDDI project is not industry specific

Before the UDDI project, there was no industry-wide approach for business to reach their customers and partners with information about their products and Web services, nor there was a method of how to integrate into each other's systems and processes. UDDI is the building block that enables businesses to quickly, easily and dynamically find and transact with one another via their preferred applications.

UDDI from the Businesses Point of View (2/2)

Problems solved:
Makes it possible for organizations to quickly discover the right business from millions currently on line Defines how to enable commerce to be conducted once the preferred business is discovered

Immediate benefits for businesses:

Reaching new customers Expanding offerings Extending market reach Increasing access to current customers Solving customer-driven need to remove barriers to allow for rapid participation in the global Internet economy Describing their services and business processes programmatically in a single, open and secure environment Using a set of protocols that enables businesses to invoke services over the internet to provide additional value to their preferred customers

UDDI Features
UDDI is similar to the concepts of DNS and yellow pages In short, UDDI provides an approach to:
Locate a service Invoke a service Manage metadata about a service

UDDI specifies:
Protocols for accessing a registry for Web services Methods for controlling access to the registry Mechanism for distributing or delegating records to other registries


UDDI Specifications
UDDI defines:
SOAP APIs that applications use to query and to publish information to a UDDI registry XML Schema schemata of the registry data model and the SOAP messages format WSDL definitions of the SOAP APIs UDDI registry definitions (technical model - tModels) of various identifier and category systems that may be used to identify and categorize UDDI registrations

The UDDI Specifications Technical Committee also develops Technical Notes and Best Practice documents that aid users in deploying and using UDDI registries effectively


UDDI Registry Service

The UDDI specifications define a registry service for Web services and for other electronic and non-electronic services A UDDI registry service is a Web service that support the description and discovery of service providers, service implementations, and service metadata UDDI is a meta service for locating web services by enabling robust queries against rich metadata. Service providers can use UDDI to advertise the services they offer Service consumer can use UDDI to discover services that suites their requirements and to obtain the service metadata needed to consume those services.


UDDI Registry
Functional purpose: representation of data and metadata about Web services Either for use on a public network or within on organizational internal infrastructure Offers standards-based mechanism to classify, catalog and manage Web services so that they can be discovered and consumed by other applications Implements generalized strategy of indirection amongst services based applications Offers benefits to IT managers both at design and run-time, including code reuse and improving infrastructure management


UDDI Registry Types

UDDI allows operational registries to be maintained for different purposes in different contexts A business may deploy one or more:
Private registries:
Isolated from the public network, firewalled Restricted access No shared data Unrestricted open and public access Data is shared with other registries Controlled environment Access limited to authorized clients Data shared in a controlled manner

Public registries:

Affiliated registries

Private registry supports intranet applications, while a public registry support extranet applications Affiliated registries supports all other infrastructural topologies e.g., involving delegation, distribution, replication, subscription, that reflects the realities and the relationship of the underlying business processes


UDDI Registry Data Model

The core information model of UDDI registries is made of several data structures:
businessEntity (info about the organization that published the service) businessService (description of a service business function) bindingTemplate (services technical details, including a reference to the API) tModel (attributes or metadata about the service such as taxonomies, transports, digital signatures) publisherAssertions (relationship among entities in the registry, v2.0) Subscription (standing request to track changes to a list of entities)

Each data structure within a given registry is assigned a unique UDDI key UDDI allows users to specify different taxonomies for providing semantic structure to the information about Web services contained in a registry


UDDI Servers
UDDI specifies hierarchical relationship between a single instance of a UDDI implementation and others to which it is related UDDI Servers can be:
Nodes: supports a minimum set of functionalities of the specification (they are member of exactly one registry) Registry: composed of one or more nodes; supports the complete set of functionalities of the specification Affiliated registry: registry that implements a policy-based sharing of information together with other affiliated registry

Registry Affiliation is the main achievement of UDDI V3.0

Recognition that UDDI is to support the design and operations of myriads software applications within and among business organizations (not only private/public registries)


Features that supports core data management:
Publishing information about a service to a registry Searching a UDDI registry for information about a service

Features that supports registry interaction:

Replicating and transferring custody of data about a service Registration key generation and management Registration subscription API set Security and authorization

These are divided in Node API Sets (for UDDI Servers) and Client API Sets (for UDDI Clients)


UDDI Solutions
Several categories of product and components
UDDI Registry Server, UDDI-enabled IDEs and development tools, Java and .NET client toolkits and browsers, UDDI-integrated Web services platforms

Supplied by multiple vendors, consortia and also available as open source, BEA, IBM, Microsoft, Oracle, SAP, Sun, Systinet,

jUDDI is an open sourceJava based implementation of a UDDI v2 registry and a toolkit UDDI4J is a Java class library that provides an API to interact with a UDDI registry Java Web Service Developer Pack by Sun Web Application Server by SAP Webshpere UDDI Registry by IBM


WS-Discovery WS-Inspection (Microsoft, IBM) specification (XML straight forward document structure) address the problem of finding a WSDL description for a given web service or its UDDI description and is going to become important, more than UDDI within the three big web services technologies.


APPENDIX: UDDI Business Registry (UBR)

Free, public implementation of the UDDI standards, jointly operated by IBM, Microsoft, NTT Communications and SAP, represents a registry of publicly available ecommerce services where was free to publish information to any of the UBR nodes and to query any of these. It has represented an ideal environment for validating and proposing changes to the standard of which it was a highly visible reference implementation UDDI V3.0 was approved as an OASIS standard in February 2005. Having achieved that milestone, the companies hosting the UDDI Business Registry (UBR) evaluated the results of hosting a reference implementation for the UDDI technology. Since the fall of 2000, the UBR has been a significant asset for testing during the development of the three versions of the UDDI specifications and the vendor software based on it. UBR also provided a proof of concept for early Web services business applications. Considering that Web service and UDDI specifications are now mature standards and the significant number of vendor supplied UDDI products that are available, hosting this registry is no longer necessary. Over the past five years, as Web services applications have matured, the role of UDDI based registries has also evolved in part based on testing experiences with UBR. Registries based on UDDI have been established within enterprises and organizations and have an important role in Web services business applications. The availability of UBR provided valuable validation and guidance during the early days of UDDI. With the fulfillment of these goals, the UBR was discontinued