Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li

advertisement
Designing Semantic Web Process:
The WSDL-S Approach
Presented by
Ke Li
LSDIS Lab, University of Georgia
(Under the Direction of John A. Miller)
Acknowledgment
•
•
•
•
•
•
Dr. John A. Miller
Dr. Amit P. Sheth
Dr. Eileen T. Kraemer
Kunal, Meena
Doug, Zixin
Cary, Scott
Outline
•
•
•
•
•
•
•
•
•
•
Introduction
Background
Contribution
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Introduction
• Web Service
– Concept
• Web Services are self-contained modular business
applications that have open, internet-oriented and
standards-based interface.
– Web Service Standards
•
•
•
•
SOAP (Simple Object Access Protocol)
WSDL (Web Service Description Language)
UDDI (Universal Description, Discovery and Integration)
WS-BPEL (Web Service Business Process Execution
Language)
Introduction
• Web Process
– Combine individual services to achieve a more
complex goal
– Advantage
• enables modular design
• Implements the control and data flow between
services
– For example, Service A, B and C.
B is dependent on A’s output message.
A and C can be invoked at the same time
Introduction
• Semantic Web Service
– Adding semantics to Web service standards
– Bring “meaning” to the services
– Removes ambiguity in the description of Web
service elements.
– Enables automation of tasks like discovery,
invocation, composition
Introduction
• WSDL-S Based Tool Suite for Designing
Semantic Web Process
 Radiant – Web Service Semantic Annotation
