UDDI Overview

Document Sample
UDDI Overview Powered By Docstoc
					UDDI (Universal Description, Discovery,
and Integration)

An Overview

Version :              1.0
Date :                 07 Feb 2006
Pages                  20
Responsible Author :   Gabriele Zacco (zacco@itc.it)
Co-Authors :
Status :               Draft      []        Proposal [ ]     Released   [X]
Confidentiality :      Public     []        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 service-
  oriented 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 Internet-
  based business services
• UDDI V2.0 (2003): Align specification with emerging Web services
  standards and provide support for flexible, external taxonomies
   •   Has been implemented in many products by numerous vendors and open source
• UDDI V3.0 (Feb 2005): Support secure interaction of private and
  public implementations as key element of service-oriented
   •   Many vendors are developing products that implement the UDDI V3.0
   •   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

      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 run-
  time changes that occur during the life-cycle of web services and
  to the evolution of web application requirements

      UDDI’s 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

      UDDI’s Role in SO Infrastructure

• UDDI facilitates Service-Oriented Infrastructure:
   • Insulates critical applications from changes or failures in backend
       • 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 run-
  time 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
• The UDDI project is not industry specific
   •   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
• 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

      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

        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
    •   Public registries:
          • Unrestricted open and public access
          • Data is shared with other registries
    •   Affiliated registries
          • Controlled environment
          • Access limited to authorized clients
          • Data shared in a controlled manner
• 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 (service’s 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
• 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)

       UDDI API

• 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
   • Apache.org, 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

     UDDI Misc

• 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 e-
    commerce 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


Shared By: