The Universal Description, Discovery, and Integration (UDDI) specification
defines a way to publish and discover information about Web services. UDDI
has two functions: (1) it is a SOAP-based protocol that defines how UDDI clients
communicate with registries, and (2) it is a particular set of globally replicated
Registering a service involves four core data structure types:
- The businessEntity data type contains information
about the business that has a published service.
- The businessService data type is a description
of a Web service.
- The bindingTemplate data type contains technical
information for determining the entry point and construction specifications
for invoking a Web service.
- The tModel data type provides a reference
system to assist in the discovery of Web services and acts as a technical
specification for a Web service.
For more information on the UDDI data types, refer to the related reference
topics at the end of this topic.
Web Services Description Language (WSDL) is an XML-based standard specification
for describing Web services. WSDL defines an XML format for describing network
services as a set of endpoints that operate on messages that contain either
document-oriented or procedure-oriented information.
The WSDL service description can be structured in many ways. However, to
assist with publishing and finding WSDL service descriptions in a UDDI registry,
WSDL documents consist of two main parts:
- The service interface definition describes the abstract type interface
and its protocol binding, known as the WSDL binding document
- The service implementation definition describes the service access location
information, known as the WSDL service document
When creating Web services with the Apache Axis run-time environment, the
Web services tools create a single WSDL document when generating Web services
from Java™ beans
or EJBs. This WSDL document contains both the service interface and implementation
A service interface is described by a WSDL document that contains the types,
import, message, portType, and binding elements. A service interface contains
the WSDL service definition that will be used to implement one or more services.
It is an abstract definition of a Web service, and is used to describe a specific
type of service. This document can reference another service interface document
using an import element. The Web services tools in this product generate a
service interface document that contains only the message and portType elements
that are referenced by the binding document that contains only bindings for
The service implementation document contains the service elements. A service
implementation document contains a description of a service that implements
a service interface. At least one of the import elements will contain a reference
to the WSDL service interface document; however monolithic WSDL such as that
created using the Axis run-time environment does not have imports. A service
implementation document can contain references to more than one service interface
A service provider hosts a Web service and makes it accessible using protocols
such as SOAP/HTTP and SOAP/JMS. The Web service is described by the WSDL documents
that are stored on the provider's server or in a special repository. The WSDL
documents are referenced by UDDI business services (service documents) and
tModels (binding documents). These pointers enable discovery of a Web service
by a service requestor.
Figure 1. Relationship between UDDI and WSDL.
Figure 1 illustrates the relationship between UDDI and WSDL. The WSDL service
element references the WSDL binding element. The URL of the document containing
the WSDL binding element is published to the UDDI business registry as a tModel.
The URL of the document containing the WSDL service element is published to
the UDDI business registry as a businessService and contains information about
the bindingTemplate. For more information on UDDI registry data structure
types, refer to the related reference section at the end of this document.
Note that the import portion of the diagram is optional depending on the run-time
environment; monolithic WSDL such as that created using the Axis run-time
environment does not have imports.
The service implementation describes an instance of a service. The instance
is defined using a WSDL service element. The service element in a service
implementation document is used to publish a UDDI businessService. When publishing
a WSDL service description, a service interface must be published as a tModel
before a service implementation is published as a businessService.
A service implementation is published in a UDDI registry as part of a businessService
with one or more bindingTemplate elements. The businessService is published
by the service provider. A new businessService is created for a service element
that is defined in the service implementation document. A new bindingTemplate
element is created within a businessService for each port element that is
defined within a service element.
For more information on the relationship between WSDL and UDDI refer to