universal description, discovery and integration
TRANSCRIPT
UDDIUDDI (Universal Description, (Universal Description,
Discovery and Discovery and Integration)Integration)
Prepared By:
Name: Kishan Patel
CSE and IT Department
SVMIT, Bharuch
A Registry for WSs: UDDIA Registry for WSs: UDDI
UDDI is a platform-independent framework for describing services, UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using discovering businesses, and integrating business services by using the Internet.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 and develops OASIS UDDI Specifications Technical Committee manages and develops
UDDI SpecificationsUDDI Specifications
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
BroaderB2B
A flower shop in Australia wants to be “plugged in” to every marketplace in the world, but doesn’t know how
SmarterSearch
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
IntegrateThemTogether
UDDI ImplementationUDDI Implementation
UDDI Business RegistryProgrammatic descriptions of web servicesProgrammatic descriptions of businesses and the services they support Programming model, schema, and platform agnosticUses XML, HTTP, and SOAPFree on the Internet
Manufacturers
Flower Shops
Marketplaces
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 TypeReistrations
SW companies, standards bodies, and programmers populate the registry withdescriptions of different types of services
1.
BusinessRegistrationsBusinesses
populate the registry withdescriptions of the services they support
2.
Business uses this data to facilitate easier integration with each other over the Web
5.
Registry DataRegistry Data
a business can a business can register three types register three types of information into a of information into a UDDI registryUDDI registry
WhitePages
YellowPages
GreenPages
Service TypeRegistrations
White PagesWhite Pages Basic information about the Company and Basic information about the Company and
its business.its business.
Basic contact information including business Basic contact information including business name, address, contact phone number etc.name, address, contact phone number etc.
A unique identifiers for the company tax IDs. A unique identifiers for the company tax IDs. This information allows others to discover This information allows others to discover your web service based upon your business your web service based upon your business identification.identification.
Yellow PagesYellow Pages
This has more details about the company, This has more details about the company, and includes descriptions of the kind of and includes descriptions of the kind of electronic capabilities the company can electronic capabilities the company can offer to anyone who wants to do business offer to anyone who wants to do business with it.with it.
It uses commonly accepted industrial It uses commonly accepted industrial categorization schemes, industry codes, categorization schemes, industry codes, product codes, business identification codes product codes, business identification codes and the like to make it easier for companies and the like to make it easier for companies to search through the listings and find to search through the listings and find exactly what they want.exactly what they want.
Green PagesGreen Pages This has more details about the company, and This has more details about the company, and
includes descriptions of the kind of electronic includes descriptions of the kind of electronic capabilities the company can offer to anyone capabilities the company can offer to anyone who wants to do business with it.who wants to do business with it.
It uses commonly accepted industrial It uses commonly accepted industrial categorization schemes, industry codes, categorization schemes, industry codes, product codes, business identification codes product codes, business identification codes and the like to make it easier for companies to and the like to make it easier for companies to search through the listings and find exactly search through the listings and find exactly what they want.what they want.
Service Type RegistrationService Type Registration Pointer to the namespace where service Pointer to the namespace where service
type is describedtype is described• What programmers read to understand how What programmers read to understand how
to use the serviceto use the service Identifier for who published the serviceIdentifier for who published the service Identifier for the service type registrationIdentifier for the service type registration
• called a tModelKeycalled a tModelKey• Used as a signature by web sites that Used as a signature by web sites that
implement those servicesimplement those services
UDDI at WorkUDDI at Work
Harbour Metals createsonline website with local ASP
1.SydneyNet.com
Marketplaces and search enginesquery 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 registersHarbour Metals with UBR
UDDI Registry
Example of a RegistrationExample of a Registration
businessEntityTB993… Harbour Metalswww.harbourmetals.co.au“Serving Inner Sydney Harbour for …contactsbusinessServicesidentifierBagcategoryBag
872-68914281 King’s Blvd, Sydney, [email protected]
Peter Smythe
businessServiceKeyNameDescriptionBindingTemplates
businessService
23T701e54683nf…Online catalog“Website where you can …BindingTemplates
BindingTemplate5E2D412E5-44EE-…http://www.sydneynet/harbour…tModelInstanceDetails
tModelInstanceInfo
4453D6FC-223C-3ED0…
http://www.rosetta.net/catalogPIP
keyedReference
DFE-2B…DUNS45231
keyedReference
EE123…NAICS02417
tModelKeys
UDDI Data StructuresUDDI Data Structures
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 (service includes one or more businessService (service
entity) elements that represents the services it entity) elements that represents the services it providesprovides
• specifies a categoryBag to categorize the specifies a categoryBag to categorize the business business [yellow-pages information][yellow-pages information]
• a unique key identifies each businessEntitya unique key identifies each businessEntity
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=““>[email protected]</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 KeyBusiness Name
Services
Category
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 the specifies a categoryBag to categorize the
service service [yellow-pages information][yellow-pages information]• contains a list of bindingTemplates which in contains a list of bindingTemplates which in
turn contains tModelInstanceDetails encoding turn contains tModelInstanceDetails encoding the technical service information the technical service information [green-pages [green-pages information]information]
• includes reference to its host with a includes reference to its host with a businessKeybusinessKey
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
Binding TemplateBinding Template
Each binding Template structure represents an Each binding Template structure represents an individual Web service. In contrast with the individual Web service. In contrast with the business Service and business Entity structures, business Service and business Entity structures, which are oriented toward auxiliary information which are oriented toward auxiliary information about providers and services, a binding Template about providers and services, a binding Template provides the technical information needed by provides the technical information needed by applications to bind and interact with the Web applications to bind and interact with the Web service being described. It must contain either service being described. It must contain either the access point for a given service or an the access point for a given service or an indirection mechanism that will lead one to the indirection mechanism that will lead one to the access point.access point.
tModeltModel
It is an abstract description of a particular It is an abstract description of a particular specification or behavior to which the web service specification or behavior to which the web service adheres.adheres.
A <tModel> is a type of digital "fingerprint" for A <tModel> is a type of digital "fingerprint" for determining the specifics of how to interact with a determining the specifics of how to interact with a particular web service. particular web service.
The <tModel> structure does not provide the web The <tModel> structure does not provide the web service's specification directly. Instead, it service's specification directly. Instead, it contains pointers to the locations of the actual contains pointers to the locations of the actual specifications.specifications.
Limitations of UDDILimitations of UDDI
tModels are not stored in UDDI registries tModels are not stored in UDDI registries themselves. A unique identifier themselves. A unique identifier referencing a tModel is contained in the referencing a tModel is contained in the registries.registries.
There is no uniform way of querying about There is no uniform way of querying about services, service interfaces and services, service interfaces and classifications.classifications.
UDDI does not support WSDL securityUDDI does not support WSDL security
More Limitations…More Limitations…
Out-of-date service documents in Out-of-date service documents in UDDI registries. No dynamic UDDI registries. No dynamic discovery functionalitydiscovery functionality
Limited query capabilities: sLimited query capabilities: search for earch for services restricted to WS name and services restricted to WS name and its classificationits classification