Title: UDDI
1UDDI UBR Publishing and Discovering
Businesses and Services
- CSCI8351
- Yin Xiong
- 01/14/2003
2Outline
- UDDI UBR
- Major UBRs
- - Microsoft UBR
- - IBM UBR
- - SAP UBR
- - NTT-com UBR
- UBRs Interface for Human Users
- UBRs Interface for Machines (programmers)
- Semantic Web Where does it Fit in?
- References
3UDDI
- UDDI Universal Description, Discovery, and
Integration - UDDI provides three basic functions
- - Publish How the provider of a Web service
registers itself. - - Find How an application finds a particular
Web service. - - Bind How an application connects to, and
interacts with, a Web service after it's been
found. - UDDI registry contains three kinds of information
- - White pages Information such as the name,
address, telephone number, and other contact
information of a given business. - - Yellow pages Information that categorizes
businesses. This is based on existing
(non-electronic) standards - - Green pages Technical information about
the Web services provided by a given business. - UDDI.org has released the UDDI Version 3
specification. - the vision of UDDI a "meta service" for locating
web services by enabling robust queries against
rich metadata - emphasizing the interaction of private and public
registries
4UBR
- UBR Universal Business Registry
- provided by UDDI Operators SAP, IBM, Microsoft,
NTT, etc. - Replicate information over different UBRs
- Provide free publishing/searching services
- Cooperate with private registries
5Major UBRs
- Microsoft URB
- IBM UBR
- SAP UBR
- NTT UBR (Asias first, in Japan)
6UBRs Interface for Human Users
- Menu bar, pop up window, directions, online help,
embedded links easy to use - Real URB site for business
- Test UBR site for developers
- Security feature user id, password, email
confirmation - Responsibility agreement to sign
- -- anyone can say anything about anything
7Microsoft UBR a Hands-on Experience
- Real UBR http//uddi.microsoft.com/
- - for real businesses
- - register
- - publish/update/change business listing and
technical info - - replicated in other UBRs maintained by UDDI
Operators - Test UBR http//test.uddi.microsoft.com/
- - for programmers
- - register
- - publish/update/change web service info
- - wont affect other web services
8Register with Microsoft UBR
- To publish your web services at Microsoft UBR,
you must first register with it - How to register with Microsoft (test) UBR
- - get a .NET Passport if you dont have one
- - sign in with your .NET Passport e-mail
address and password - - register with MS test UBR
- - confirm email is sent to your email address
- - click on the link embedded in the email and
the verification is done
9Publish/Update/Change Your Business/services Info
- You can register your business/web services with
Microsoft UBR by providing - - Business listing
- -Technical details
- MyUDDI (system generated)
- Provider
- tMOdel
-
10Provider
- Provider a party, such as a person, group, or
business, that offers and supports a Web service - Provider info Include
- Details owner, provider key (system generated)
- Services categorize services and provide one or
more access points (bindings) - Contacts human or automated resource
- Identifiers (optional) company-wide
identification scheme (e.g. cost code or D-U-N-S
Number) or tModel - Categories A categorization scheme is a
predefined set of categories If an appropriate
categorization is not available, contact a UDDI
Services Coordinator. - Discovery URLs additional technical or
descriptive information about a provider (an
HTTP-accessible resource ) - Relationships defines a hierarchy between two
providers, inside or outside of your enterprise,
such as a parent-child relationship or a
business-to-business partnership
11Existing Categorization Schemes
- uddi-orgtypes
- uddi-orgrelationships
- ntis-govsic1987
- unspsc-orgunspsc3-1
- unspsc-orgunspsc
- microsoft-comgeoweb2000
- ntis-govnaics1997
- VS Web Service Search Categorization
- uddi-orgiso-ch31661999
12Existing Categories
- Under each categorization scheme, there are a
number of categories or subcategories, e.g. - - Calendar
- - Charting
- - Collaboration
-
- You select the proper categories for your
- business/web services. If the category you need
is - not there, contact Microsoft UBR personnel.
13tModel
- tModel typically represents a description of an
interface and can be referenced as part of the
binding and instance information for a service - tModel key unique and is intended for use in
programmatic queries only - e.g. uuid071bedb7-c7cd-449c-a260-1634636b862a
- tModel name Calendar, DAML-S, etc. (can be
searched by initial letter(s)) - Descriptions (255 characters, text only)
-
14Search
- Browse/search by
- - categories
- - services
- - providers
- - tModels
- -- type one or more initial characters use as
a wildcard character
15What Do You Get from Search
- Outlined info about a business/web service
- Click on a specific service, youll get info
about - - Details tModel name, owner, tModel key
- - Identifiers
- - Categories
- - Overview document (by following a link)
- e.g. http//HERITAGE-5844F9.cegep-heritage.qc.ca
8888/C40Exam-PartsWS-context-root/partswspk.Parts
.WSDL
16IBM UBR a Hands-on Experience
- Business node https//uddi.ibm.com/ubr/registry.
html - Test node for developers https//uddi.ibm.com/tes
tregistry/registry.html - Similar to Microsoft UBR
- - A UDDI Business Registry (UBR) Node
- - Development Test Site
- - Registration
- - Publish/update/change
- - Search
- -- by business, service, technical
model - -- select categories
- -- provide start with (initial
letters), value - - Search result
- -- key, name, description, owner,
access point (s)
17My Experience of Using Microsoft IBM UBRs
- Detailed direction about how to publish (e.g. how
to specify provider, tModel, etc.) - Unique provider key
- Easy to search
- - Various ways of search by category or by
initial letters of a - (service, provider, tModel) name
- - Browse by category
- Result displayed with links
- Businesses/services replicated in major UBRs
- (e.g. search traffic in both Microsoft UBR
and IBM UBR, youll get - services with the name California Highway
Conditions and traffic ) - Not too many services listed
- Some dont have detailed information
- IBM UBR is extremely slow these days
- --- on the whole, satisfied as a human user
18UBRs Interface for Machines (Programmers)
- Similarities
- - functionalities for registering, publishing
and searching business/service info - - packages/libraries to ease the programming
job - Differences
- - languages (C, Java, etc.)
- - toolkits
- - incorporated with vendor-specific technologies
19Microsoft UBRs Interface for Programmers
- Microsofts two public UDDI nodes are accessible
through the UDDI Programmers' API -
- The Microsoft UDDI Software Development Kit
(SDK) enables client applications to interact
programmatically at a high level of abstraction
with UDDI registry servers that support version 2
of the UDDI specification. - SDK includes
- - the Microsoft UDDI managed assembly
- - comprehensive documentation
- - sample applications
- - the UDDI Publish Wizard enabling publishing
of Web service details to UDDI from within Visual
Studio .NET 2003. - The SDK is designed to be used from
- - Visual Studio
- - .NET 2003 or
- - Visual Studio 6.0.
- This SDK is available as part of the Windows Core
SDK within the Platform SDK. -
20Sample code (C) Getting Detailed tModel
Information
- using System
- using Microsoft.Uddi
- using Microsoft.Uddi.TModels
- public class GetMyTmodelDetails
- public static void Main(string args)
- try
- // Create a connection to the UDDI server that is
to be accessed. UddiConnection myConn new
UddiConnection("http//test.uddi.microsoft.com/inq
uire") - // Create an object to get the details for a
specific tModel. - GetTModelDetail gt new GetTModelDetail("uuidac1
04dcc-d623-452f-88a7-f8acd94d9b2b") - // Send the GetTModelDetail request over the
connection. - TModelDetail tModDetail gt.Send(myConn)
- // Since a single key was provided, a single set
of tModel details should be returned. - foreach (TModel tMod in tModDetail.TModels)
- Console.WriteLine("tModel name "
tMod.Name.Text) - Console.WriteLine("Overview document description
" tMod.OverviewDoc.Descriptions0.Text)
21IBM UBRs Interface for Programmers UDDI4j
- an open-source Java implementation of the UDDI
protocol (client side) - Java class library that provides an API to
interact with a UDDI registry. - enabling businesses to
- (I) discover each other, and
- (II) define how they interact over the internet
and share information in a global registry
architecture.
22Most Important Classes
- Classes BusinessEntity, BusinessService,
BindingTemplate, TModel - Business information Contained in a
BusinessEntity object, which in turn contains
information about - - services
- - categories
- - contacts
- - URLs
- - other things necessary to interact with a
given business. - Service information Describes a group of Web
services. Contained in a BusinessService object. - Binding information The technical details
necessary to invoke a Web service. Contained in
BindingTemplate. This includes - - URLs
- - information about method names
- - argument types, and so on.
- Specifications for services This is metadata
about the various specifications implemented by a
given Web service. These are called tModels in
the UDDI specification the UDDI4J TModel object
represents this data.
23Sample Application Find a business in the UDDI
registry
- //creating a UDDI proxy It has all the
methods you need to connect to a UDDI //registry,
execute a query, and process the results - UDDIProxy proxy new UDDIProxy()
proxy.setInquiryURL("http//www3.ibm.com/services/
uddi/ testregistry/inquiryapi")
proxy.setPublishURL( - "https//www-3.ibm.com/services/uddi/tes
tregistry/protect/publishapi") - //find a business in the UDDI registry the
first is the search parameter, the - //second is a FindQualifiers object (null in
this example), and the third is the - //number of matches to return (0 means return
all matches) - BusinessList bl proxy.find_business("S",
null, 0) - //iterate through the list and prints the names
of all the businesses that match - Vector businessInfoVector
bl.getBusinessInfos().getBusinessInfoVector() - for (int i 0 i i)
- BusinessInfo businessInfo
(BusinessInfo)businessInfoVector.elementAt(i) - System.out.println(businessInfo.getNameSt
ring()) -
24Semantic Web Where does it Fit In?
- Current usage of UBR
- - manual publication and discovery of
businesses and web services - - large percent of human job even when using
programming APIs - - machine can extract data but not information
- - extracted info not enough for making
decisions (e.g. you find 3 web services under the
name calendar, but how can your machine know
which service is what you want, say, return the
day of week given a date?) -
25Semantic Web Where does it Fit In?
- Future UBR
- - metadata generated by system when businesses
register for their business/services - - semantic info extracted and stored in
database by the system when business describe
their services - - ontology provided for each category
-
26References
- http//uddi.microsoft.com/
- http//test.uddi.microsoft.com/
- https//uddi.ibm.com/ubr/registry.html
- https//uddi.ibm.com/testregistry/registry.html
- http//uddi.sap.com/
- http//www.ntt.com/uddi/index-e.html
- http//www-106.ibm.com/developerworks/webservices/
library/ws-uddi4j.html?dwzonewebservices