ulrich küster and birgitta könig-ries (also contains work by michael klein) university jena

20
1 Dynamic Binding for BPEL Processes A Lightweight Approach to Integrate Semantics into Web Services Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena Germany ukuester|[email protected]

Upload: brook

Post on 20-Mar-2016

24 views

Category:

Documents


2 download

DESCRIPTION

Dynamic Binding for BPEL Processes A Lightweight Approach to Integrate Semantics into Web Services. Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena Germany ukuester|[email protected]. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

1

Dynamic Binding for BPEL Processes

A Lightweight Approach to Integrate Semantics into Web

ServicesUlrich Küster and Birgitta König-Ries(also contains work by Michael Klein)

University JenaGermany

ukuester|[email protected]

Page 2: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20062

Introduction

SOC / web services as promising computing paradigm loosely coupled distributed systems combine heterogeneous systems,

ease switching of components

Semantic Services (semi-)automate time-consuming tasks (composition,

selection, binding, …) Leverage full potential of SOC

Semantic Services and Industry? Lack of trust into reliability and correctness Lack of comprehensive domain ontologies

high entry cost

Page 3: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20063

Goal

Provide approach for gradual transition to usage of semantic services in legacy systems

small steps, not all at once lower entry cost Explicitly encourage combined usage of semantics and

standard technologies combine strengths

Motivating running example

Page 4: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20064

BPEL based ordermanagement process:

COS-tec Computer Online Store

externalShipmentprovider

staticbinding

SemanticMiddleware

indirect dynamicbinding

dynamicdiscovery

and binding

(staticallybound)

(dynamicallydiscoveredand bound)

Page 5: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20065

What is DIANE and DSD?

DIANE project goal: Complete efficient automation of service discovery, matchmaking and invocation

Diane Service Descriptions (DSD) Own lightweight ontology language Specific elements for service descriptions

limited expressivity intuitive modelling efficient but precise matchmaking

Page 6: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20066

Characteristics of DSD (1)

Fixed state ontologies to capture world

altering effects(Owned, Known, Printed, Shipped, Accessible, …)

Domain ontologies to describe service details

(domain.location, domain.economy, domain.electronics, …)

ShippedV

upper.profileStateV

domain.locationAddressE

topPhysicalEntityE

...

fromAddress

cargo

pickupdomain.measure

DateTimeFrameV

...

Page 7: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20067

Characteristics of DSD (2)

Set-based declarative descriptions Amazon sells millions of articles Shipper provide transportation

to a multitude of locations Offer described as set of possible effects

Requests envision perfect service, but accept deviations in details Request described as set of acceptable

effects

Standard semantics: One out of the described set of effects is requested / will be created

Address

Country== germany

Cityy

city

locatedIn

Page 8: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20068

Characteristics of DSD (3)

Preferences in request descriptions fuzzy sets

(the higher the membership, the higher the preference) strategies (specify how to i.e. trade-off price versus

shipping time, underspecified offers, …) unbiased, deterministic, precise matching

Double~== [0, 20] 0

preferably 0 (preference 1.0), but up to 20 acceptable (linearly descreasing preference)

ShippedMIN(0.2*price + 0.8*shippingTime, cargo)

Price...

price cargo

Duration...

PhysicalEntity...

shippingTime

Cargo requirements must be met, shipping time is more important than price…

Page 9: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 20069

Characteristics of DSD (4)

Variables Offer-In-Variables (configure offers / provide input) Offer-Out-Variables (provide output) Request-In-Variables (configurable request templates) Request-Out-Variables (require output information)

AddressOUT,x,1

Country== germany

CityIN,x,1

y

city

locatedIn

street

String

Input: German cityOutput: Complete address in that city

Page 10: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200610

Matching DSD-Descriptions

Given fuzzy request set r and configurable offer set o solve the following problem:a) Compute fuzzy containment value

subset Є [0, 1] of o in r(How well is the offer contained in the requested effects?)

b) Where possible, configure o such as to maximize subset

Implementation descends through description graphs, fills variables with optimal values, recursively computes subset for each element, combines subset values according to strategies

Page 11: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200611

Integration architecture

BPEL ProcessW

ebse

rvic

e in

terfa

ce

MatcherAgent

DSDMiddlewareBinder

Agent

RequestAgent

Repository

CallerAgent

XMLfilled request

(object)

possibleoffers

matchingoffers

offer input

DSDMiddleware

OfferAgent

