Skip to content

UDDI — Universal Description, Discovery, and Integration of Web Services

DodaTech Updated 2026-06-28 2 min read

In this tutorial, you will learn about UDDI. We cover key concepts, practical examples, and best practices to help you master this topic.

UDDI (Universal Description, Discovery, and Integration) is a platform-independent XML-based registry that enables businesses to publish and discover Web Services dynamically.

What You'll Learn

  • UDDI's role in the web services stack
  • How businesses publish and find services
  • Why UDDI adoption declined and where it's still used

Why It Matters

UDDI represents the vision of dynamic service discovery. While not widely adopted publicly, private UDDI registries are used within enterprises for SOA governance.

flowchart LR
    A["Service Provider"] -->|"Publishes WSDL"| B["UDDI Registry"]
    C["Service Consumer"] -->|"Searches for service"| B
    B -->|"Returns WSDL URL"| C
    C -->|"Binds to service"| D["SOAP Web Service"]
    style B fill:#dbeafe,stroke:#2563eb

UDDI Levels

  • White Pages — Business name, contact info, descriptions
  • Yellow Pages — Business categorization by industry, product, or service
  • Green Pages — Technical information including WSDL URLs and binding templates

Code Examples

<!-- UDDI inquiry request -->
<?xml version="1.0"?>
<find_service xmlns="urn:uddi-org:api_v3">
  <findQualifiers>
    <findQualifier>exactNameMatch</findQualifier>
  </findQualifiers>
  <name>WeatherService</name>
</find_service>
# Querying a UDDI registry (conceptual)
import requests

uddi_query = """<?xml version="1.0"?>
<find_business xmlns="urn:uddi-org:api_v3">
  <name>Durga Antivirus</name>
</find_business>"""

response = requests.post(
    "https://uddi.example.org/inquiry",
    data=uddi_query,
    headers={"Content-Type": "text/xml"}
)
print(response.text)

Common Mistakes

1. Expecting Public UDDI Adoption

Most UDDI registries are private, not public like DNS.

2. Confusing UDDI with DNS or Load Balancers

UDDI is about service discovery, not routing or Load Balancing.

3. Ignoring UDDI for Internal SOA Governance

Private UDDI helps manage internal web service portfolios.

4. Not Updating UDDI When Services Change

Stale registry entries point to invalid endpoints.

5. Over-Engineering UDDI for Small Deployments

UDDI adds complexity that small service deployments don't need.

Practice Questions

  1. What does UDDI stand for?
  2. What are the three UDDI page types?
  3. How does a consumer find a service using UDDI?
  4. Why did public UDDI adoption fail?
  5. Where is UDDI still commonly used?

Answers:

  1. Universal Description, Discovery, and Integration.
  2. White Pages (business info), Yellow Pages (categorization), Green Pages (technical info).
  3. Query the registry by business name, service name, or category.
  4. Complexity, lack of critical mass, and the rise of simpler API discovery methods.
  5. In private enterprise registries for SOA governance and service portfolio management.

Challenge: Design a private UDDI registry for an enterprise with 50 internal web services. Show the data model for white, yellow, and green pages.

FAQ

Is UDDI like a search engine for web services?

: Conceptually yes, but focused on SOAP/WSDL services with structured business data.

Do I need UDDI for a SOAP web service?

: No. UDDI is optional. Most SOAP services share WSDL URLs directly.

Is UDDI still supported?

: Support exists in enterprise platforms like IBM WebSphere and Oracle SOA Suite.

What's Next

Learn about SOAP Messages structure, then explore SOAP Envelope and Header in detail.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro