1) The document describes a middleware architecture for instantiating and executing workflows at runtime based on quality of service constraints.
2) The middleware selects appropriate services for each workflow activity based on offers published to a registry and binds them to generate a concrete workflow execution plan.
3) Workflow execution is decentralized by distributing workflow instance information to participating services, which invoke each other to continue execution in a self-coordinated manner.
Demonstration Evening ServiceWave 2010, FIA and FIRE
Chen Wang, Pazat, Di Napoli, Giordano: A Chemical Based Middleware for Workflow Instantiation and Execution
1. ServiceWave 2010 A Chemical Based Middleware for Workflow Instantiation and Execution Chen WANG1, Jean-Louis PAZAT1, Claudia DI NAPOLI2, Maurizio GIORDANO2 1Université Européenne de Bretagne, INSA/INRIA/IRISA, F-35708 Rennes, France 2Istituto di Cibernetica CNR, Via Campi Flegrei 34, 80078 Pozzuoli, Naples, Italy 15th December 2010 @ Gent, Belgium ServiceWave 2010 13-15 December 2010
13. A way to realize the technical aspects of SOA;
14. Definition (W3C): a software system designed to support interoperable machine-to-machine interaction over a network.
15. A Web Services architecture then requires three fundamental operations: publish, find, and bind. Service providers publish services to a service broker. Service requesters find required services using a service broker and bind to them. These ideas are shown in the following figure.Bind Web services architecture. 13-15 December 2010 ServiceWave 2010
27. Global Architecture Middleware Layer Abstract Business Process Registry AS1 AS3 Workflow Instantiation AS2 Abstract Service Web Service Grid Service Grid Service Concrete Service Business Process 13-15 December 2010 ServiceWave 2010
29. Middleware Architecture Middleware Layer Web Service Execution Level Registry Publish Information of all offers provided by Abstract Services Monitoring/Rating Module Workflow Instantiation The 3rd party component, exposed as a service, to monitor the execution process of a workflow. - Input: an Abstract workflow - Output: a Concrete Workflow (Execution Plan) Web Service Representation Level Abstract WSn Abstract WS1 … … Abstract Business Processm Abstract Business Process1 WSn_Invoker WS1_Invoker Definition of Abstract WF Definition of Abstract WF … Concrete WS1 Concrete WSn 13-15 December 2010 ServiceWave 2010
49. Global Non-functional parameters can be aggregated (aggregated price can be added and the aggregated availability can be multiplied)
50. The same abstract workflow + different global QoS Constraints = different concrete workflow (Instantiation process: coming slide) Abstract Business Processm Definition of Abstract WF 13-15 December 2010 ServiceWave 2010
66. “inter_flight_reservation” offer is provided by “Air France” for reserving international airline tickets, the average response time is 5 seconds, the availability is 99%.13-15 December 2010 ServiceWave 2010
68. Web Service Invocation Middleware Layer Service Invocation Message (with parameters) Abstract BP (SPA) P Q s1 s2 s3 s4 s5 13-15 December 2010 ServiceWave 2010
69. Forward Abstract WF to Instantiation Middleware Layer Workflow Instantiation Abstract BP (SPA) Send Workflow P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
70. Look For Appropriate Offers Middleware Layer Workflow Instantiation Demand Offers I look for the service providers that deliver the functionalities s1, s2, s3, s4 and s5. Registry Publish Information of all Abstract Web Services Abstract BP (SPA) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
71. Return Qualified Offers Middleware Layer Workflow Instantiation Qualified Offers Registry Publish Information of all Abstract Web Services Abstract BP (SPA) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
72. Associate Offers to Activities Middleware Layer Workflow Instantiation (0,3) (0,3) (0,2) (1,5) (2,4) (1,6) (4,5) Registry (4,6) (5,7) Publish Information of all Abstract Web Services (6,7) (3,8) (5,9) Abstract BP (SPA) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
73. Non-functional Property Middleware Layer Workflow Instantiation (0,3) (0,3) (0,2) (1,5) (2,4) (1,6) (4,5) Registry (4,6) (5,7) Publish Information of all Abstract Web Services (6,7) (3,8) (5,9) Abstract BP (SPA) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
74. Workflow Fragment Middleware Layer Workflow Instantiation (0,3) (0,3) (0,2) (2,4) (1,5) (1,6) (4,5) Registry (4,6) (5,7) Publish Information of all Abstract Web Services (6,7) (3,8) (5,9) Abstract BP (SPA) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
75. QoS Constraints Middleware Layer Workflow Instantiation (0,3) (0,3) (0,2) (2,4) (1,5) (1,6) (4,5) Registry (4,6) (5,7) Publish Information of all Abstract Web Services (6,7) (3,8) (5,9) Abstract BP (SPA) P Q Constraint: The execution duration of two consecutive nodes has no Intersection. s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
76. Branch Instantiation Middleware Layer Workflow Instantiation (0,3) (0,3) (0,2) (1,6) (4,5) Registry Publish Information of all Abstract Web Services (6,7) (3,8) (5,9) Abstract BP (SPA) (2,6) (1,7) P Q Constraint: The execution duration of two consecutive nodes has no Intersection. s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
77. Connect fragments Middleware Layer Workflow Instantiation (0,3) (0,3) (0,7) (1,6) Registry Publish Information of all Abstract Web Services (3,8) (5,9) Abstract BP (SPA) (1,7) P Q Constraint: The execution duration of two consecutive nodes has no Intersection. s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 13-15 December 2010 ServiceWave 2010
78. Find A Feasible Solution Middleware Layer Workflow Instantiation (0,3) (0,3) (1,6) Registry Publish Information of all Abstract Web Services (3,8) (5,9) Abstract BP (SPA) (1,7) P Q s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 (0,7) 13-15 December 2010 ServiceWave 2010
79. Return Instantiation Result Middleware Layer Workflow Instantiation (0,3) (0,3) (1,6) Registry Publish Information of all Abstract Web Services (3,8) (5,9) Abstract BP (SPA) (1,7) P Q Return Instantiation s1 s1 s2 s2 Execution time: within 8 time units s3 s3 Complete Instantiation s4 s4 s5 s5 (0,7) 13-15 December 2010 ServiceWave 2010
80. Ready For Execution Middleware Layer Workflow Instantiation (0,3) (0,3) (1,6) Registry Publish Information of all Abstract Web Services (3,8) (5,9) Abstract BP (SPA) (1,7) P Q Return Instantiation s1 s1 sp2 s2 s2 Execution time: within 8 time units sp6 s3 s3 sp3 Complete Instantiation s4 s4 sp5 s5 s5 sp1 13-15 December 2010 ServiceWave 2010
132. Pass the elements/commands to a remote multi-set
133. Either from the user interface or can be performed automatically by reaction rules (once a certain type of element is produced, it will be sent to a specified remote multi-set)13-15 December 2010 ServiceWave 2010
134.
135. Each component is implemented by a multi-set (chemical reaction container);
136. Service related elements can be seen as molecules (a workflow can be seen as a composed molecule);
159. Service Monitoring: monitor the execution of a workflow, detect the unpredictable problems (such as node crash etc.);
160. Adaptation process: replace the crashed part with new offers and continue the execution;13-15 December 2010 ServiceWave 2010
161. ICSOC-ServiceWave 2009 Thanks For Your Attention! * The research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement 215483 (S-CUBE).