Title: UDDI Best Practices
1UDDI Best Practices
2UDDI Overview
3What is UDDI?
- The Universal Description, Discovery and
Integration (UDDI) protocol is one of the major
building blocks required for successful Service
Oriented Architectures. - UDDI creates a standard, interoperable platform
that enables organizations and applications to
quickly, easily, and dynamically find and use
shared services over standard internet protocols
such as HTTP. - UDDI is a cross-industry effort driven by major
platform and software providers, as well as
marketplace operators and e-business leaders
within the OASIS standards consortium. - OASIS
4Analogy
- Real world
- Imagine the world without the yellow pages
directory. How would you find a mover or a dry
cleaner? - Technology
- UDDI is to Web Services as the Windows directory
is to Windows. - When you double click on Word how does Windows
know that MS Word should open that file? - UDDI represents the same level of transparency
for Web Services SOA
5UDDI Key SOA Component
Enable
Register Discover
Coordinate Compose
Enable interoperability between
applications Apps, App Servers, Legacy, MOM/EAI
Scale the number of interoperable
participants UDDI
Create, link and adapt business rules
and processes in a loosely coupled manner BPM
composite application development
6Why UDDI?
- Standards-based
- Flexible
- Wide variety of publish/discovery tools available
- Becoming widely adopted for private usage
- UDDI is the de facto standard for building
registries that house corporate enterprise
services, and from which Web services can be
accessed and consumed. - Darryl Plummer, Gartner Group
7UDDI Basics
8Conceptual Overview
White Pages
Yellow Pages
Green Pages
- Basic contact information and identifiers about a
company or service provider.
- Categorization of web services using taxonomies.
- Technical information describing a web service
9Key Entities Description
0..n
Bindings contain references to tModels. These
references declare the interface specifications
for a service.
0..n
0..n
10Key Entities Example
11Categorizing Entities
12UDDI Best Practices
13Getting Started
- Obtain a general understanding of UDDI
capabilities - OASIS UDDI Specifications at http//www.uddi.org
- Whitepapers from UDDI vendors
- Develop a detailed understanding of the use cases
that drive the adoption of UDDI throughout the
organization - Design-time discovery
- Runtime binding
- Reporting
14Getting Started
- Develop a general understanding of how UDDI will
fit into a company-specific Web services strategy - How will data and metadata be modeled?
- Who will be allowed to read and write?
- How will publications be audited?
- How will users learn to user the registry?
- How will UDDI be deployed?
15Modeling UDDI entities
- Determine what constitutes a businessEntity
- businessEntity service provider
- Business, business unit, organization,
department, computer, application, program,
project or person are common businessEntities - Key consideration businessEntities are the only
type of entity that can be associated with
contacts - Also determine relationship among
businessEntities (i.e. organizational chart)
16Modeling UDDI entities
- Determine the types of services that can be
published - Do it for Web Services, but consider all of your
IT assets and business services - Define how those services will be represented in
the registry - Standardize on the access point for each service
type (i.e. URL for web services, phone number for
customer service) - Determine what metadata will be provided with
each service (i.e. XML schema, end user
documentation, policies etc..)
17Publishing WSDL to UDDI
- Follow version 2.0 of the UDDI technical note,
Using WSDL in a UDDI Registry - Ensures interoperability with application vendors
for discovering WSDL-based services - wsdlportType and wsdlbinding elements map to
udditModel entities - wsdlservice elements map to uddibusinessService
entities - wsdlport elements map to uddibinding Template
entities
18Publishing WSDL to UDDI
- Extend to enable better query capabilities
- Map operations and types into UDDI
- Categorization taxonomy to identify an entity as
an operation or type - Operation Reference taxonomy to associate a
service with its operations - Input and Output Type Reference taxonomy to
associate an operation with its input and output
types - Create a tModel for each data type and each
operation
19Modeling UDDI entities
- Define a naming protocol for businessEntities and
businessServices - Should be intuitive and well understood as a
common search pattern is based on these names - Should be enforced as deviations from the scheme
can cause confusion and lessen the effectiveness
of the registry - Take advantage of publisher-assigned keys
- More user-friendly uddiglobalbank-commaintaxono
my vs uuid2CD3A773-874E-2539 - Common search pattern is based on these keys
- Must guarantee uniqueness across all registries
20Taxonomies
- Use taxonomies key to promoting reuse
- Establish categorization schemes before deploying
UDDI services and require their use when
publishing - The specification does define and include some
canonical taxonomies, but these are
general-purpose - Build custom taxonomies that apply to your
specific business or application to enhance the
discovery of services - What can be categorized
- UDDI v3 now supports categorization of a
bindingTemplate - Migrate previous v2 binding categorization
strategies to take advantage of this
21Custom Taxonomies
- Build from the bottom up
- Begin at divisional or workgroup level
- Start simple dont attempt to boil the ocean
- Tackle enterprise taxonomies as necessary
enterprise taxonomies may be non-trivial - Common starting points
- Geography
- Organization
- Business Function
22Custom Taxonomies An approach
- Step 1 Organize services according to a range of
organizational and technical parameters - Organization structure
- Service role
- Application type
- Visibility
- Deployment environment
- Version number
- Lifecycle
- Protocols
- QoS
- Authentication
23Custom Taxonomies An approach
- Step 2 Model the taxonomies
24Custom taxonomies An approach
- Step 3 Apply to published entities
25Custom taxonomies An approach
- Step 3 Apply to published entities
26Process and Procedural Considerations
- Standardize publications
- Ensures quality of data
- Minimizes pollution in the registry
- Establish publication guidelines
- Description and example of type of organization
the provider represents - Convention used to name businessEntities and
businessServices - Description of modeling approach and an example
of service publication data structure. - The names and descriptions of any categorization
schemes that should be used
27Process and Procedural Considerations
- Example publication guidelines
- All businessEntities must be based on
organizational units within the company - All businessEntities must contain a contact that
includes a phone number and an e-mail address - All businessServices must provide end user
documentation provided as a tModel referenced
from a bindingTemplate - All businessServices must be categorized using
the Global-comapplicationType categorization
scheme - All tModel entities that represent WSDL files
must be categorized with the wsdlSpec value of
the uddi-orgtypes taxonomy
28Process and Procedural Considerations
- Enforce publication guidelines
- Implement multiple registries for staging and
production - Restrict publication rights to production
- Establish approval process for promoting entities
from staging to production - If possible, automate approval process to
streamline publication - Ensure ownership is preserved when promoting from
staging to production
29OASIS Technical Notes
- QoS mapping TN
- Performance scalability information
- Versioning TN
- General purpose versioning API
- Resources mapping TN
- Publishing discovery of XML, XSLT, XML Schema
documents - WSDL-to-UDDI TN
- Granular publishing