Discovery and Mediation using Diane Service Descriptions

Download Report

Transcript Discovery and Mediation using Diane Service Descriptions

Discovery and Mediation
using
Diane Service Descriptions
Ulrich Küster
University Jena
Germany
1
Agenda
 Introduction to DIANE Service Descriptions (DSD)
 Solution to Discovery Scenario
 Example descriptions (Muller offer, Goal 3b)
 Matching
 Invocation
 Remarks about Discovery Scenario
 Solution to Mediation Scenario Version 1
 Remarks about Mediation Scenario Version 2
2
What is DSD?
 Goal: Complete efficient automation of
discovery and invocation
 Basic Services:
 two-phase choreography
(n stateless estimation steps, 1 execution step)
 DSD language:
 lightweight ontology language (object oriented)
 special constructs to describe services
 Keep efficient matching in mind
3
Service specific elements of DSD (1)
upper.profile
 Operational elements
 to capture world
altering effects
 states
(instances of state ontology:
Owned, Known, Printed,
Shipped, Accessible, …)
StateV
ShippedV
pickup
domain.measure
DateTimeFrameV
top
cargo
PhysicalEntityE
domain.location
fromAddress
...
AddressE
...
 Aggregational elements
 Moon sells more than one item, Muller
transports to a variety of countries
 Usually describe sets of effects
 Current semantic: One out of a
set of effects is requested / created
4
Shipped
Service specific elements of DSD (2)
 Selecting elements
IN,e,1
IN,x,1
Address
 to support configuration by the requestor
(select one out of the offered effects)
 to inform requestor about produced effect
 variables (input / output)
 Valuing elements
Double
~== [0, 20] 0
 to express preferences of the requestor
 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
5
Agenda
 Introduction to DIANE Service Descriptions (DSD)
 Solution to Discovery Scenario
 Example descriptions (Muller offer, Goal 3b)
 Matching
 Invocation
 Remarks about Discovery Scenario
 Solution to Mediation Scenario Version 1
 Remarks about Mediation Scenario Version 2
6
Excerpt from Muller offer description
upper
OFFER:
muller : Service
upper.profile
presents
: ServiceProfile
effect
offered
effect(s)
service
instance
pickup
Shipped
price
fromAddress
IN,e,1
IN,x,1
Address
IN,x,1
DateTimeFrame
IN,e,1
IN,x,1
OUT,e,1
toAddress
val
cargo
Price
currency
Address
Double
city
city
City
y
City
locatedIn
locatedIn
IN,e,1
IN,x,1 PhysicalEntity
weight
Country
Country
locatedIn
locatedIn
Continent
Continent
in {africa, northAmerica,
europe, asia}
in {africa, northAmerica,
europe, asia}
WeightMeasure
7
val
Double
<=50
unit
WeightUnit
== pound
Currency
== usd
Excerpt from description of Goal 3b
service
instance
presents
upper.profile
REQUEST:
: ServiceProfile
upper
swsShipping3b : Service
effect
domain.measure
dimension
cargo
Shipped
: DimensionMeasure
length
top
domain.measure
: PhysicalEntity
inch : LengthUnit
: LengthMeasure val
10
weight
requested
effect(s)
width
domain.measure
domain.measure
: WeightMeasure
val
: LengthMeasure val
unit
pickup
domain.measure
DateTime
== <2006-06-08T10:00>
end
DateTime
== <2006-06-08T20:00>
DateTimeFrame
8
domain.money
usd : Currency
Price
amount
unit
inch : LengthUnit
2
domain.measure
inch : LengthUnit
: LengthMeasure val
3
begin
currency
price
domain.measure
pound : WeightUnit
domain.measure
unit
height
10
domain.measure
unit
Double
~== [0, 20] 0
preferrably 0 but
up to 20 accepted
Matching

Given request r and offer 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?

10
Implementation descends through description graphs,
fills variables with optimal values,
recursively computes subset for each element,
combines subset values
Automated Service Invocation
 service grounding (part of offer description)
 SOAP-grounding specifies
 endpoint, SOAP Action header and empty message
