ulrich küster and birgitta könig-ries (also contains work by michael klein) university jena
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 PresentationTRANSCRIPT
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]
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
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
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)
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
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
...
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
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…
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
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
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
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
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
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"],...
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
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)
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
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/
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)
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