5. UDDI Essential - PowerPoint PPT Presentation

About This Presentation
Title:

5. UDDI Essential

Description:

XML Messaging XML-RPC, SOAP,XML. Transport HTTP,SMTP,FTP, BEEP ... If everything's fine, the buyers can also submit the purchase order using PIP3A4 ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 43
Provided by: ValuedSony4
Category:

less

Transcript and Presenter's Notes

Title: 5. UDDI Essential


1
5. UDDI Essential
2
Web Service Protocol Stack
Discovery UDDI
Searching / Publishing Web Services
Description WSDL
Describing Web Services interface
XML Messaging XML-RPC, SOAP,XML
Transport HTTP,SMTP,FTP, BEEP
Encoding messages in XML format
Transporting XML messages between client and
server
3
  • UDDI stands for Universal Description, Discovery,
    and Integration
  • Represent a technical specification for
    publishing and finding businesses and Web
    services
  • UDDI 1.0 was originally announced by Microsoft,
    IBM and Ariba in September 2000
  • In May 2001, Microsoft and IBM launched the first
    UDDI operator sites
  • UDDI 2.0 was announced in June 2001
  • Approved by the Organization for the Advancement
    of Structured Information Standards (OASIS) as a
    formal standard in April 2003
  • Currently UDDI 3.0 has been published as OASIS
    committee specifications

4
  • Consist of two parts
  • A technical specification for building
    distributed directory of businesses and web
    services
  • UDDI Business Registry is a fully operational
    implementation of the UDDI specification (stopped
    in Jan 2006)
  • The data captured within UDDI is divided into
    three main categories
  • White pages
  • Contain general info about a specific company
  • E.g. Business name, business description, contact
    info, address and phone nos.

5
  • Yellow pages
  • Extend the ability to locate a business or
    service
  • Support classification using various taxonomy
    systems for categorization
  • Green pages
  • Provide information on how and where to
    programmatically invoke a service
  • Contain technical info about a Web service
  • Provide address for invoking service
  • Not necessary SOAP-based service
  • Can provide references to a Web page, email
    address or services using other component
    technologies, CORBA, RMI, etc.

6
Yellow page data allow us to search by category
of service or provider
7
Why UDDI?
  • UDDI addresses a number of business problems
  • Help broaden and simplify business-to-business
    (B2B) interaction by allowing efficient, simple
    and automatic discovery of business and services
  • Discovery of service can be done automatically
    without human intervention
  • Allows dynamic integration of relevant Web
    services into an aggregate business process
  • Hence enable one-stop shopping for information on
    businesses and electronic services

8
For example, RosettaNet A Consortium with more
than 400 companies in IT, electronic component,
and semiconductor manufacturing industry
9
  • One of RosettaNets main accomplishments is the
    creation of Partner Interface Processes (PIPs)
  • PIPs are XML-based interfaces that enable two
    trading partners to exchange data. E.g.
  • PIP2A2 Enable a partner to query another for
    product info
  • PIP3A4 Enable a partner to submit an electronic
    purchase order and receive acknowledgement of the
    order
  • Many PIPs have been registered within the UDDI of
    RosettaNet

10
  • RosettaNet facilitates, using its UDDI, the
    semiconductor companies to integrate into
    existing supply chains
  • The companies can register themselves in the UDDI
    to advertise their components
  • By using PIP2A2, the buyers can query their
    product info
  • If everythings fine, the buyers can also submit
    the purchase order using PIP3A4
  • RosettaNet also facilitates, using its UDDI, the
    electronic companies to look up the products of
    different semiconductor companies to form its
    supply chain

11
  • RosettaNet is just a Web portal with the
    following additional features
  • Automatic
  • Operations, such as discovering and publishing,
    are not only done by human but also computer
    programs automatically
  • Standard interface
  • PIPs are provided for human or computer programs
    to communicate
  • Seamless integration
  • Allow integration of services by chaining
    together services at run time

12
UDDI Technical Overview
  • The UDDI technical architecture consists of three
    parts
  • UDDI data model
  • An XML Scheme (a rule) for describing businesses
    and web services
  • UDDI API
  • A SOAP-based API for searching and publishing
    UDDI data
  • UDDI cloud services (stopped in Jan 2006)
  • Operator sites that provide implementations of
    the UDDI specification (e.g. Microsofts UDDI
    site)

13
UDDI Data Model
  • UDDI includes an XML Schema that describes four
    core types of information
  • businessEntity
  • About the actual business, e.g. business name,
    etc.
  • businessService
  • About the services provided by the business
  • bindingTemplate
  • About how and where to access a specific service
  • tModel (Technical Model)
  • Include descriptions and pointers to external
    technical specifications or taxonomies

