UDDI Overview - ASTRO ~ Supporting the Composition of

Download Report

Transcript UDDI Overview - ASTRO ~ Supporting the Composition of

UDDI (Universal Description, Discovery,
and Integration)
An Overview
Version :
1.0
Date :
07 Feb 2006
Pages
20
Responsible Author :
Gabriele Zacco ([email protected])
Co-Authors :
Status :
Draft
[]
Proposal [ ]
Released
[X]
Confidentiality :
Public
[]
Internal [ X ]
Restricted [ ]
1
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 serviceoriented 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
2
A Bit of History
• UDDI V1.0 (2000): Create foundation for registry of Internetbased 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
communities
• UDDI V3.0 (Feb 2005): Support secure interaction of private and
public implementations as key element of service-oriented
infrastructure.
•
•
•
Many vendors are developing products that implement the UDDI V3.0
specifications
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
3
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
design
4
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 runtime changes that occur during the life-cycle of web services and
to the evolution of web application requirements
5
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
applications)
6
UDDI’s Role in SO Infrastructure
• UDDI facilitates Service-Oriented Infrastructure:
• Insulates critical applications from changes or failures in backend
services:
• 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 runtime binding
7
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
services.
• 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.
8
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
customers
9
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
10
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
11
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.
12
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
management
13
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:
•
Public registries:
•
Affiliated registries
• Isolated from the public network, firewalled
• Restricted access
• No shared data
• Unrestricted open and public access
• Data is shared with other 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
14
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
15
UDDI Servers
• UDDI specifies hierarchical relationship between a single
instance of a UDDI implementation and others to which it is
related
• 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)
16
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)
17
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,
UDDI4J.org
• 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
18
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.
19
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 ecommerce 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
20