Title: UDDIe
1UDDIe
An Extended Registry for Web Services
Ali Shaikh Ali Department of Computer Science an
d Welsh E-Science/Grid Computing Centre
Cardiff University
A.Shaikhali_at_cs.cf.ac.uk
2My Background
- Currently working on my BSc degree
- Project on UDDIe
- Course on Computer Science
- Distributed Computing
- Databases/Advanced Databases
- Computer Security
- Knowledge Based Systems (KBS)
- Particular interest in
- KBS and Distributed Computing
3Agenda..
- Introduction to Web Services
- What are Web Services?
- Web Services Architecture
- Web Services Challenges
- UDDI
- The Role of UDDI as a Business Registry.
- The UDDI Architecture.
- Limitation of UDDI
- UDDIe
- UDDIe properties.
- Design
- Implementation
- Use Case QoS in service-oriented computing
4Buying a Car
- Wake up one day
- Its a good day to buy a car
- Have breakfast
- Go down to showroom and pick a car
- However, may not get a good deal
- Alternatives?
- Start to Google.com
- Magazine AutoTrader, FreeAds etc
- Ask a friend
- Approaches to help you search for cars
- All of these are time consuming
5Buying a Car made easier
- Try to interact with
- Car buying Service
- Reveal your preferences to service
- Service interacts with registries of a number of
showrooms concurrently
- Brings up a number of offers
- Much easier than Google or asking a friend (who
may want the same car also!)
6Web Services..
- An approach to building standards based
distributed applications
- Concept is not new
- CORBA
- DCOM
- RPC
- Characteristics
- More loosely coupled than traditional distributed
computing models.
- The way to Standardisation
7What are Web Services?
- No single definition of what the term Web
Services is.
- Web Services expose useful functionality through
a standard Web protocol.
- Simple Object Access Protocol (SOAP)
- Provide a way to describe their interfaces in
enough detail.
- Web Services Description Language (WSDL)
document.
- Registered with a Business Registry.
- The Universal Discovery Description and
Integration (UDDI).
8Web Services Architecture
- The Architecture pattern is an example of
service-oriented Architecture (SOA)
Figure is taken from IBM
9Web Services An Example
10Web Service Challenges
- Who provides Web Services?
- How are they implemented?
- Where are they exposed?
- What is their behaviour?
- Is an application compatible?
- What are they for?
- ... searching and indexing
- (find the right services at the right time)
11Agenda..
- Introduction to Web Services
- What is Web Services?
- Web Services Architecture
- Web Services Challenges
- UDDI
- The Role of UDDI as a Business Registry.
- The UDDI Architecture.
- Limitation of UDDI
- UDDIe
- UDDIe properties.
- Design
- Implementation
- Use Case QoS in service-oriented computing
- UDDIe and Mobile Agents
12UDDIan approach for such challenges
13What is UDDI?
- Universal Description Discovery and Integration
- Industry-wide initiative supporting web services
- Specifications
- Schemas for service description
- Schemas for business (service implementers)
description
- Developed on industry standards (XML, HTTP, IP,
SOAP)
14What Problems Does UDDI Solve?
15UDDI Registry Entries
- Entities register published informationabout
themselves
16- Business name
- General business description
- Any number of languages
- Contact info
- Names, phone numbers, fax numbers, web sites,
etc.
- Known identifiers
- List of unique identifiers for a business
- D-U-N-S, domain name, other
17- Contains classification information about the
types and location of the services that the
business entity offers.
- 3 standard taxonomies in V1
- Industry NAICS (Industry codes - US Govt.)
- Product/Services UN/SPSC (ECMA)
- Location Geographical taxonomy (ISO 3166)
- more in upcoming releases
- For BT the classification could be
Telecommunication, System developer.
18- New set of information businesses use to describe
how to do e-commerce with them
- Contain technical information about the details
of how to invoke the offered services
- If BT were to offer a Billing service online, its
Green pages entry would have a reference to its
Billing service URL.
19How UDDI Works
1.
Software companies, standards bodies, and
developers populate the registry with
descriptions (specifications) of types of services
Marketplaces, search engines, and business
applications query the registry to discover
services at other companies
4.
2.
UDDI Registry
Service Types
Implementations
5.
Implementers populate the registry with
descriptions of the services they support
Business uses this data to facilitate easier
integration with each other over the Web
20Public Registry Operation
- Peer registry nodes (websites)
- Information registeredwith any node
- Registrations replicatedon a daily basis
- Complete set ofregistered recordsavailable at
all nodes
- Common set ofSOAP APIs supportedby all nodes
- Compliance enforced by business contract
- All technologies applied
- Interoperability verified constantly
- Peer registry nodes (websites)
- Information registeredwith any node
- Registrations replicatedon a daily basis
- Complete set ofregistered recordsavailable at
all nodes
- Common set ofSOAP APIs supportedby all nodes
- Compliance enforced by business contract
- All technologies applied
- Interoperability verified constantly
queries
IBM
IBM
Ariba
Ariba
other
UDDI.org
other
other
Microsoft
Microsoft
21UDDI Limitations
- Dealing with missing services -- and similarly,
service documents which are out of date
- Search for services restricted to service name
and classification -- this is quite restrictive
- Cannot find partial matches to services
22Agenda..
- Introduction to Web Services
- What are Web Services?
- Web Services Architecture
- Web Services Challenges
- UDDI
- The Role of UDDI as a Business Registry.
- The UDDI Architecture.
- Limitation of UDDI
- UDDIe
- UDDIe properties.
- Design
- Implementation
- Use Case QoS in service-oriented computing
23UDDIe
- An Extension to UDDI v.2
- Support the notion of Blue Pages
- A new way to describe and discover Services
- dynamic meta-data
- A new way to control Services
- dynamic service life period
24dynamic meta-data Service Properties
- Each service has one or more properties.
- Service Properties could describe any thing, i.e.
QoS attributes.
- Discover services based on Service Properties.
25dynamic service life period Service Leasing
- Services published for limited time periods
- Deals with services which change often or missing
services
- Finite Lease
- Must define exact time periods for which service
may be discoverable
- Infinite Lease
- Service made available as persistent services
26Service Leasing ..2
- Future Lease
- Allow lease period to start at a future point in
time (i.e. service discoverable only after this
time period)
- Immediate Lease
- standard with UDDI -- service discoverable
immediately on publication
27Lease Manager
- Checks registry at periodic intervals
- responsible for ensuring leases obtained for
duration (or multiples) specified by admin.
- Services request lease based on this
- Checks services based on service expiry times
- Lease manager is independent of database/registry
28UDDIe Architecture..
BusinessEntity businessInfo
BusinessService
BusinessService
categoryBag ServiceName ServiceDescription Prop
ertyBag
ServiceLease
categoryBag ServiceName ServiceDescription
UDDIe
BindingTemplate
TModel
29PropertyBag
- List of service properties that may be searched
-
-
- CPU
number 800
-
-
User Defined -- may use some predefined ontology
or metadata format (can be strings or number)
- Additional find qualifiers
- exactPropertyMatch (services which
- have exactly the requested properties)
- exactMatch (also uses keyedReference
- and categoryBag)
30Lease
DD/MM/YYYY hhmmss
Number of times lease renewed
31APIs
- Inquiry APIs
- find_binding find_business find_relatedBusines
ses find_service find_tModel get_bindingDetail
get_businessDetail get_businessDetailExt
get_serviceDetail get_tModelDetail
- Publishing APIs
- get_authToken discard_authToken
delete_binding delete_business delete_publisherAss
ertiondelete_service delete_tModel
get_assertionStatusReport get_publisherAssertions
get_registeredInfo save_binding save_business
save_service save_tModel renew_lease
set_publisherAssertions start_lease_manager
32- xmlns"urnuddi.orgapi_v2"
-
-
- keyName"" keyValue"" /
-
-
-
-
-
-
- rtyFindQualifier
-
-
-
-
-
-
33Property Find Qualifiers
- GREATER_THAN
- GREATER_OR_EQUAL
- LESS_THAN_OR_EQUAL
- EQUAL_TO
- NOT_EQUAL_TO
- AND/OR
34Implementation
35Agenda..
- Introduction to Web Services
- What are Web Services?
- Web Services Architecture
- Web Services Challenges
- UDDI
- The Role of UDDI as a Business Registry.
- The UDDI Architecture.
- Limitation of UDDI
- UDDIe
- UDDIe properties.
- Design
- Implementation
- Use Case QoS in service-oriented computing
36Case Study QoS in Grid Computing
Jointly between Cardiff and University
Of New South Wales, Sydney
- Support for resource and service discovery based
on QoS properties
- Support for providing QoS guarantee at
application, middleware and network level, and
establishing service level agreements (SLAs) to
enforce these QoS parameters - Providing QoS management on allocated resources.
37G-QoSm Architecture
Jointly between Cardiff and University
Of New South Wales, Sydney
38UDDIe Supporting Discovery Based on Service QoS
Properties
- UDDIe forms the service registry system in the
context of the G-QoSM framework
- Publish services with their QoS information
- Search for services based on QoS attributes
- Open Grid Service Architecture (OGSA) requires
defining QoS attributes in WSDL document
39G-QoSm Integration Tools
40WSDL with QoS attributes
- type"intfMathService"
- transport"http//schemas.xmlsoap.org/soap/http"/
-
- style"rpc"/
-
- s.xmlsoap.org/soap/encoding/" namespace"http//Ma
thService-Interface" use"encoded"/
-
-
- as.xmlsoap.org/soap/encoding/" namespace"http//M
athService-Interface" use"encoded"/
-
-
-
-
-
- 100
- 150
-
-
41Publishing QoS-aware Services into UDDIe
- i_v2"
- MathService
-
-
- cpu_count
- number
- 100
-
-
-
-
disk_storage
- number
- 150
-
-
-
42Discovering QoS- aware Services from UDDIe
- i_v2"
- MathService
-
-
- equal_topertyFindQualifier
- cpu_counte
- number
- 100
-
-
-
- equal_toopertyFindQualifier
- disk_storageyName
- number
- 150
-
-
43Conclusion..
- Importance of UDDIe in service-oriented
architecture.
- UDDIe with Agents.
- May be used to record properties of agents (and
services managed by agents)