Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li LSDIS Lab, University of...

73
Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)

Transcript of Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li LSDIS Lab, University of...

Designing Semantic Web Process:

The WSDL-S ApproachPresented by

Ke LiLSDIS 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 ProcessRadiant – Web Service Semantic Annotation

and Semantic PublishLumina – Semantic Web Service DiscoverySaros – 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> Local NameDescription{Namespace, WSDL Location}

Business Entity

Business Service:NameDescriptionCategoryBag

Binding Template

TModel:NameOverviewDocCategoryBag

TModel:NameOverviewDocCategoryBag

<PortType> Local NameWSDL Location{Namespace}

<Operation>Local NameWSDL Location{Namespace, Domain, Input, Output, Semantic Concepts, Business Name, Service Name}

Service Implementation (WSDL)

UDDI

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

discovery1.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 URL2. Operation functional concepts, semantic inputs and semantic outputs

Input modes1. Typed in by the user2. Dragged and dropped from the Ontology Navigator in Radiant

• Output from the discovery module1. 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

discovery3. 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> Local NameDescription{Namespace, WSDL Location}

Business Entity

Business Service:NameDescriptionCategoryBag

Binding Template

TModel:NameOverviewDocCategoryBag

TModel:NameOverviewDocCategoryBag

<PortType> Local NameWSDL Location{Namespace}

<Operation>Local NameWSDL Location{Namespace, Domain, Input, Output, Semantic Concepts, Business Name, Service Name}

Service Implementation (WSDL)

UDDI

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

Process Designer

Semantic Publication and Discovery UDDI

Registry

SemanticTemplate

WSDL-S

Search

BPEL Process

Results

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 skeleton3. Fill in the nested constructs / structured

activities4. Identify partners

– Binding real partners– Binding virtual partners

Sample Use Case

5. Add namespace, variables6. Link partners to “invoke”, “receive” and

“reply” 7. Add the supplementary elements and fill

in details8. 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 =

• Recall =

servicesereddisofnumber

servicesereddiscorrectlyofnumber

_cov__

_cov___

servicescorrectallofnumber

servicesereddiscorrectlyofnumber

____

_cov___

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%

EvaluationThe “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

EvaluationPrecision 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%

EvaluationRecall 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

EvaluationWeb Services Based on the Currency Ontology

Searching Requirement Searching ResultWeb Service: Operation

Operation: ontologyNS#CurrencyRateInput: /nOutput: /n

Currencyws: GetRateCurrencyConvertor: ConvertionRateCurrencyExchangeService: getRate

Operation: ontologyNS#CurrencyInput: /nOutput: /n

Country: GetCurrencies; GetCurrencyByCountry; GetCurrencyCode; GetCurrencyCodeByCurrencyName

Operation: ontologyNS#Currency.countryInput: /nOutput: /n

Country: GetCountries; GetCountryByCountryCode; GetCountryByCurrencyCode; GetISOCountryCodeByCountryName

Operation: ontologyNS#CurrencyInput: ontologyNS#Currency.countryOutput: /n

Country: GetCurrencyByCountry

Operation: ontologyNS#CurrencyInput: ontologyNS#Currency.nameOutput: ontologyNS#Currency.code

Country: GetCurrencyCodeByCurrencyName

Operation: ontologyNS#Currency.countryInput: ontologyNS#Currency.country_iso_code Output: ontologyNS#Currency.country

Country: GetCountryByCountryCode;

EvaluationWeb Services annotated with a part of the Travel Ontology describing the Weather domain

Searching Requirement Searching Result

Operation: ontologyNS#ForcastInput: /nOutput: /n

ForecastByZip: GetForecastByZipWeatherFetcher: GetWeatherDOTSFastWeather: GetWeatherByCityState GetWeatherByZip

Operation: ontologyNS#ForcastInput: ontologyNS#ZipCodeOutput: /n

ForecastByZip: GetForecastByZipDOTSFastWeather: GetWeatherByZipWeatherFetcher: GetWeather

Operation: ontologyNS#ForcastInput: ontologyNS#CityOutput: /n

DOTSFastWeather: GetWeatherByCityState

Operation: ontologyNS#ForcastInput: ontologyNS#CityOutput: 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