Title: Web Service Discovery
1Web Service Discovery
- Swapna Oundhakar
- LSDIS, University of Georgia
2Outline
- Motivation
- Web Service Discovery
- Why ?
- How ?
- Current Practices
- Problems
- A Solution - Semantics
- Our Approach
3Motivation
- The Web is evolving from a provider of documents
images
4Motivation (Contd.)
- to a provider of services
5What is a Web Service?
- A programmable application component that is
accessible via standard Internet protocols - Web page with functions
- Available for a variety of clients
- Examples stock quotes, traffic conditions,
calculators, news, weather, et cetera
6Technical Definition
- Def 1. Web Services as a Software Architecture
- Web services are a new breed of Web
application. They are self-contained,
self-describing, modular applications that can be
published, located, and invoked across the Web.
Web services perform functions, which can be
anything from simple requests to complicated
business processes. - Once a Web service is deployed, other
applications (and other Web services) can
discover and invoke the deployed service.
- IBM web service tutorial
7State of the Art
8State of the Art
- The web is organized around URIs, HTML, and HTTP.
- URIs provide defined ids to refer to elements on
the web, - HTML provides a standardized way to describe
document structures (allowing browsers to render
information for the human reader), and - HTTP defines a protocol to retrieve information
from the web. - Not surprisingly, web services require a similar
infrastructure around UDDI, WSDL, and SOAP.
WSMF
9What is Web Service Discovery?
- Service discovery
- Many web services available over the net.
- Problem of web service discovery is to find the
web service that suits our requirements. - How can I find a service that meets my
requirements - For example,
- I want to buy the CHEAPEST airline ticket from
Atlanta to New York. - There are hundreds of services on the web to buy
airline tickets ? - How do I find one to give me CHEAPEST tickets
10Approaches to Discovery (General)
- Focused discovery
- A result of an active search either on a specific
target, for a specific piece of information, or
as a combination of both - Example Directories like yahoo
- Unfocused Discovery
- As a result of receiving unsolicited information,
or through traversing a potentially open-ended
space in order to retrieve any available data
which may be present - Example Search engines like google
11Approaches to Discovery (General)
- Direct Communication (Voice)
- Supports some focused and unfocused discovery
pattern - Dissemination is direct from the
source/originator - No overhead
- Simple aggregate token (Business Card)
- Supports some focused and unfocused discovery
pattern - Dissemination is direct from the
source/originator - Moderate overhead
- Directory Assistance (Operator)
- Supports a significant number of focused
discovery patterns and some unfocused one - Dissemination is via a third-party
- High overhead
12Approaches to discover a Web Service
- Direct Communication
- User knows what he wants, goes to a known service
provider and invokes the required service
directly - Simple aggregate token (WSIL)
- User searches over the web for a service provider
or knows one - Service provider provides a file which lists his
services like a business card - User checks it selects one and invokes it
- Directory Assistance (UDDI)
- User knows about a directory or can find one
through search - Many different businesses and services are
registered at a centralized place - User goes through them and selects one of them
13How WSIL works
- WSIL Web Service Inspection Language
- With WS-Inspection, I know the host I want to
work with. - I go to that host and get a list of services it
provides, then I choose one. - Typically I get the file inspection.wsil this is
the index.html of Web services.
14WSIL discovery step 1 The client requests
inspection.wsil from the server.
Client
Service Provider
WSIL requestover HTTP?
WSIL file
WSDL file
service
15WSIL discovery step 2 The client gets
inspection.wsil from the server.
Client
Service Provider
WSIL file over HTTP?
WSIL file
WSDL file
service
16WSIL discovery step 3 The client requests a
particular WSDL file.
Client
Service Provider
WSIL file
WSDL requestover HTTP?
WSDL file
service
17WSIL discovery step 4 The provider returns the
WSDL service description.
Client
Service Provider
WSIL file
WSDL file
WSDL file over HTTP?
service
18WSIL discovery step 5 The client invokes the
service with the WSDL info.
Client
Service Provider
WSIL file
WSDL file
service
SOAP request HTTP?
19WSIL discovery step 6 The service delivers the
requested data to the client.
Client
Service Provider
WSIL file
WSDL file
service
Service results HTTP?
20How UDDI works
1. Service Registration SOAP
Web Services
3. Service InvocationSOAP, ebXML, BizTalk,
RosettaNet, COM, EJB/RMI, CORBA, ...
2. Service Discovery SOAP
21Wide-spread usage
22How UDDI works
4.
SW companies, standards bodies, and programmers
populate the registry with descriptions of
different types of services
1.
Marketplaces, search engines, and business apps
query the registry to discover services at other
companies
2.
UDDI Business Registry
5.
Service Type Registrations
BusinessRegistrations
Businesses populate the registry
with descriptions of the services they support
Business uses this data to facilitate easier
integration with each other over the Web
23Public Registry Operation
- Peer nodes (websites)
- Companies registerwith any node
- Registrations replicatedon a daily basis
- Complete set ofregistered recordsavailable at
all nodes - Compliance enforced by business contract
Queries
IBM
Ariba
other
other
Microsoft
24Registry Data
WhitePages
- Businesses register public information about
themselves - Standards bodies, Programmers, Businesses
register information about their Service Types
YellowPages
GreenPages
Service Type Registrations
25White Pages
- Business Name
- Text Description
- list of multi-language text strings
- Contact info
- names, phone numbers, fax numbers, web sites
- Known Identifiers
- list of identifiers that a business may be known
by
26Yellow Pages
- Business categories
- 3 standard taxonomies in V1
- Industry
- Product/Services
- Location Geographical taxonomy
- Searches can be performed to locate businesses
who service a particular industry or product
category, or who are located within a specific
geographic region.
27Green Pages
- New set of information businesses use to describe
how to do e-commerce with them - Nested model
- Business processes
- Descriptive container that is used to group a
series of related Web services related to either
a business process or category of services. - Purchasing services, shipping services, and other
high-level business processes - Service descriptions
- Binding template
- Information required to actually invoke a service
- Services can also be categorized
28Service Type Registration tModel
- Pointer to the namespace where service type is
described - What programmers read to understand how to use
the service - Identifier for who published the service
- Identifier for the service type registration
- called a tModelKey
- Used as a signature by web sites that implement
those services
29tModel
- Each tModel consists of a name, an explanatory
description, and a Universal Unique Identifier
(UUID). - The tModel name identifies the service, such as,
for example, online order placement. - The description supplies more information, which
in this case might be place an order online. - The unique identifier, called a tModelKey, is a
series of alphanumeric characters, such as, for
example, uuid4CD7E4BC-648B-426D-9936-443EAAC8AI.
- Another example the tModel uddi-orghttp has the
description An http or web browser based web
service, and the tModelKey uuid68DE9E80-AD09-469D
-8A37-088422BFBC36.
30Business Registration
- XML document Created by end-user company (or on
their behalf) - Can have multiple service listings
- Can have multiple taxonomy listings
businessEntity
businessKey name URL description contacts business
Services identifierBag categoryBag
businessService
businessService
serviceKey tModelKey Name Description BindingTempl
ates
Key Name Description BindingTemplates
31Example of a Registration
32UDDI discovery step 1 The client queries the
UDDI registry for a service.
UDDI query Over SOAP
UDDI registry
Client
WSDL file
Schema file
Service Provider
WSDL file
service
33UDDI discovery step 2 The UDDI registry sends
the query results back to the client.
UDDI resultsover SOAP
UDDI registry
Client
WSDL file
Schema file
Service Provider
WSDL file
service
34UDDI discovery step 3 The client uses the UDDI
results to contact the provider.
UDDI registry
Client
WSDL file
Schema file
WSDL requestover HTTP?
Service Provider
WSDL file
service
35UDDI discovery step 4 The provider returns the
WSDL service description.
UDDI registry
Client
WSDL file
Schema file
Service Provider
WSDL file
WSDL file over HTTP?
service
36UDDI discovery step 5 The client invokes the
service with the WSDL info.
UDDI registry
Client
WSDL file
Schema file
Service Provider
WSDL file
service
SOAP request HTTP?
37UDDI discovery step 6 The service delivers the
requested data to the client.
UDDI registry
Client
WSDL file
Schema file
Service Provider
WSDL file
service
Service results HTTP?
38Basic Web Services Architecture
- The basic architecture includes technologies
capable of - Exchanging messages
- Describing Web services
- Publishing and discovering Web service
descriptions - The basic Web service architecture models the
interactions between three roles - the service provider, service discovery agency,
and service requestor.
39Web Service Discovery - Problems
- How can I find a service that meet my
requirements - For example,
- I want to buy the CHEAPEST RELIABLE airline
ticket from Atlanta to New York. - Someone advertises that its Service can buy the
CHEAPEST airline ticket for me. - But how do I know if the airline would be
RELIABLE enough for me ? - Can search program understand what do I mean by
RELIABLE
40Problems
- All the approaches so far mentioned are not
semantic. - They have their limitations.
- UDDI, WSIL
- By itself does not support semantic description
of services and depends on the functionality of
the content language - Web Service Descriptions - WSDL
- Is the content language used but it also does not
support semantic description of web services
41Service description with DAML-S
- DAML-S is DAMLOIL based web service ontology
- Supplies web service providers with a core set of
markup language constructs for describing
properties capabilities of their web services - DAML-S can be regarded as semantics-based
approach for describing Web services - Service profile (describes what the service does)
- Service model (describe how the service works)
- Service grounding (specifies details on how an
agent can access a service) Latest Version - Input/Output parameters of web services are
associated with some ontological concepts
42Semantic Service Discovery
- Service discovery based on DAML-S
- Create a service template
- User can specify what inputs he might want to
give and what outputs he expects - This service template is then matched with
service descriptions using some algorithm - Research work at LSDIS by Jorge Cardoso
- DAML-S approach
- Algorithm uses semantic information provided by
service description
43Current Semantic Service Discovery - Problems
- Web service for Buying book
- Inputs
- AuthorName
- BookName
- ISBN
- Output
- Cost of the book
- Operations
- buyBook
- Web service for Bibliography
- Inputs
- AuthorName
- BookName
- ISBN
- Output
- List of the books
- Operations
- getBooksByAuthor
- getBooksByName
- getBooksByISBN
If a user searches for Book Buying service, based
on current approach search will list the
bibliographical service also.
44A proposed approach
- Match services based on operations and not
input/output parameters - Services in turn would be matched based on
input/outputs
45References
- Supporting Web services with HR-XML standards -
Doug Tidwell, IBM Developerworks - UDDI Technical White Paper
- Web Services and UDDI IBM
- Web Service Modeling Framework Dieter Fensel
et.al. - DAML-S Web Service Description for the Semantic
Web Ankolekar et.al. - Semantic e-Workflow Composition Cardoso, Sheth
- METEOR-S WSDI Verma et.al.