Wednesday, April 22, 2009

UDDI

Universal Description Discovery and Integration

Discovering web services
•Service registry
•Service discovery: simple discovery; sophisticated discovery; something in between
•With UDDI, services can be categorized, identified, and crosschecked against technbical specifications

Point-of-Offering
•The requester uses HTTP requests as the main way of retrieving a service description
•The advantage of WSDL repository is the possibility of additional features

Types of service discovery
•Static: happens at design time (in application logic)
•Dynamic: occurs at runtime. Application itself performs the find operation on the service registry to discover and bind to the web service

UDDI specification
•UDI information model (describes UDDI data structures)
•UDDI API set (publish information to and obtain information from a UDDI registry)

Core components
•businessEntity
•businessService
•bindingTemplate
•tModel















High-level overview of service discovery process
•The registry receives tModel descriptions
•The registry receives service descriptions
•tModels and business registrations are given unique keys and registered
•The registry is queried
•Businesses use registry data

Main types of UDDI registries
•The public UDDI Business Registry (UBR, operator node) – replicated with the other implementations on a regular basis. (IBM, Microsoft, SAP, NTT) (white page: company info; yellow page: categorize by products or services; green page: tech info such as binding)
•Private registries – for internal web services

UBR limitations
•Security issues
•No last updated info
•No info about the quality of web service
•Alternative to UDDI is Web Services Inspection Language (WS-inspection) [faster that UBR, but need to know where the service provider is; not a standard]
•Alternative directory structure (ebXML):

Data Structure (2.0)











businessEntity (white page)














businessServices (group of web services)












•identifierBag: unique id
•categoryBag: category (yellow page)












bindingTemplates and tModel













tModel: how service requesters can invoke a web service















•publisherAssertion
- Details about the relationship between two businessEntity element
- keyValue can be paent-child; peer-peer; identity







Relationship between WSDL and UDDI
















Relationship between WSDL and UDDI
•WSDL:interface – UDDI tModel
•WSDL:service – UDDI businessService

API sets
•Inquiry API
•Publishing API
•Implemented as SOAP for HTTP
•Publishing API calls use SOAP over HTTPS
•Inquiry API uses SOAP over HTTP (query patterns: [browse; drill-down; invocation])

Publishing API calls
•save_buysiness
•save_service
•save_binding
•save_tModel
•get_assertionStatusReporty
•get_authToken: Called before information publish
•get_publisherAssertions
•get_registeredInfo
•Add_xxx; delete_xxx; discard_xxx; set_xxx

Inquiry API calls
•find_business
•find_relatedBusinesses
•find_service
•find_binding
•find_tModel
•get_xxx

No comments:

Post a Comment