Toward Semantic Web ECommerce Massimo Paolucci Katia Sycara
Toward Semantic Web E-Commerce Massimo Paolucci, Katia Sycara, Takuya Nishimura, Naveen Srinivasan
Overview • 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 Amazon’s Web service – Performance evaluation
Crucial 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
Requirements 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
Web Services Interaction Provider Process Model Requester Grounding WSDL • Provider publishes – Process Model – Grounding, WSDL • Requester uses them to initiate the interaction with the provider
Process 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
Operationally • Process Model describes a workflow – Atomic Processes – Composite Processes • Sequence, Split&joint • Conditionals, Non-deterministic choices • Loops
Process • 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
Process Model Execution Rules Based on formal execution semantics (Ankolekar et al 2002) executed(atomic(Process)) executed. Grounding(Process) 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(split. Joint(Process, List)) exec(first(List)), exec(split. Joint(Process, rest(List))), complete(first(List)), complete(split. Joint(Process, rest(List))) executed(if(Cond, Then. Process, Else. Process)) ( Cond, executed(Then. Process) ) XOR executed(Else. Process) executed(choice(Process, List)) executed(one. Of(List))
Grounding • 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
Transforming XSD to DAML XSD Book author title publisher price DAML Book author Person name age title publisher Company name address price
DAML-S Virtual Machine Web Services SOAP Provider Web Service Description WSDL DAML-S Ground ing DAML-S VM Webservice Invocation Axis’s Web Service Invocation Framework DAMLS Web. Service. Invoker DAML-S Processor Grounding Execution Rules Process Model Execution Rules DAML-S Process Model Requester DAML Inference Engine DAML Jess KB Jess Jena APPLICATION
Features 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
DAMLzon: DAML-S for Amazon. com • WSDL 2 DAML-S used to generate DAML-S for Amazon’s Web Book Search Service • DAML-S VM used to interact with Amazon Web service Reserve Book Process Model for Amazon. com
WSDL 2 DAML-S • WSDL 2 DAMLS 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 Java 2 WSDL to provide Java 2 DAML-S
WSDL 2 DAML-S <wsdl> <port. Type> <operation> <input> </input> <output> </output> <damls> <Process. Model> <Atomic. Process> <inputs> </inputs> <outputs> <fault> </operation> </port. Type> </outputs> </ Atomic. Process > </Process. Model> </wsdl> </damls>
Example WSDL 2 DAML-S • Atomic Processes are generated automatically • Need to be specified To Be Specified – Composite Processes – mapping XSD to DAML Generated Automatically Process Model for Amazon. com
Performance 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 browsing+reserving task • Analyzed distribution of time
Results Experiment 1 • Compared Amazon client with DAML-S VM client on browsing task • 98 runs total over 4 days in Amazon Client Average execution time 2007 ms (1760 ms) 2021 ms (1861 ms) Strd Deviation 1134 ms (565 ms) 776 ms (450 ms) varying load conditions Distribution • Results in milliseconds DAML-S VM
Results Experiment 2 • DAML-S VM client on browsing+reserving task – No client for Browsing+Reserving 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 Average Time of DAML-S VM 83 Time of data transform. Invocation Time 156 2797 percentage 3% 5% 92% Strd dev 107 146 1314
Conclusion • 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
- Slides: 21