template
 mapping definitions DSD-Elements <-> XML
 given configured offer description (DSD-Elements)
fill XML message template
 invoke service
 create results (DSD-Elements) from reply message
 if necessary fill xml template to return to requestor
(request grounding)
11
Excerpt from Racer's grounding
soapOperations += anonymous SOAPOperation at upper.grounding [
soapAction = "ShipmentOrder",
xmlTemplatePath = "racerInvoke.xml",
endpoint = "http://sws-challenge.org/shipper/v2/racer",
mappingIN += anonymous XmlDsdMapping at upper.grounding [
variable = $toAddress,
dataNodePath = "OrderOperationRequest/to",
attributeMappings += anonymous XmlDsdAttributeMapping at upper.grounding [
attributePath = "name",
subNodePath = "LastName"
],
attributeMappings += anonymous XmlDsdAttributeMapping at upper.grounding [
attributePath = "city/locatedIn",
subNodePath = "Country",
// name of united kingdom differs from ontology names
converterClassName = "diane.converter.RacerCountryConverter",
converterMethodName = "convert"
],
...
],
12
Remarks about Discovery Scenario
 DSD very well suited
 modelling fast and straightforward
 Shortcomings
 pickup time constraints could not be modelled
 currently no concepts like "now", "today",…
 currently no complex expressions over multiple elements
("pickup.begin – pickup.end >= 120 minutes")
 complex price expressions (Racer, Walker, Runner, Weasel)
could not be modelled
 solved by deploying price computation web services
 price integrated as estimate variable (as in Muller's offer)
 Goal 4 (multiple invocations) could not be modelled
 but concepts currently being implemented
13
Agenda
 Introduction to DIANE Service Descriptions (DSD)
 Solution to Discovery Scenario
 Example descriptions (Muller offer, Goal 3b)
 Matching
 Invocation
 Remarks about Discovery Scenario
 Solution to Mediation Scenario Version 1
 Remarks about Mediation Scenario Version 2
14
Mediation Scenario 1 - Architecture
DSD Matcher Module
2
3
DSD Planner
Module
5
WSDLGrounding
5
6
8
DSD Execution
Module
DSD Middleware
15
DSD Service
Description
7
Moon OM
System
9
Rosetta – DSD
Translator
RosettaNet
System(s)
1
DSD
Service
Request
4
Moon CRM
System
DSD Service
Excerpt from Moon's offer description
upper
MoonServiceOffer : Service
presents
upper.profile
: ServiceProfile
effect
Owned
entity
IN,x,1
contains
ItemSet
Item
belongsTo
shipTo
Order
Address
contact
businessName
Customer
16
String
Mediation Scenario 1 - Architecture
2
3
DSD Planner
Module
5
WSDLGrounding
5
6
8
DSD Execution
Module
DSD Middleware
17
DSD Service
Description
7
Moon OM
System
9
Rosetta – DSD
Translator
RosettaNet
System(s)
1
DSD
Service
Request
4
BPEL-Process
DSD Matcher Module
Moon CRM
System
DSD Service
Remarks about Mediation Scenario 1
 Modelling of services fairly easy, BUT
 DSD unable to handle complex stateful interaction with
Moon's system ( simple DSD Choreography)
 handwritten BPEL process to wrap Moon and expose
simple interface ( Process mediation mainly
performed manually, not so nice…)
 Rosetta-DSD Translator
 mainly handwritten
(internal ontology differs from RosettaNet modelling)
 Quite a bit of effort, approach only advantageous if
more partners cooperate
18
How to implement Mediation Scenario 2?
 Delivery address may be specified on item level
 Need to group items by address,
issue one order per address
 Adapt Rosetta-DSD Translator
 Rejected items may be scheduled for production
 Further complicates already complex choreography
 Adapt BPEL wrapper service
 TODO
19
Thank you for your attendance!
Questions?
Ulrich Küster
DIANE project (services in ad hoc networks)
http://hnsp.inf-bb.uni-jena.de/DIANE/
20