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