14
UDDI Business Registry
ltBusinessgt ltbusinessEntitygt
lt/businessEntitygt lt/Businessgt
ltServicegt ltbusinessServicegt
ltbindingTemplategt
lt/bindingTemplategt lt/businessServicegt lt/Servicegt
ltTModelgt lttModelgt
lt/tModelgt lt/TModelgt
15
A. businessEntity
ltbusinessEntity   businessKey
ba744ed0-3aaf-11d5-80dc-002035229c64gt ltnamegt
XMethods lt/namegt ltdescriptiongt
lt/descriptiongt ltcontactsgt ltcontactgt
lt/contactgt ltcontactgt lt/contactgt
lt/contactsgt ltidentifierBaggt lt/identifierBaggt
ltcategoryBaggt lt/categoryBaggt lt/businessEntitygt
Typical contents of businessEntity element
16
  • businessEntity element includes info about the
    actual business
  • Business name, description, contact info such as
    address, phone, contact person, etc.
  • Each business will receive a unique businessKey
    value when registration to a UDDI server
  • e.g. businessKey of Microsoft in its UDDI server
    0076b468-eb27-42e5-ac09-9955cff462a3
  • The key is used to tie a business to its
    published services

17
  • Can also include other unique value(s) in
    identifierBag that identifies the company
  • UDDI supports Dun Bradstreet D-U-N-S Numbers
    and Thomas Registry Supplier IDs
  • e.g. Microsofts Dun Bradstreet D-U-N-S No
  • 08-146-6849
  • Businesses can also register multiple business
    categories in categoryBag based on standard
    taxonomies, e.g.
  • NAICS The North American Industry Classification
    System provides industry classification
  • UNSPSC Universal Standard Products and Service
    Classification provides product and service
    classification

18
Examples of identifierBag and categoryBag
contents (Microsoft)
ltidentifierBaggt ltkeyedReference
tModelKey uuid8609c81e-ee1f-4d5a-b202-3eb13a
d01823 keyNameD-U-N-S keyValue08-146-684
9 /gt lt/identifierBaggt ltcategoryBaggt
ltkeyedReference tModelKey
uuidc0b9fe13-179f-413d-8a5b-5004db8e5bb2
keyNameNAICS Software Publisher
keyValue51121 /gt lt/categoryBaggt
19
E.g. NAICS classification of Microsoft is
Software Publisher with no. 51121
20
B. businessService
To tie the service with the business
ltbusinessService   serviceKey
d5921160-3e16-11d5-98bf-002035229c64
businessKey ba744ed0-3aaf-11d5-80dc-00203522
9c64gt ltnamegtXMethods Delayed Stock
Quoteslt/namegt ltdescriptiongt lt/descriptiongt
ltbindingTemplatesgt ltbindingTemplategt
lt/bindingTemplategt lt/bindingTemplatesgt lt/busin
essServicegt
Typical contents of businessService element
21
  • businessService element includes info about a
    single web service or a group of related Web
    services
  • Include the name, description and an optional
    list of bindingTemplates
  • Like businessEnitity, each businessService has a
    unique service key
  • Should specify the businessKey to relate with the
    business that provides that service

22
C. bindingTemplate
ltbindingTemplate serviceKeyd5921160-3e16-11d5-
98bf-002035229c64 bindingKeygt
ltdescription xmllangengt lt/descriptiongt
ltaccessPoint URLTypehttpgt
http//services.xmethods.net80/soap
lt/accessPointgt lttModelInstanceDetailsgt
lt/tModelInstanceDetailsgt lt/bindingTemplategt
Typical contents of bindingTemplate element
23
  • bindingTemplate element includes info about how
    and where to access a specific web service
  • E.g. The Stock Quote Service is available via
    SOAP at http//services.xmethods.net80/soap
  • The serviceKey ties the bindingTemplate with the
    businessService the Stock Quote Service
  • tModelInstanceDetails should further specify the
    key of the tModel used in this service

lttModelInstanceDetailsgt lttModelInstanceInfo
tModelKey uuid0e727db0-3e14-11d5-98bf-
002035229c64/gt lt/tModelInstanceDetailsgt
24
D. tModel
  • tModels are primarily used to provide pointers to
    external technical specifications
  • bindingTemplate only provides info about where to
    access the SOAP binding, but not how to interface
    with it
  • tModel element fills this gap by providing a
    pointer to an external specification, such as
    WSDL
  • In fact, tModels are not reserved to Web services
  • tModels are used whenever it is necessary to
    point to any external specification, such as the
    D-U-N-S no. (see p.19)

25
Same as that listed in bindingTemplate
lttModel tModelKey uuid0e727db0-3e14-11d5-98
bf-002035229c64 gt ltdescription
xmllangengt Simple stock quote interface
lt/descriptiongt ltoverviewDocgt ltdescription
xmllangengtwsdl link lt/descriptiongt
ltoverviewURLgt http//www.xmethods.net/tmodel
s/ SimpleStockQuote.wsdl
lt/overviewURLgt lt/overviewDocgt
A pointer points to the actual WSDL file
26
key to this external specification
ltcategoryBaggt ltkeyedReference
tModelKey uuidc1acf26d-9672-4404-9d70-39b756e
62ab4 keyNameuddi-orgtypes
keyValuewsdlSpec /gt lt/categoryBaggt lt/tModelgt
Define the category of this tModel Categorization
scheme uddi-orgtypes Category wsdlSpec
27
(No Transcript)
28
UDDI API
  • There are two ways to search or publish a
    business/service
  • Using the Web pages provided by the UDDI
    implementation (UDDI cloud service), such as
    uddi.microsoft.com
  • ? Need human intervention
  • Using the APIs provided by UDDI
  • ? Can be made automatic by calling the APIs with
    computer programs
  • UDDI APIs can be divided into two parts
  • Inquiry APIs
  • Publishing APIs

