WSDL - What is UDDI
1. What is UDDI?
UDDI stands for Universal Description, Discovery, and Integration.
It is a service registry — a centralized directory where service providers publish their WSDL documents, and service consumers search for and discover available web services.
In simple terms:
UDDI = A phonebook for web services.
-
Providers → Register their services and WSDLs.
-
Consumers → Search for services and get the WSDL URLs.
2. UDDI’s Role in Web Services
UDDI is part of the SOA (Service-Oriented Architecture) model and works closely with WSDL and SOAP:
Component | Purpose |
---|---|
WSDL | Describes the service (what it does, how to use it, where to access it). |
SOAP | Handles the actual communication between systems. |
UDDI | Stores and organizes WSDLs so they can be discovered easily. |
3. UDDI Functions
UDDI provides three main functions:
A. Publish (Service Provider → UDDI)
-
A Service Provider creates a WSDL and registers the service in UDDI.
-
The registry stores:
-
Service name
-
WSDL URL
-
Endpoint URL
-
Business information
-
B. Discover (Service Consumer → UDDI)
-
A Service Consumer searches the UDDI directory to find available services.
-
Search can be done by:
-
Service name
-
Business name
-
Category / Industry
-
Keywords
-
C. Integrate (Consumer ↔ Provider)
-
Once the consumer finds the desired service in UDDI:
-
They download the WSDL.
-
Generate client code using tools.
-
Use SOAP to call the service.
-
4. UDDI Architecture
UDDI organizes information in three layers, similar to a yellow pages directory:
UDDI Component | Description |
---|---|
White Pages | Stores business details (name, contact info, description). |
Yellow Pages | Categorizes services by industry, type, or functionality. |
Green Pages | Stores technical information such as WSDL URLs, endpoints, and bindings. |
5. How UDDI Works with WSDL
Let’s understand the workflow:
Step 1 — Provider Publishes WSDL
-
A company, e.g., ABC Bank, develops a service
AccountService
. -
The WSDL URL is:
http://abcbank.com/ws/account?wsdl
-
ABC Bank publishes this WSDL in the UDDI registry.
Step 2 — Consumer Searches UDDI
-
Another company, XYZ Corp, needs the
AccountService
. -
XYZ queries the UDDI registry:
find_service("AccountService")
-
UDDI returns:
Service Name: AccountService WSDL URL: http://abcbank.com/ws/account?wsdl Endpoint: http://abcbank.com/ws/account
Step 3 — Consumer Uses the Service
-
XYZ Corp downloads the WSDL.
-
Generates client code using tools like:
wsimport http://abcbank.com/ws/account?wsdl
-
Calls the SOAP service as if it were a local method.
6. Example UDDI Workflow
Actors:
-
Service Provider → Publishes WSDL.
-
UDDI Registry → Stores WSDL.
-
Service Consumer → Discovers WSDL.
Process:
-
Publish → Provider uploads WSDL to UDDI.
-
Discover → Consumer searches UDDI for a service.
-
Bind → Consumer downloads WSDL and communicates with provider via SOAP.
7. Example of UDDI Metadata
When a WSDL is registered, UDDI stores technical details like:
<service name="AccountService">
<description>Bank account balance service</description>
<binding type="SOAP" style="document"/>
<wsdlURL>http://abcbank.com/ws/account?wsdl</wsdlURL>
<endpoint>http://abcbank.com/ws/account</endpoint>
</service>
8. UDDI Example Registries
-
jUDDI → Apache-based open-source UDDI registry.
-
IBM WebSphere Service Registry.
-
Oracle Service Registry.
-
Microsoft UDDI Services (deprecated).
9. UDDI, WSDL, and SOAP Together
UDDI works alongside WSDL and SOAP in a typical service-oriented architecture:
Step | Component | Action |
---|---|---|
1 | Service Provider | Creates and publishes WSDL in UDDI |
2 | UDDI Registry | Stores WSDL, makes it searchable |
3 | Service Consumer | Discovers WSDL in UDDI |
4 | SOAP | Sends requests and receives responses based on WSDL |
10. Modern Alternatives to UDDI
UDDI was widely used with SOAP-based services, but today REST APIs dominate, and UDDI is mostly obsolete.
Modern alternatives include:
-
Swagger / OpenAPI → REST API discovery.
-
API Gateways → AWS API Gateway, Kong, Apigee.
-
Service Discovery Tools → Netflix Eureka, Consul, Zookeeper.