Title: Toward Semantic Web E-Commerce
1Toward Semantic Web E-Commerce
- Massimo Paolucci, Katia Sycara, Takuya Nishimura,
Naveen Srinivasan
2Overview
- Present DAML-S VM a generic processor for the
DAML-S Process Model that can be used to interact
with any DAML-S Web service - Process Model semantics
- Architecture of the DAML-S VM
- Example of execution using Amazons Web service
- Performance evaluation
3Crucial Problems
- Capability based discovery
- Web services should find each other on the basis
of what they do - Semantic interoperation
- Web services understand the information that
they exchange and use it to solve their problems
4Requirements of Interaction
- Shared Knowledge of interaction protocols
- What information the provider needs
- When does it need it
- Shared understanding of content of messages
- Ontologies that act like dictionaries
- Logic framework for correct interpretation
- Agreement on ports and low level details
5Web Services Interaction
Process Model
Provider
Requester
Grounding
WSDL
- Provider publishes
- Process Model
- Grounding, WSDL
- Requester uses them to initiate the interaction
with the provider
6Process Model
- Detailed view of the Web Service
- Provides description of how the Web service
accomplishes its tasks - Interaction protocol
- Specifies when Web service requires inputs from
requesters - Specifies what information (and when) Web service
sends to the requesters
7Operationally
- Process Model describes a workflow
- Atomic Processes
- Composite Processes
- Sequence, Splitjoint
- Conditionals, Non-deterministic choices
- Loops
8Process
- Processes are defined by
- Inputs that they require
- Outputs that they generate
- Preconditions that should be satisfied for the
correct execution of the process - Effects that result from the execution of the
process
9Process Model Execution Rules
- Based on formal execution semantics (Ankolekar et
al 2002) - executed(atomic(Process)) ? executedGrounding(Proc
ess) - executed(sequence(Process,List)) ?
- executed(first(List)), executed(sequence(Process,
rest(List))) - executed(split(Process,List)) ?
- exec(first(List)), exec(split(Process,rest(List))
) - executed(splitJoint(Process,List)) ?
- exec(first(List)), exec(splitJoint(Process,rest(L
ist))), complete(first(List)),
complete(splitJoint(Process,rest(List))) - executed(if(Cond,ThenProcess,ElseProcess)) ?
- ( Cond, executed(ThenProcess) ) XOR
executed(ElseProcess) - executed(choice(Process,List)) ?
executed(oneOf(List))
10Grounding
- Specify mapping to WSDL
- Atomic Processes map to Operations
- Inputs/Outputs described as messages
- Specify XSLT transformations for mapping to and
from DAML and XSD types
11Transforming XSD to DAML
XSD
DAML
- Book
- author
- title
- publisher
- price
- Book
- author
- Person
- name
- age
- title
- publisher
- Company
- name
- address
- price
12DAML-S Virtual Machine
Web Services
SOAP
Provider Web Service Description
DAML-S VM
Webservice Invocation
Axiss Web Service Invocation Framework
Requester
WSDL
DAMLS WebServiceInvoker
APPLICATION
DAML-S Processor
DAML-S Ground ing
Grounding Execution Rules
Process Model Execution Rules
DAML-S Process Model
DAML Inference Engine
DAML Jess KB
Jess
Jena
13Features DAML-S VM
- DAML-S VM a generic processor for the DAML-S
Process Model - It can interact with any DAML-S Web service
- Uses only DAML-S as representation of Web
services - Based on the Process Model formal semantics
- Shows how to integrates DAML-S within Web
services technology such as Axis and WSIF
14DAMLzon DAML-S for Amazon.com
- WSDL2DAML-S used to generate DAML-S for Amazons
Web Service - DAML-S VM used to interact with Amazon Web service
Book Search
Reserve Book
Process Model for Amazon.com
15WSDL2DAML-S
- WSDL2DAMLS allows easy translation of WSDL
documents in DAML-S - Automatic generation of Grounding
- Partial generation of Process Model and Profile
- Up to 80 of work required to generate a DAML-S
description is done automatically - Combined with Java2WSDL to provide Java2DAML-S
16 WSDL2DAML-S
17Example WSDL2DAML-S
To Be Specified
- Atomic Processes are generated automatically
- Need to be specified
- Composite Processes
- mapping XSD to DAML
Generated Automatically
Process Model for Amazon.com
18Performance Measures
- We compared the performance of using DAML-S in
its interaction with Amazon.com - Two experiments
- Compared Amazon client with DAML-S VM client on
browsing task - Used DAML-S VM client on browsingreserving task
- Analyzed distribution of time
19Results Experiment 1
- Compared Amazon client with DAML-S VM client on
browsing task - 98 runs total over 4 days in varying load
conditions - Results in milliseconds
Amazon Client DAML-S VM
Average execution time 2007 ms (1760 ms) 2021 ms (1861 ms)
Strd Deviation 1134 ms (565 ms) 776 ms (450 ms)
Distribution
20Results Experiment 2
Time of DAML-S VM Time of data transform. Invocation Time
Average percentage 83 3 156 5 2797 92
Strd dev 107 146 1314
- DAML-S VM client on browsingreserving task
- No client for BrowsingReserving provided by
Amazon - Analyzed data by computing
- Time required by DAML-S VM to execute Process
Model - Time required for data transformation to fit
Amazon requirements - Time required to invoke an operation on Amazon
- 98 runs total over 4 days in varying load
conditions - Results in milliseconds
21Conclusion
- DAML-SVM is a generic DAML-S port that can be
used to interact with any Web DAML-S service - It conforms with the DAML-S semantics
- It is based on DAML inference engine
- The use of DAML-S does not result in a
performance penalty
22Semantic Web Services
- Semantic Web provides
- Shared ontologies shared dictionaries
- Logic framework to derive consequences from
knowledge - Contributions to Web services
- Description of the domain and reasoning tools
- Facilitate Web Services interoperation
- Less ambiguity of XML
- Representation of Web services grounded in their
domain - Greater Automation
23Crucial Problems
- Language to describe Web services
- Describe properties of Web Services
- Grounded in the Semantic Web
- Build on Web Services standards
- Capability based discovery
- Web services should find each other on the basis
of what they do - Semantic interoperation
- Web services understand the information that
they exchange and use it to solve their problems
24Solutions
- Language to describe Web services
- DAML-S
- Capability based discovery
- DAML-S Profile
- DAML-S/UDDI Matchmaker
- Semantic interoperation
- DAML-S Process Model
- DAML-S Virtual Machine
25Solutions
- Languages to describe Web services
- DAML-S
- Tools that implement the specifications
- DAML-S/UDDI Matchmaker
- add capability matching to UDDI
- DAML-S Virtual Machine
- use DAML-S and WSDL for Web service invocation
26R
P
27DAML-S/UDDILimitations and Value
- Value
- DAML-S allows capability representation
- DAML-S Matching engine allows matching of
capabilities - DAML-S can be used to enable capability matching
inUDDI - Limitations
- Matching restricted to I/O should be expanded to
preconditions and effects - Tighter integration within UDDI
28from Discovery to Interaction
- Discovery tells which Web services are out there
- Next step is to interact with them
29Assumption
- Suppose that Discovery succeeded and a provider
has been found - Next step is to interact with them
30DAML-S
DAML-S Web Services Infrastructure
Discovery Profile UDDI
Choreography Process Model WSCI BPEL4WS
Invocation Grounding WSDL WSDL
31Capability Representation
- DAML-S Profile used to represent capabilities of
Web services - Input Output
- Preconditions Effects
- Provenance
- person or entity responsible for the Web service
- Properties
- Security Requirements
- Quality of service
32Capability Matching
- Requester describes its needs as DAML-S Profile
of ideal Web service to interact with - Matching Engine find Web service(s) that more
closely fit the description - Need of flexible matching
Exact match out(P) out(R) in(P) in(R)
Plug in match out(P) ? out(R) in(P) ?in(R)
Subsumed match out(P) ?out(R) in(P) ? in(R)
Fail otherwise
33DAMLSWithinUDDI
- Use Tmodels to represent DAML-S within UDDI
34Architecture DAML-S/UDDI
35Promise of Semantic Web
- Augment Web services infrastructure with Semantic
Information - Automatic Composition of Web services
- Today programmers use WSDL specs to make their
programs interact with Web services - Tomorrow (with Semantic Web) programs
automatically select the Web services they want
to interoperate and automatically interact with
them - The promise greater automatism