29
Inquiry Operations Publishing Operations
Find Save find_business save_business
find_service save_service find_binding
save_binding find_tModel save_tModel Get
details Delete get_businessDetail
delete_business get_serviceDetail
delete_service get_bindingDetail
delete_binding get_tModelDetail
delete_tModel get_registeredInfo
get_registeredInfo Security get_authToken,
discard_authToken
Examples of Inquiry and Publishing APIs
30
UDDI Client
UDDI Registry Node
Registry
Wrapped by SOAP envelope and sent thru HTTP
31
Example find_business
Wrapped by a SOAP envelope
Default namespace Based on SOAP 1.1
ltenvelope xmlns http//schemas.xmlsoap.org/soa
p/envelope/gt ltbodygt ltfind_business
generic1.0 xmlnsurnuddi-orgapigt
ltnamegtXMethodslt/namegt lt/find_businessgt
lt/bodygt lt/envelopegt
Using UDDI 1.0
UDDI API find-business
Look for XMethod (ignore case, perform
left-to-right lexical search)
32
ltenvelope xmlns http//schemas.xmlsoap.org/soap
/envelope/gt ltbodygt ltbusinessList
generic1.0 operatorMicrosoft
Corporation truncatedfalse
xmlnsurnuddi-orgapigt ltbusinessInfosgt
ltbusinessInfo businessKey
ba744ed0-3aaf-11d5-80dc-002035229c64gt
ltnamegtXMethodslt/namegt ltdescriptiongt
lt/descriptiongt ltserviceInfosgt
ltserviceInfogt lt/serviceInfogt
lt/serviceInfosgt lt/businessInfogt
lt/businessInfosgt lt/businessListgt
lt/bodygt lt/envelopegt
A full record is shown, not partial
Business info about XMethod
Indicate the service(s) provided by XMethod
Response from Microsoft UDDI Registry
33
Example get_businessDetail
ltenvelope xmlns http//schemas.xmlsoap.org/soa
p/envelope/gt ltbodygt ltget_businessDetail
generic1.0 xmlnsurnuddi-orgapigt
ltbusinessKeygt ba744ed0-3aaf-11d5-80d
c-002035229c64 lt/businessKeygt
lt/get_businessDetailgt lt/bodygt lt/envelopegt
To query for the complete businessEntity record
based on its key
34
ltenvelope xmlns http//schemas.xmlsoap.org/soap
/envelope/gt ltbodygt ltbusinessDetail
generic1.0 operatorMicrosoft
Corporation truncatedfalse
xmlnsurnuddi-orgapigt ltbusinessEntity
businessKey ba744ed0-3aaf-11d5-80dc-0020352
29c64gt ltnamegtXMethodslt/namegt
ltdescriptiongt lt/descriptiongt ltcontactsgt
ltcontactgt lt/contactgt lt/contactsgt
ltbusinessServicesgt
lt/businessServicesgt lt/businessEntitygt
lt/businessDetailgt lt/bodygt lt/envelopegt
businessEntity record
Response from Microsoft UDDI Registry Return a
businessEntity record
35
An example of Publication, Inquiry and Invocation
Process
UDDI Registry
Company ABC
Publication
36
  • The objective of publishing business is to allow
    the clients to know the details of the business
  • such as the name of the company, the contact
    person, address and phone number etc.
  • By publishing the service, the clients would know
    where and how to contact the service provider
  • such as the access point (or URL) of the service,
    transport protocol used (HTTP, FTP or else)
  • Publishing the tModel allows the clients to
    invoke the service provided by the business
  • based on the WSDL document of the service

37
UDDI Registry
Company XYZ
38
UDDI Registry
get_serviceDetail (ABCs serviceKey)
Company XYZ
39
UDDI Registry
Company XYZ
40
Company ABC
Company XYZ
41
Company ABC
Company XYZ
ASSUME GLUE is using
42
UDDI Toolkits
  • Similar to SOAP, there are many development
    platforms of UDDI that help to hide away the
    difficulty of directly programming in XML
  • Earlier one UDDI for Java (UDDI4J)
  • A Java client toolkit developed by IBM for
    retrieving and publishing UDDI data
  • WebSphere also provides a UDDI registry along
    with its WebSphere Application Server Network
    Deployment version 5.1
  • Implement full set of UDDI APIs to facilitate the
    publish and inquiry of businesses and services
  • Further implementation details can be obtained in
    Tutorial 5
Write a Comment
User Comments (0)
About PowerShow.com