and Semantic Publish
 Lumina – Semantic Web Service Discovery
 Saros – Web Services Composition
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Background
• Problems with current Web Service
publishing, discovery and composition
– No unified WSDL to UDDI mapping structure
– Syntactic search mechanism for service
discovery
Background
• Mapping Structure from WSDL to UDDI
Background
• Modified Mapping Structure from WSDL-S to UDDI
Service Implementation
(WSDL)
UDDI
Business Entity
<Service>
Local Name
Description
{Namespace, WSDL
Location}
Business Service:
Name
Description
CategoryBag
Binding Template
<PortType>
Local Name
WSDL Location
{Namespace}
<Operation>
Local Name
WSDL Location
{Namespace, Domain,
Input, Output, Semantic
Concepts, Business Name,
Service Name}
TModel:
Name
OverviewDoc
CategoryBag
TModel:
Name
OverviewDoc
CategoryBag
Background
• Four Semantic Web Service Standard
Proposals (Brief Overview)
–
–
–
–
OWL-S
WSMO (Web Service Modeling Ontology)
SWSO (Semantic Web Service Ontology)
WSDL-S
Background (OWL-S and WSMO)
• OWL-S
• WSMO
Background (WSDL-S)
– WSDL-S
• Built on existing Web Service standard - WSDL
• Enables semantic annotation of Web Services by
using extensibility elements and attributes
– Annotation on message types:
modelReference, and schemaMapping
– Annotation on operation:
modelReference, category, precondition and effect
• Uses external domain models to provide the
semantics
Outline
•
•
•
•
•
•
•
•
•
•
Introduction
Background
Contribution
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Contribution
• Design and develop the WSDL-S based
semantic discovery tool called Lumina.
• Develop the API for publishing WSDL /
WSDL-S files to our enhanced UDDI
registry.
• Design the Semantic Template generator
which can be used within Saros.
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
The METEOR-S Semantic Discovery
Tool - Lumina
• Motivation
1. Support semantic discovery (WSDL-S
approach)
2. Enable semi-automatic design of Web
Processes (using Saros)
3. Supply a unified discovery style to discover
from different Universal Business Registries
The METEOR-S Semantic Discovery
Tool - Lumina
• Setting Environment
–
–
–
–
Web Server: Tomcat 5.0.30
UDDI Registry Implementation: JUDDI 0.9
Registry Database: MySQL-4.1.12-win32
JDK 1.5
• Model Dependency
– METEOR-S Discovery API
– WSDLS4J
– UDDI4J
The METEOR-S Semantic Discovery
Tool - Lumina
• Discovery Modes – UDDI structure based
discovery
1.General UDDI Discovery (Basic UDDI Discovery
Panel)
• Unified search style for all the UBRs
• Provide discovery of “Business Entity”, “Business
Service” and “Technical Model”
– Business Entity: Business Name, Discovery URL,
Categories, TModel Keys
– Business Service: Service Name, Categories, Business
Key, TModel Keys
– TModel: TModel Name
The METEOR-S Semantic Discovery
Tool – Lumina – UDDI Structure Based Discovery
The METEOR-S Semantic Discovery
Tool – Lumina – UDDI Structure Based Discovery
The METEOR-S Semantic Discovery
Tool - Lumina
•
Discovery Modes – WSDL-S based Semantic Discovery
2.
WSDL-S Discovery (WSDL-S Discovery Panel & Semantic
Template View)
•
Input to the discovery module
1. Ontology URL
2. Operation functional concepts, semantic inputs and semantic outputs
Input modes
1. Typed in by the user
2. Dragged and dropped from the Ontology Navigator in Radiant
•
Output from the discovery module
1. Service information (service name, WSDL location)
2. Service provider information (link to the business entity)
3. Detailed discovered operation information (operation name, input /
output variables, ontological concepts about these parameters, input /
output types, portType)
The METEOR-S Semantic Discovery Tool –
Lumina: Semantic Discovery Panel + Partner Service
Viewer
The METEOR-S Semantic Discovery Tool –
Lumina: Semantic Template View
The METEOR-S Semantic Discovery
Tool - Lumina
•
Discovery Modes – WSDL based Syntactic
discovery
3. WSDL Discovery (WSDL Discovery Panel)
• Input to discovery module:
– Exact operation name, input and output variables
– Same as WSDL-S Discovery except the semantic
information
The METEOR-S Semantic Discovery
Tool – Lumina – METEOR-S Discovery Class Diagram
The METEOR-S Semantic Discovery
Tool - Lumina
• Architecture of Lumina
– Adopts Eclipse Plugin Techniques:
• Action: Lumina start button in tool bar
• Editor: UDDI Editor (Basic UDDI Discovery, WSDL-S
Discovery and WSDL Discovery)
• View: (Semantic Template Viewer and Partner
Service Viewer)
• Perspective: Lumina Perspective
The METEOR-S Semantic Discovery Tool –
Lumina
Model
Class diagram
The METEOR-S Semantic Discovery Tool –
Lumina
View
Class diagram
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Design Semantic Web Process Using
WSDL-S
• Semantic Annotation
and Publish – Radiant
– WSDL-S to UDDI
Mapping Structure
WSDL
UDDI
Service
Business Service
Local Name
Name
Service Description
Description
Namespace, WSDL
location
CategoryBag
portType
TModel
Local Name
Name
WSDL location
OverviewDoc
Namespace
CategoryBag
Operation
TModel
Local Name
Name
WSDL location
OverviewDoc
Namespace, inputs,
outputs, semantic
concepts, etc.
CategoryBag
Design Semantic Web Process Using
WSDL-S: WSDL-S to UDDI Mapping Structure
Service Implementation
(WSDL)
UDDI
Business Entity
<Service>
Local Name
Description
{Namespace, WSDL
Location}
Business Service:
Name
Description
CategoryBag
Binding Template
<PortType>
Local Name
WSDL Location
{Namespace}
<Operation>
Local Name
WSDL Location
{Namespace, Domain,
Input, Output, Semantic
Concepts, Business Name,
Service Name}
TModel:
Name
OverviewDoc
CategoryBag
TModel:
Name
OverviewDoc
CategoryBag
Design Semantic Web Process Using
WSDL-S – Annotating a Web service using
Radiant
Design Semantic Web Process Using
WSDL-S
• Semantic Discovery – Lumina
– WSDL-S Discovery Panel (UDDI Editor) and Partner
Service Viewer
• Store the candidate partner services to partner service
viewer (convenient)
– Semantic Template Viewer
• Save the semantic template to files
• Load a exist semantic file
– Enable discovery of multiple operations
• Dependence
• Economic
• Efficient
Design Semantic Web Process Using
WSDL-S: WSDL-S Discovery Panel
Design Semantic Web Process Using
WSDL-S: Semantic Template View
Design Semantic Web Process Using
WSDL-S
• Semantic Web Process Design - Saros
– Dynamic partner selection using the Semantic
Templates that describe virtual partners
– Two phase design
• Generate new semantic template(s) or load the exist
semantic template(s) using Semantic Template
Viewer (Lumina)
• Discover the partner services using the semantic
templates and bind the discovered services to the
process
Design Semantic Web Process Using
WSDL-S
• Semantic Web Process Design - Saros
WSDL-S
Semantic
Template
BPEL Process
Process
Designer
Search
Results
UDDI
Registry
Semantic Publication
and Discovery
Design Semantic Web Process Using
WSDL-S: Saros Design Panel
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Sample Use Case
• Sample Scenario
– Goal: investment strategy for buying stock
– Input: stock ticker, possible investment
amount
– Output: value analysis for proceeding with the
investment
Sample Use Case
1. Analyze the business
requirement and
build a UML diagram
Sample Use Case
2. Fill in the process skeleton
Sample Use Case
3. Fill in the nested
constructs /
structured activities
Sample Use Case
4. Identify partners
– Binding the real partners: using concrete
service information
– Binding the virtual partners: filling a semantic
template
– Discovery based on:
• Operation
• Input and output
Sample Use Case: Search for “investment” service
Sample Use Case: Search for the other two services
Sample Use Case: Add virtual partner
Sample Use Case
1. Analyze the business requirement and
build a UML diagram
2. Fill in the process skeleton
3. Fill in the nested constructs / structured
activities
4. Identify partners
– Binding real partners
– Binding virtual partners
Sample Use Case
5. Add namespace, variables
6. Link partners to “invoke”, “receive” and
“reply”
7. Add the supplementary elements and fill
in details
8. Generate BPEL process
– BPEL file
– WSDL file of the Process
Sample Use Case: Complete BPEL Process part I
Sample Use Case: Complete BPEL Process part II
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Evaluation
1. Efficient and effective service discovery
– Comparative UBRs:
•
XMethods and Microsoft UBR
– Search scenario:
•
–
Stock Quote
Comparative formulas:
• Precision = number _ of _ correctly _ dis cov ered _ services
number _ of _ dis cov ered _ services
• Recall =
number _ of _ correctly _ dis cov ered _ services
number _ of _ all _ correct _ services
Evaluation
•
Precision of “Stock Quote” Web Services Discovery Result on the Regular
UBRs
Keywords
•
XMethods
Microsoft UBR
TModel
Service
TModel
Stock quote
3/3 = 100%
17/17 = 100%
28/28=100%
Stockquote
3/3=100%
4/4=100%
18/18=100%
Stock
7/7=100%
64/70=90%
18/18=100%
Delayed
1/1=100%
5/5=100%
1/1=100%
Real time
1/3=33%
0/1=0
0/0
Realtime
0/0
0/1=0
0/0
Recall of “Stock Quote” Web Services Discovery Result on XMethods:
9/13 = 69%
Evaluation
The “Stock Quote” services in the enhanced UDDI registry
Services
Operations
Ontological Concepts
DelayedStockQuote
GetQuote
OntologyNS#DelayedStockQuote
GetQuickQuote
OntologyNS#RealTimeStockQuote
BasicRealTimeQuotes
GetOneQuote
OntologyNS#RealTimeStockQuote
StockQuotes
GetStockQuotes
OntologyNS#DelayedStockQuote
StockScraper
GetQuote
OntologyNS#StockQuote
StockServices
GetQuotes
OntologyNS#StockQuote
GetQuickQuotes
OntologyNS#DelayedStockQuote
StockQuote
GetQuote
OntologyNS#StockQuote
DOTSFastQuote
GetStockInfo
OntologyNS#DelayedStockQuote
Nexus6Studio_x0020_
Stock_x0020_Quote
GetQuickQuote
OntologyNS#StockQuote
GetDetailedQuote
OntologyNS#StockQuote
Evaluation
Precision of Lumina Discovery Result Using StockQuote Ontological
Concepts
Ontological Concepts
Lumina
TModel (Operations)
Service
OntologyNS#
StockQuote
11/11=100%
8/8=100%
OntologyNS#
DelayedStockQuote
9/9=100%
7/7=100%
OntologyNS#
RealTimeStockQuote
7/7=100%
6/6=100%
Evaluation
Recall of Lumina Discovery Result Using StockQuote Ontological
Concepts
Ontological Concepts
Lumina
TModel (Operations)
Service
OntologyNS#
StockQuote
11/11=100%
8/8=100%
OntologyNS#
DelayedStockQuote
9/9=100%
7/7=100%
OntologyNS#
RealTimeStockQuote
7/7=100%
6/6=100%
Evaluation
2. Accurate discovery of specific operations
– Service level discovery and operation level
discovery
– Operation level discovery: operation
functional concept, semantic inputs, semantic
outputs
– Discovery of Multiple operations within one
partner service
Evaluation
Web Services Based on the Currency Ontology
Searching Requirement
Searching Result
Web Service: Operation
Operation: ontologyNS#CurrencyRate
Input: /n
Output: /n
Currencyws: GetRate
CurrencyConvertor: ConvertionRate
CurrencyExchangeService: getRate
Operation: ontologyNS#Currency
Input: /n
Output: /n
Country: GetCurrencies;
GetCurrencyByCountry;
GetCurrencyCode;
GetCurrencyCodeByCurrencyName
Operation: ontologyNS#Currency.country
Input: /n
Output: /n
Country: GetCountries;
GetCountryByCountryCode;
GetCountryByCurrencyCode;
GetISOCountryCodeByCountryName
Operation: ontologyNS#Currency
Input: ontologyNS#Currency.country
Output: /n
Country: GetCurrencyByCountry
Operation: ontologyNS#Currency
Input: ontologyNS#Currency.name
Output: ontologyNS#Currency.code
Country: GetCurrencyCodeByCurrencyName
Operation: ontologyNS#Currency.country
Input: ontologyNS#Currency.country_iso_code
Country: GetCountryByCountryCode;
Evaluation
Web Services annotated with a part of the Travel Ontology describing the
Weather domain
Searching Requirement
Searching Result
Operation: ontologyNS#Forcast
Input: /n
Output: /n
ForecastByZip: GetForecastByZip
WeatherFetcher: GetWeather
DOTSFastWeather: GetWeatherByCityState
GetWeatherByZip
Operation: ontologyNS#Forcast
Input: ontologyNS#ZipCode
Output: /n
ForecastByZip:
GetForecastByZipDOTSFastWeather:
GetWeatherByZipWeatherFetcher:
GetWeather
Operation: ontologyNS#Forcast
Input: ontologyNS#City
Output: /n
DOTSFastWeather: GetWeatherByCityState
Operation: ontologyNS#Forcast
Input: ontologyNS#City
Output:
OntologyNS#Weather.hasPercipitation
DOTSFastWeather: GetWeatherByZip
Evaluation
3. Semi-automatic BPEL process design
– Supply the detailed information of the service
and operations; these information are useful to
design the process.
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Related Work
• Two categories of Web Services Composition:
– Workflow composition
• Static workflow composition:
– EFlow (Casati, Ilnicki, et al. 2000)
• Dynamic workflow composition:
– PPM (Polymorphic Process Model) (Schuster, Georgakopoulos,
et al. 2000)
– AI Planning
– Golog – Logic Programming Language
– Planning Domain Definition Language (PDDL) – action value
– Rule-based plan generation – SWORD (Ponnekanti and Fox,
2002)
– Hierarchical Task Network (HTN) – SHOP2 (Wu, Sirin, et al.
2003)
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Conclusion
• By using Semantics to annotate the Web
Services, we provide the efficient,
effective and accurate services discovery.
It enables the automatic and dynamic Web
Process Design.
• WSDL-S supplies a easy way to add
semantics to the Web Services.
Outline
•
•
•
•
•
•
•
•
•
Introduction
Background
The METEOR-S Semantic Discovery Tool – Lumina
Design Semantic Web Process Using WSDL-S
Sample Use Case
Evaluation
Related Work
Conclusion
Future Work
Future Work
• Organize Saros to run in the same workspace as Lumina,
and supply the Drag and Drop functionality to further ease
the work of the process developer
• Develop a constraint analyzer to extend our WSDL-S based
tool suite.
• Adopt data mapping techniques to implement Web Process
composition automatically.
• Extend the discovery, composition by using “preconditions”
and “effects” to achieve a more accurate result.
• Develop a process monitor to trace the process at execution
time.
Demo
Questions
Thank you
Download