SOAPServiceHandler

offerinput

filled request

serviceinvocation

Shipmentprovider

Page 12: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200612

From BPEL to DSD Requests

Main problem: data mediation necessary, lightweight mapping from legacy COS-tec xml to DSD(and from DSD to legacy xml of shipper)

Solved by specifying mapping rules in service description's groundings

Page 13: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200613

XmlDsdMapping

empty XML message deployed at middleware DSD variable used to fill message

variables identified by unique variable name variable attributes specified by path to attribute xml node specified using XPath

Marshalling/Unmarshalling standard serialization/deserialization available custom serialization can be plugged in

Nested mappings used to handle (nested) lists

Example

Page 14: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200614

XmlDsdMapping Example...mapping += anonymous XmlDsdMapping [ variable = $cargo, dataNodePath = "package" attributeMappings += anonymous XmlDsdAttributeMapping [ attributePath = "weight/val", subNodePath = "weight" ], attributeMappings += anonymousXmlDsdAttributeMapping [ attributePath = "dimension/length/val", subNodePath = "length" ], ...],mapping += anonymous XmlDsdMapping [ variable = $price, dataNodePath = "maximumPrice", converterClassName = "MaxPriceConverter", converterMethodName = "convertToPriceDescription"],...

Page 15: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200615

Integration architecture

BPEL ProcessW

ebse

rvic

e in

terfa

ce

MatcherAgent

DSDMiddlewareBinder

Agent

RequestAgent

Repository

CallerAgent

XMLfilled request

(object)

possibleoffers

matchingoffers

offer input

DSDMiddleware

OfferAgent

SOAPServiceHandler

offerinput

filled request

serviceinvocation

Shipmentprovider

Page 16: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200616

Execution process

Receive template name and parameters Lifting: Use xml to fill request template Matchmaking: find and configure best matching offer Send offer inputs to provider-side middleware Lowering: Create xml invocation message Lifting: Extract return parameters Return parameters to client-side middleware Lowering: Create xml reply message

System has been implemented and tested. Elaborate scenario including selection, binding and

invocation of a shipping service has been peer-reviewed within Semantic Web Services Challenge 2006 (www.sws-challenge.org)

Page 17: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200617

Summary

Goal: gradual transition to usage of semantic services in legacy systems in particular support fully dynamic selection and binding

Presented lightweight integration of semantic requests into BPEL processes by leveraging previous work on semantic service descriptions

and matchmaking providing easy to use, yet flexible data mediation

mechanism

Page 18: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200618

Thank you for your attendance!

Questions?

Ulrich Kü[email protected]

DIANE project (services in ad hoc networks)http://hnsp.inf-bb.uni-jena.de/DIANE/

Page 19: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200619

Example shipping offerOFFER:uppermuller : Service

upper.profile : ServiceProfilepresents

effect

AddressIN,e,1IN,x,1 Address

IN,e,1IN,x,1

fromAddress toAddress

PhysicalEntityIN,e,1IN,x,1

cargo

WeightMeasure

weight

pickupDateTimeFrame

IN,x,1

Country

Cityy

city

locatedIn

Country

city

locatedIn

WeightUnit== pound

Double<=50

val unitContinent

in {africa, northAmerica, europe, asia}

Continent

in {africa, northAmerica, europe, asia}

locatedIn locatedIn

Shipped

PriceOUT,e,1

Currency== usd

Double

currencyval

price

City

service instanc

e

offered effect(s)

Page 20: Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena

WESOA06 - Chicago, Il, USA - December 200620

Example shipping request

unit

3

2

10

REQUEST: upperswsShipping3b : Service

upper.profile : ServiceProfile

presents

effect

Shipped

PriceDouble

~== [0, 20] 0amount

currencyprice

cargo

domain.measure : DimensionMeasure

domain.measure : WeightMeasure

dimension

weight

val

domain.measurepound : WeightUnit

domain.measure : LengthMeasure

domain.measure : LengthMeasure

domain.measure : LengthMeasure

length

width

height

domain.measureinch : LengthUnit

domain.measureinch : LengthUnit

domain.measureinch : LengthUnit

unit

unit

unit

val

val

val

domain.moneyusd : Currency

pickup

top : PhysicalEntity

10

DateTimeFrame

DateTime== <2006-06-08T10:00>

DateTime== <2006-06-08T20:00>

begin

end

service instanc

e

requested

effect(s)

preferrably 0 but up to 20

accepted