Knowledge base pages provide a reliable basis of technical and educational information on the UDDI OASIS Standard. Content is created and maintained by the UDDI XML.org Editorial Board.
The Universal Description, Discovery, and Integration (UDDI) protocol is an approved OASIS Standard and a key member of the Web services stack. It defines a standard method for publishing and discovering the network-based software components of a service-oriented architecture (SOA). UDDI is advanced by the OASIS UDDI Specification Technical Committee.
UDDI in a Web Services World
The specification defines a group of Web services and programmatic interfaces for publishing, retrieving, and managing information about services. (In true SOA fashion, a UDDI registry is itself composed of Web services!) UDDI builds upon several other established industry standards, including HTTP, XML, XML Schema (XSD), SOAP, and WSDL. The conceptual relationship between UDDI and other protocols in the Web services stack is illustrated in the following figure:
Key Functional Concepts in UDDI
A UDDI registry's functional purpose is the representation of data and metadata about Web services. A registry, either for use on a public network or within an organization's internal infrastructure, offers a standards-based mechanism to classify, catalog, and manage Web services, so that they can be discovered and consumed by other applications.
Accordingly, the standard specifies protocols for accessing a registry for Web services, methods for controlling access to the registry, and a mechanism for distributing or delegating records to other registries. In other words, the standard provides a means to locate a software service, to invoke that service, and to manage metadata about that service.
To these ends, key functional concepts for working with UDDI include:
• The UDDI Data Model. The UDDI specification defines core data types that include a description of the service's business function, information about the service's publisher, the service's technical details and API, and other metadata. These data types are defined in several XML schemas, which together form a base information model and interaction framework of UDDI registries. They include:
• Defining UDDI Nodes and Registries. UDDI includes a specific definition of the hierarchical relationship between a single instance of a UDDI implementation and others to which it is related. Technically, there are three major classifications of UDDI servers:
• Essential Programmatic Interfaces. A UDDI registry provides several key functions that include:
These inquiry and publishing functions represent the core data management tools of a UDDI registry. Additionally, UDDI describes how multiple registries may form a group, known as an affiliation, to permit policy-based copying of core data structures among them. Some of the most important concepts that support registry interaction include:
The UDDI specification divides these functions into “Node API Sets” that are supported by a UDDI server and “Client API Sets” that are supported (naturally enough) by a UDDI client.
Learn More
Please explore this site to learn more about UDDI and its role in enabling SOA infrastructure. In particular, good next steps include:
Today's IT organizations must identify and plan for an architecture that can not only provide for scalability, but also agility, the ability to add new offerings or reorient existing functions in a flexible, minimally disruptive fashion. This agility requires that we think of IT in terms of services, not physical assets. Web services and service-oriented architecture are a practical way to meet these needs.
UDDI is an important element of the Web services infrastructure. By enabling policy-based distribution and management of enterprise Web services, a UDDI registry delivers significant business value. It helps ensure that the functional and practical needs of developers, the operational and scalability requirements of enterprise architects, and the underlying business policies are not in opposition; in fact, it brings all of these needs into closer alignment by increasing software flexibility, reuse, and control.
UDDI helps to increase code re-use and to improve infrastructure management by implementing a standardized means of:
Functions like these help address important business questions for both developers building service-enabled applications and for IT organizations managing enterprise SOA infrastructure.
UDDI’s role in Web services development
Benefits such as standards-based interoperability that are provided to programmers by Web services are clear. Nonetheless, when development teams begin to build Web services interfaces into their applications, they soon face issues all too familiar to developers who work in any programming environment: code reuse, ongoing maintenance, and documentation. Moreover, as the number of Web services created within an IT organization grows, the need to manage these services can increase exponentially.
For development teams, registries based upon UDDI help answer needs such as:
When developing and deploying Web services applications, UDDI registries help drive better code reuse and developer productivity. A UDDI registry provides an interoperable, standards-based approach for systematically documenting and publishing Web services, regardless of development environment or platform. It can help developers—even across functional groups—find a shared service and use that service within their own applications.
UDDI’s role in service-oriented infrastructure
Issues of services development point to the larger question of how to design an IT infrastructure that supports Web services development efforts. Although questions such as how best to conceive shared services, to design identity management and authentication mechanisms, and so on are beyond the scope of the UDDI OASIS Standard, UDDI registries represent an important element of this overall question. In a service-oriented environment, enterprise software architects must consider questions such as:
Registries based upon UDDI provide IT administrators with a formal layer of indirection necessary for service-oriented application development and management. By providing a sort of firewall between a service and the applications that call it, system administrators more easily can accommodate changes in the life cycle of specific components—such as for version updates, for policy considerations, or even for service termination.
In addition to the fundamental benefits of run-time binding provided by the registry in a service-oriented architecture, administrators often require control of the publication and distribution of information about deployed Web services, so that software deployment follows business policy. To facilitate these operational and governance needs, the current version of UDDI adds support for features such as client authentication and publish/subscribe for peer registries.
This understanding of how Web services are most often used today is reflected as the UDDI OASIS Standard has evolved. Its current implementation recognizes the need for federated control in real-world operational environments and further integrates the standard with other elements of service-oriented infrastructure. It provides key capabilities for enterprise-level deployment and is a mature, well-supported standard.
Learning More
Please explore this site to learn more about UDDI and its role in enabling SOA infrastructure. In particular, good next steps include:
The current list of specifications advanced by the OASIS UDDI Specification Technical Committee includes:
The UDDI Version 2 specifications, UDDI Version 3 specification and the Schema Centric XML Canonicalization Specification represent contributed material. Notes and Disclaimers are provided on each of these specification documents.
UDDI Version History
Since UDDI was proposed in 2000, it has evolved to reflect the need for manageability and federated control in enterprise operating scenarios, as well as to integrate more fully with other elements of service-oriented infrastructure.
UDDI Version 3 Specification
The UDDI v3 OASIS Standard builds on the vision of UDDI as a "meta service" for locating Web services by enabling robust queries against rich metadata. Expanding on the foundation of versions 1 and 2, version 3 offers the industry a specification for building flexible, interoperable XML Web services registries useful in private as well as public deployments. UDDI v3 consists of the following documents:UDDI Version 2 Specifications
The UDDI v2 OASIS Standard set of specifications consists of the following documents:
Schema Centric XML Canonicalization Specification
Existing XML Canonicalization algorithms such as Canonical XML and Exclusive XML Canonicalization suffer from several limitations and design artifacts (enumerated herein) which significantly limit their utility in many XML applications, particularly those which validate and process XML data according to the rules of and flexibilities afforded by XML Schema. The Schema Centric Canonicalization algorithm addresses these concerns.
The technical notes listed below are non-normative documents which accompany the UDDI specification and provide guidance on how to use UDDI registries. While technical notes represent the view of the OASIS UDDI Specification Technical Commitee on a UDDI-related topic, they may be prospective in nature and need not document existing practice.
A technical note is a non-normative document accompanying the UDDI Specification that provides guidance on how to use UDDI registries. The contents of these documents are not a part of the specifications. While technical notes represent the view of the OASIS UDDI Specification Technical Committee (TC) on some UDDI-related topic, they may be prospective in nature and need not document existing practice.
A best practice is a non-normative document accompanying a UDDI specification that provides guidance on how to use UDDI registries. Best practices not only represent the TC's view on some UDDI-related topic, but also represent well-established practice.
A technical note may be written about a real implementation or application of UDDI to solve a business or technical problem, or it may be written to provide recommendations regarding interaction between UDDI and other technologies and/or standards where a widely adopted practice would benefit the Web services community.
A formal proposal to the TC is optional, but gives one the opportunity to present the idea for the submission without the need for investing the work necessary to prepare a completed work. A proposal may take the form of a simple abstract submitted to the TC mailing list, or may even be proposed as a topic of discussion at a TC meeting. The individual making the proposal may then gauge the support present in the TC for developing the work before proceeding to the next stage.
To be considered by the TC, a technical note submission must be based on a Committee Specification or OASIS Standard version of the UDDI specification. A technical note based on a future release of the UDDI specification may be created, but it will not be published until that version of the UDDI specification is released. The OASIS Intellectual Property Rights Policy applies for any submissions.
Individuals intending to submit proposals should use the official technical note template.
tModels are core components of UDDI. tModels represent unique concepts or constructs and are used to describe compliance with a specification, a concept, a category or identifier system, or a shared design. Each tModel should contain an overviewURL, which references a document that describes the tModel and its use in more detail.
Specification tModels are used to represent service type definitions, that is, reusable features of Web services. Web service registrations reference specification tModels in order to indicate their compliance with the service type definition..
Category systems and identifier systems tModels, together known as "value sets", represent another important use of tModels. These enable the categorization and identification of entities registered in UDDI in accordance to these value sets. The ability to attribute metadata to providers and services registered in UDDI, and then run queries based on that metadata is absolutely central to the purpose of UDDI at both design time and run time.
While these tModels can be published in a UDDI registry, promulgating their existence is also important. The OASIS UDDI Specification Technical Committee wants to encourage and promulgate common tModels promoted by standards groups and consortiums.
View a list of currently registered tModels.
Registering tModels with OASIS
The registration of tModels with OASIS is limited to tModels that represent a well-known concept and/or are owned by a well-known standards group, an industry vertical or a consortium (note that "well-known" may be limited to an industry, a geographical region or other contexts).
Technically, the tModel should follow basic recommendations and best practices for UDDI registrations. Therefore, it must contain:
It should also:
Requesting registration with OASIS
tModel registration requests should be sent to the OASIS UDDI Specification Technical Committee comment list. The Committee will validate requests and, once accepted, will post the tModel information to this site.
1 Categorization and Identifier System tModels
1.1 ebXML Specification Taxonomy tModel
1.6 WS-I Profile Conformance Claim tModel
2.1 ebXML Specification tModels
2.1.1 UN/CEFACT - ebXML Business Process Specification Schema v1.10 tModel
2.1.2 OASIS ebXML CPA v1.0 Template tModel
2.1.3 OASIS ebXML CPA v2.0 Template tModel
2.1.4 OASIS ebXML CPP v1.0 tModel
2.1.5 OASIS ebXML CPP v2.0 tModel
2.1.6 OASIS ebXML Message Service v1.0 tModel
2.1.7 OASIS ebXML Message Service v2.0 tModel
2.2 update_entities Web service
2.2.1 update_entities Web service for UDDI Version 2 entities
2.2.2 update_entities Web service for UDDI Version 3 entities
2.3.1 WSRP Service Type tModel
2.3.2 WSRP v1 Bindings tModel
2.3.3 WSRP Producer Service Reference tModel
2.3.4 WSRP Portlet Handle tModel
2.3.5 WSRP v1 ServiceDescription PortType tModel
2.3.6 WSRP v1 Markup PortType tModel
2.3.7 WSRP v1 Registration PortType tModel
2.3.8 WSRP v1 PortletManagement PortType tModel
2.3.9 WSRP v1 ServiceDescription SOAP Binding tModel
2.3.10 WSRP v1 Markup SOAP Binding tModel
2.3.11 WSRP v1 Registration SOAP Binding tModel
2.3.12 WSRP v1 PortletManagement SOAP Binding tModel
Name:
ebxml-org:specifications
Description:
ebXML Specifications Taxonomy
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-uddi-ebxml.htm#ebxmlspec
v2 tModel Key:
uuid:da52cf72-2cb2-39a9-ad1e-577e66d8a6f6
v3 tModel Key:
uddi:ebxml.org:specifications
Categorization:
categorization
Checked:
No
Name:
uddi-org:wsdl:categorization:protocol
Description:
Category system used to describe the protocol supported by a wsdl:binding
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol
v2 tModel Key:
uuid:4dc74177-7806-34d9-aecd-33c57dc3a865
v3 tModel Key:
uddi:uddi.org:wsdl:categorization:protocol
Categorization:
categorization
Checked:
Yes
Name:
uddi-org:wsdl:categorization:transport
Description:
Category system used to describe the transport supported by a wsdl:binding
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport
v2 tModel Key:
uuid:e5c43936-86e4-37bf-8196-1d04b35c0099
v3 tModel Key:
uddi:uddi.org:wsdl:categorization:transport
Categorization:
categorization
Checked:
Yes
Name:
uddi-org:wsdl:types
Description:
WSDL Type Category System
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes
v2 tModel Key:
uuid:6e090afa-33e5-36eb-81b7-1ca18373f457
v3 tModel Key:
uddi:uddi.org:wsdl:types
Categorization:
categorization
Checked:
No
Name:
uddi-org:wsdl:portTypeReference
Description:
A category system used to reference a wsdl:portType tModel
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference
v2 tModel Key:
uuid:082b0851-25d8-303c-b332-f24a6d53e38e
v3 tModel Key:
uddi:uddi.org:wsdl:porttypereference
Categorization:
categorization
Checked:
Yes
Name:
ws-i-org:conformsTo:2002_12
Description:
Category system used for UDDI entities to point to the WS-I concept to which they conform to
Registering Organization:
WS-I.org
Registrant's e-mail Address:
Overview Document URL:
http://www.ws-i.org/Profiles/ConformanceClaims-1.0.html
v2 tModel Key:
uuid:65719168-72c6-3f29-8c20-62defb0961c0
v3 tModel Key:
uddi:65719168-72c6-3f29-8c20-62defb0961c0
Categorization:
categorization
Checked:
No
Name:
uddi-org:xml:namespace
Description:
A category system used to indicate namespaces
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace
v2 tModel Key:
uuid:d01987d1-ab2e-3013-9be2-2a66eb99d824
v3 tModel Key:
uddi:uddi.org:xml:namespace
Categorization:
categorization
Checked:
No
Name:
uddi-org:xml:localName
Description:
A category system used to indicate XML local names
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName
v2 tModel Key:
uuid:2ec65201-9109-3919-9bec-c9dbefcaccf6
v3 tModel Key:
uddi:uddi.org:xml:localname
Categorization:
categorization
Checked:
No
Name:
untmg-org:BusinessProcessSpecificationSchema:v1_10
Description:
UN/CEFACT - ebXML Business Process Specification Schema v1.10
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.untmg.org/downloads/General/approved/ebBPSS-v1pt10.zip
v2 tModel Key:
uuid:1a2a88af-54f8-316c-aaf1-e1fc2ef1c0e9
v3 tModel Key:
uddi:untmg.org:businessprocessspecificationschema:v1.10
Categorization:
specification, ebXML:BPSS
Name:
ebxml-org:CollaborationProtocolAgreement:v1_0:Template
Description:
ebXML Collaboration Protocol Agreement v1.0 Template
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.ebxml.org/specs/ebCCP.pdf
v2 tModel Key:
uuid:5ab4e3af-2e67-3a4f-b9b7-92a436be8f43
v3 tModel Key:
uddi:ebxml.org:collaborationprotocolagreement:v1.0:template
Categorization:
xmlSpec, ebXML:CPPA
Name:
ebxml-org:CollaborationProtocolAgreement:v2_0:Template
Description:
ebXML Collaboration Protocol Agreement v2.0 Template
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.ebxml.org/specs/ebcpp-2.0.pdf
v2 tModel Key:
uuid:86c6fcb3-8c73-33a7-8635-38438b76aee7
v3 tModel Key:
uddi:ebxml.org:collaborationprotocolagreement:v2.0:template
Categorization:
xmlSpec, ebXML:CPPA
Name:
ebxml-org:CollaborationProtocolProfile:v1_0
Description:
ebXML Collaboration Protocol Profile v1.0
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.ebxml.org/specs/ebCCP.pdf
v2 tModel Key:
uuid:e3f3df4f-b221-33b4-a3ff-17b21410c565
v3 tModel Key:
<uddi:ebxml.org:collaborationprotocolprofile:v1.0>
Categorization:
specification, ebXML:CPPA
Name:
ebxml-org:CollaborationProtocolProfile:v2_0
Description:
ebXML Collaboration Protocol Profile v2.0
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.ebxml.org/specs/ebcpp-2.0.pdf
v2 tModel Key:
uuid:43ed4af4-eacf-3b20-95d1-c7c197f5d9d0
v3 tModel Key:
uddi:ebxml.org:collaborationprotocolprofile:v2.0
Categorization:
specification, ebXML:CPPA
Name:
ebxml-org:MessageService:v1_0
Description:
ebXML Message Service v1.0
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.ebxml.org/specs/ebMS.pdf
v2 tModel Key:
uuid:c8692873-1842-3b32-b980-8fa6d16676d2
v3 tModel Key:
uddi:ebxml.org:messageservice:v1.0
Categorization:
specification, ebXML:MS
Name:
ebxml-org:MessageService:v2_0
Description:
ebXML Message Service v2.0
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/ebxml-msg/documents/ebMS_v2_0.pdf
v2 tModel Key:
uuid:9a3b93be-515e-34c7-90c7-b05cdfdba8c3
v3 tModel Key:
uddi:ebxml.org:messageservice:v2.0
Categorization:
specification, ebXML:MS
Name:
uddi-org:updateEntities_v2
Description:
Service to update UDDI Version 2 entities that make use of value sets
Registering Organization:
OASIS UDDI Spec TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
v2 tModel Key:
uuid:74e22d5a-91fb-3b93-8052-64fb4d281556
v3 tModel Key:
uddi:uddi.org:update_entities_v2
Categorization:
specification, xmlSpec, soapSpec
Name:
uddi-org:updateEntities_v3
Description:
Service to update UDDI Version 3 entities that make use of value sets
Registering Organization:
OASIS UDDI Spec TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
v2 tModel Key:
uuid:06647e37-66ed-3973-9cce-857a0f43c12b
v3 tModel Key:
uddi:uddi.org:update_entities_v3
Categorization:
specification, xmlSpec, soapSpec
Name:
uddi-org:protocol:http
Description:
A tModel that represents the HTTP protocol
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http
v2 tModel Key:
uuid:6e10b91b-babc-3442-b8fc-5a3c8fde0794
v3 tModel Key:
uddi:uddi.org:protocol:http
Categorization:
protocol
Name:
uddi-org:protocol:soap
Description:
A tModel that represents the SOAP 1.1 protocol
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap
v2 tModel Key:
uuid:aa254698-93de-3870-8df3-a5c075d64a0e
v3 tModel Key:
uddi:uddi.org:protocol:soap
Categorization:
protocol
Name:
uddi-org:wsdl:address
Description:
A tModel used to indicate the WSDL address option
Registering Organization:
OASIS UDDI Specifications TC
Registrant's e-mail Address:
uddi-spec@lists.oasis-open.org
Overview Document URL:
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address
v2 tModel Key:
uuid:ad61de98-4db8-31b2-a299-a2373dc97212
v3 tModel Key:
uddi:uddi.org:wsdl:address
The Universal Description, Discovery and Integration (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 manages information about service providers, service implementations, and service metadata. Service providers can use UDDI to advertise the services they offer. Service consumers can use UDDI to discover services that suit their requirements and to obtain the service metadata needed to consume those services.
The UDDI specifications define:
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 message formats
WSDL definitions of the SOAP APIs
UDDI registry definitions (technical models - tModels) of various identifier and category systems that may be used to identify and categorize UDDI registrations
The OASIS UDDI Spec TC also develops technical notes and best practice documents that aid users in deploying and using UDDI registries effectively.
A business may deploy one or more private and/or public UDDI registries. A private registry permits access to only authorized users. A public registry does not restrict access to the registry. A business may choose to deploy multiple registries in order to segregate internal and external service information. An internal registry supports intranet applications, while an external registry supports extranet applications. Industry groups may deploy a UDDI registry to support public or private exchanges.
UDDI is complementary to other Web services-related projects at OASIS and W3C, such as SOAP, WSDL, WSBPEL, WSRP, and WS-Security. WS-I adopts and further profiles the UDDI V2.0 standard in the WS-I Basic Profile.