2. A Registry for WSs: UDDIA Registry for WSs: UDDI
UDDI is a platform-independent framework for describingUDDI is a platform-independent framework for describing
services, discovering businesses, and integrating businessservices, discovering businesses, and integrating business
services by using the Internet.services by using the Internet.
UDDI stands for Universal Description, Discovery and IntegrationUDDI stands for Universal Description, Discovery and Integration
UDDI is a directory for storing information about web servicesUDDI is a directory for storing information about web services
UDDI is a directory of web service interfaces described by WSDLUDDI is a directory of web service interfaces described by WSDL
UDDI communicates via SOAPUDDI communicates via SOAP
UDDI is built into the Microsoft .NET platformUDDI is built into the Microsoft .NET platform
Based on XML, HTTP, IP, SOAP, WSDL standardsBased on XML, HTTP, IP, SOAP, WSDL standards
Current status :Current status :
• UDDI 3.0 has been released in August 2003.UDDI 3.0 has been released in August 2003.
• OASIS UDDI Specifications Technical Committee manages andOASIS UDDI Specifications Technical Committee manages and
develops UDDI Specificationsdevelops UDDI Specifications
3. What Problems Do We Solve?What Problems Do We Solve?
A mid-sized manufacturer
needs to create 400 online
relationships with
customers, each with their
own set of standard and
protocols
Broader
B2B
A flower shop in Australia
wants to be “plugged in” to
every marketplace in the
world, but doesn’t know how
Smarter
Search
A B2B marketplace cannot
get catalog data for relevant
suppliers in its industry,
along with connections to
shippers, insurers, etc.
Easier
Aggregation
Describe
Services
Discover
Services
Integrate
Them
Together
4. UDDI ImplementationUDDI Implementation
UDDI Business Registry
Programmatic descriptions of
web services
Programmatic descriptions of
businesses and the services they
support
Programming model, schema,
and platform agnostic
Uses XML, HTTP, and SOAP
Free on the Internet
Manufacturers
Flower Shops
Marketplaces
5. How UDDI WorksHow UDDI Works
UDDI Business Registry
3. UBR assigns a programmatically unique identifier
to each service and business registration
Marketplaces, search
engines, and business apps
query the registry to discover
services at other companies
4.
Segrvice Type
Reistrations
SW companies, standards bodies,
and programmers populate the
registry with
descriptions of different types of
services
1.
Business
RegistrationsBusinesses
populate
the registry with
descriptions of the
services they
support
2.
Business uses this data
to facilitate easier
integration with each
other over the Web
5.
6. Registry DataRegistry Data
a business cana business can
register three typesregister three types
of information into aof information into a
UDDI registryUDDI registry
White
Pages
Yellow
Pages
Green
Pages
Service Type
Registrations
7. White PagesWhite Pages
Basic information about the Company andBasic information about the Company and
its business.its business.
Basic contact information including businessBasic contact information including business
name, address, contact phone number etc.name, address, contact phone number etc.
A unique identifiers for the company taxA unique identifiers for the company tax
IDs. This information allows others toIDs. This information allows others to
discover your web service based upon yourdiscover your web service based upon your
business identification.business identification.
8. Yellow PagesYellow Pages
This has more details about the company,This has more details about the company,
and includes descriptions of the kind ofand includes descriptions of the kind of
electronic capabilities the company canelectronic capabilities the company can
offer to anyone who wants to do businessoffer to anyone who wants to do business
with it.with it.
It uses commonly accepted industrialIt uses commonly accepted industrial
categorization schemes, industry codes,categorization schemes, industry codes,
product codes, business identificationproduct codes, business identification
codes and the like to make it easier forcodes and the like to make it easier for
companies to search through the listingscompanies to search through the listings
and find exactly what they want.and find exactly what they want.
9. Green PagesGreen Pages
This has more details about the company,This has more details about the company,
and includes descriptions of the kind ofand includes descriptions of the kind of
electronic capabilities the company can offerelectronic capabilities the company can offer
to anyone who wants to do business with it.to anyone who wants to do business with it.
It uses commonly accepted industrialIt uses commonly accepted industrial
categorization schemes, industry codes,categorization schemes, industry codes,
product codes, business identification codesproduct codes, business identification codes
and the like to make it easier for companiesand the like to make it easier for companies
to search through the listings and findto search through the listings and find
exactly what they want.exactly what they want.
10. Service Type RegistrationService Type Registration
Pointer to the namespace wherePointer to the namespace where
service type is describedservice type is described
• What programmers read to understandWhat programmers read to understand
how to use the servicehow to use the service
Identifier for who published the serviceIdentifier for who published the service
Identifier for the service typeIdentifier for the service type
registrationregistration
• called a tModelKeycalled a tModelKey
• Used as a signature by web sites thatUsed as a signature by web sites that
implement those servicesimplement those services
11. UDDI at WorkUDDI at Work
Harbour Metals creates
online website with
local ASP
1.
SydneyNet.com
Marketplaces and search engines
query UBR, cache Harbour Metals
data, and bind to its services
3.Consumers and
businesses discover
Harbour Metals and do
business with it
4.
2.
ASP registers
Harbour Metals with UBR
UDDI Registry
12. Example of a RegistrationExample of a Registration
businessEntity
TB993…
Harbour Metals
www.harbourmetals.co.au
“Serving Inner Sydney Harbour for …
contacts
businessServices
identifierBag
categoryBag
872-6891
4281 King’s Blvd, Sydney, NSW
Peter@harbourmetals.co.au
Peter Smythe
businessService
Key
Name
Description
BindingTemplates
businessService
23T701e54683nf…
Online catalog
“Website where you can …
BindingTemplates
BindingTemplate
5E2D412E5-44EE-…
http://www.sydneynet/harbour…
tModelInstanceDetails
tModelInstanceInfo
4453D6FC-223C-3ED0…
http://www.rosetta.net/catalogPIP
keyedReference
DFE-2B…
DUNS
45231
keyedReference
EE123…
NAICS
02417
tModelKeys
14. Business EntityBusiness Entity
• provides information, including identifiers,provides information, including identifiers,
contact information etc…contact information etc…
[white-pages information][white-pages information]
• includes one or more businessService (serviceincludes one or more businessService (service
entity) elements that represents the services itentity) elements that represents the services it
providesprovides
• specifies a categoryBag to categorize thespecifies a categoryBag to categorize the
businessbusiness [yellow-pages information][yellow-pages information]
• a unique key identifies each businessEntitya unique key identifies each businessEntity
15. A simple businessEntity structureA simple businessEntity structure
<businessEntity businessKey=
“A687FG00-56NM-EFT1-3456-098765432124”>
<name>Acme Travel Incorporated</name>
<description xml:lang=“en”>
Acme is a world leader in online travel services
</description>
<contacts>
<contact useType=“US general”>
<personName>Acme Inc.</personName>
<phone>1 800 CALL ACME</phone>
<email useType=““>acme@acme-travel.com</email>
<address>….</address>
</contact>
</contacts>
<businessServices>
...
….
</businessServices>
<identifierBag> ...
</identifierBag>
<categoryBag> ...
<keyedReference tModelKey=
“UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384”
keyName=“Electronic check-in”
keyValue=“84121801”/>
</categoryBag>
</businessEntity>
Business Key
Business Name
Services
Category
16. Business Service (Service Entity)Business Service (Service Entity)
• includes information such as name,includes information such as name,
description. [white-pages information]description. [white-pages information]
• uniquely identified by a service keyuniquely identified by a service key
• specifies a categoryBag to categorize thespecifies a categoryBag to categorize the
serviceservice [yellow-pages information][yellow-pages information]
• contains a list of bindingTemplates which incontains a list of bindingTemplates which in
turn contains tModelInstanceDetails encodingturn contains tModelInstanceDetails encoding
the technical service informationthe technical service information [green-pages[green-pages
information]information]
• includes reference to its host with aincludes reference to its host with a
businessKeybusinessKey
17. A simple businessService structureA simple businessService structure
<businessService serviceKey=
“894B5100-3AAF-11D5-80DC-002035229C64”
businessKey=“D2033110-3AAF-11D5-80DC-002035229C64”>
<name>ElectronicTravelService</name>
<description xml:lang=“en”>Electronic Travel Service</description>
<bindingTemplates>
<bindingTemplate bindingKey=
“6D665B10-3AAF-11D5-80DC-002035229C64”
serviceKey=“89470B40-3AAF-11D5-80DC-002035229C64”>
<description>
SOAP-based e-checkin and flight info
</description>
<accesssPoint URLType=“http”>
http://www.acme-travel.com/travelservice
</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey=“D2033110-3BGF-1KJH-234C-09873909802”>
...
</tModelInstanceInfo>
</tModelInstanceDetails>
</bindingTemplate>
</bindingTemplates>
<categoryBag>
...
</categoryBag>
</businessService>
Service Key
Service Name
Binding Template
tModelDetails
Category
18. Binding TemplateBinding Template
Each binding Template structure represents anEach binding Template structure represents an
individual Web service. In contrast with theindividual Web service. In contrast with the
business Service and business Entity structures,business Service and business Entity structures,
which are oriented toward auxiliary informationwhich are oriented toward auxiliary information
about providers and services, a binding Templateabout providers and services, a binding Template
provides the technical information needed byprovides the technical information needed by
applications to bind and interact with the Webapplications to bind and interact with the Web
service being described. It must contain eitherservice being described. It must contain either
the access point for a given service or anthe access point for a given service or an
indirection mechanism that will lead one to theindirection mechanism that will lead one to the
access point.access point.
19. tModeltModel
It is an abstract description of a particularIt is an abstract description of a particular
specification or behavior to which the web servicespecification or behavior to which the web service
adheres.adheres.
A <tModel> is a type of digital "fingerprint" forA <tModel> is a type of digital "fingerprint" for
determining the specifics of how to interact with adetermining the specifics of how to interact with a
particular web service.particular web service.
The <tModel> structure does not provide the webThe <tModel> structure does not provide the web
service's specification directly. Instead, itservice's specification directly. Instead, it
contains pointers to the locations of the actualcontains pointers to the locations of the actual
specifications.specifications.
20. Limitations of UDDILimitations of UDDI
tModels are not stored in UDDI registriestModels are not stored in UDDI registries
themselves. A unique identifierthemselves. A unique identifier
referencing a tModel is contained in thereferencing a tModel is contained in the
registries.registries.
There is no uniform way of querying aboutThere is no uniform way of querying about
services, service interfaces andservices, service interfaces and
classifications.classifications.
UDDI does not support WSDL securityUDDI does not support WSDL security
21. More Limitations…More Limitations…
Out-of-date service documents inOut-of-date service documents in
UDDI registries. No dynamicUDDI registries. No dynamic
discovery functionalitydiscovery functionality
Limited query capabilities: sLimited query capabilities: search forearch for
services restricted to WS name andservices restricted to WS name and
its classificationits classification
Editor's Notes
The Universal description, discovery, and integration specifications offer users a unified
and systematic way to find service providers through a centralized registry of services.
It is roughly equivalent to an automated online “phone directory” of Web Services.
UDDI provides two basic specifications that define a service registry’ s structure and
operation. First, it specifies schemas to encode information about businesses that deploy WSs and
Schemas to encode information about WSs themselves. Second, it provides a query and
update API for the registry that describes how information can be accessed and updated.
UDDI is a WS-I compatible specification.
UDDI is based on XML, HTTP, IP, SOAP, WSDL standards.
UDDI 3.0 has been released in August 2003.
Broader B2B: easier integration into and across marketplaces
Smarter Search: programmatic discovery of web services
Easier Integration: programmatic combine services from multiple firms
UDDI registry is organized around two fundamental entities that describe businesses and the services they provide.
First entity is businessEntity.
Business entity
provides information, including identifiers, contact information etc. [white-pages information]
includes one or more businessService (service entity) elements that represents the services it provides
specifies a categoryBag to categorize the business [yellow-pages information]
a unique key identifies each businessEntity
No comments.
Second entity is service entity.
businessService entity
includes information such as name, description. [white-pages information]
uniquely identified by a service key
specifies a categoryBag to categorize the the service [yellow-pages information]
contains a list of bindingTemplates which in turn contains tModelInstanceDetails encoding the technical service information [green-pages information]
includes reference to its host with a businessKey
No comments.
Second entity is service entity.
businessService entity
includes information such as name, description. [white-pages information]
uniquely identified by a service key
specifies a categoryBag to categorize the the service [yellow-pages information]
contains a list of bindingTemplates which in turn contains tModelInstanceDetails encoding the technical service information [green-pages information]
includes reference to its host with a businessKey
Second entity is service entity.
businessService entity
includes information such as name, description. [white-pages information]
uniquely identified by a service key
specifies a categoryBag to categorize the the service [yellow-pages information]
contains a list of bindingTemplates which in turn contains tModelInstanceDetails encoding the technical service information [green-pages information]
includes reference to its host with a businessKey
The interface (describe as a WSDL file) is referred to by a UDDI construct called TModel,
and is not contained in the UDDI registration itself. As a result in UDDI, there is no uniform
way of querying about services, their interfaces and their classifications.
UDDI provides limited query ability. For instance it allows business type information such
as contact info to be searched.
A clear requirement for UDDI is that the contents of the registry data must be trustworty.
If a user cannot trust registry data, there will be no reason to use the registry for service discovery.