Download presentation
Presentation is loading. Please wait.
Published byBrady O'Hara Modified over 10 years ago
1
Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute matthew.moran@deri.ie 1st F2F meeting SDK cluster working group on Semantic Web Services Wiesbaden, Germany, 15-03-2004
2
matthew.moran@deri.ie2 WSMX Overview Goal –To build a Web Service execution environment as a reference implementation of WSMO Initial scope –WSMO Lite Sub-deliverables –D13.1 Conceptual model –D13.2 Execution Semantics –D13.3 Mediation –D13.4 Architecture –D13.5 Implementation
3
matthew.moran@deri.ie3 Conceptual Model
4
matthew.moran@deri.ie4 Conceptual Model Integration Type –Defines an integration task –WSMO written in BNF form –Contains a set of declarative instructions that can be validated and interpreted by WSMX trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
5
matthew.moran@deri.ie5 Execution Semantics WSMX Execution Semantics What are they? –Formal definition of WSMX operational behaviour How to Model them? –By identifying states and how the execution environment transitions between states –By using modelling technique such as Petri Nets to identify problems such as deadlocks
6
matthew.moran@deri.ie6 Mediation Mediation can mean transformation Challenges faced –Structure Different composition of concepts –Completeness Incomplete concept representation on source or target –Data type mismatch Example: Zip Code as string; Zip Code as positive integer –Subsumption
7
matthew.moran@deri.ie7 Mediation - Example Address1 –Street and number Street Number –Locality –Country –ZIP Axioms: zip_number[value => integer] ZN[value->V]:-ZN:zip_number, V>0. local[str => street, number => integer] address1[str_no => local, loc => locality, country => country, zip => zip_number] Address0 –Street –Number –Locality –State, province or county –Country –ZIP Code Axioms: positive_int[value => int]. FORALL PI:positive_int 0. zip_code[value => string]. address0[str => street, no => positive_int, loc => locality, county => county, country => country, zip => zip_code]. Ontology1, Address1 Ontology0, Address0
8
matthew.moran@deri.ie8 Mediation - Example Address2 –Address line 1 –Address line 2 Axioms: address[adr_line_1 => string, adr_line_2 => string]. Address0 –Street –Number –Locality –State, province or county –Country –ZIP Code Axioms: positive_int[value => int]. FORALL SN:street_numbe 0. zip_code[value => string]. address0[str => street, no => positive_int, loc => locality, county => county, country => country, zip => zip_code]. Require further knowledge about the internal structure of the source concept instances (with respect to the system that generates them) Ontology2, Address2 Ontology0, Address0
9
matthew.moran@deri.ie9 Invocation Challenges: Semantic Web Services involving complex interactions Goal-Capability matching by combining web services Semi-automatic goal decomposition Semi-automatic service invocation
10
matthew.moran@deri.ie10 Invocation Problem (simple) AmazonB&NeBay goal:buy_book capability: buy_book WS invocation engine ? you need matching on choreography, capability, etc… you need selection on price, reliability, etc… capability: buy_2ndHand_book
11
matthew.moran@deri.ie11 Invocation Problem (complex) plumbermasonerconstructor goal:build_house WS invocation engine architectlawyer capability: build_plumbing capability:build_walls capability:make_blueprint capability:design_house capability:make_contract goal:build_plumbing goal:make_contract goal:design:house now you also need decomposition and what to do when something goes wrong?
12
matthew.moran@deri.ie12 trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO WSMO Integration Type written declaratively in BNF form Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture
13
matthew.moran@deri.ie13 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
14
matthew.moran@deri.ie14 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
15
matthew.moran@deri.ie15 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
16
matthew.moran@deri.ie16 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
17
matthew.moran@deri.ie17 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
18
matthew.moran@deri.ie18 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
19
matthew.moran@deri.ie19 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
20
matthew.moran@deri.ie20 Mediator Invoker Ontology Compiler History Integration instances Create PO1234 Mediate PO1234, PO RN Invoke E2, PO RN AddHistory PO RN “Integ A” For Compile Receive PO RN : : AddHistory Second Enterprise 12345: execute(“IntegA”, PO1234) 23456: execute(“IntegB”, PO3897) Once compiled, the instructions can be stored by the WSMX for reuse “Integ A” Invoke stored execution instances using input parameters A set of declarative instructions that can be interpreted by the WSMX. “IntegA” Architecture WSMO Integration Type written declaratively in BNF form trading_partner: E1 (self) use_ontology: E1_ont use_ontology: RN_ont use_concept: E1_ont.PO use_concept: RN_ont.PO use_proxy: sendE2_PO trading_partner: E2 mediator: E1_ont, RN_ont proxy: sendE2_PO
21
matthew.moran@deri.ie21 Summary and Next Steps Conceptual –Feedback to WSMO –Implement BNF based language Mediation and Invocation –First implementation Architecture –Complete initial design Implementation –Build software that provides an execution environment for Web Services based on WSMO
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.