40 likes | 193 Views
Selected discussion points Rick Hull 9/23/04 (with minor revisions since the discussion at 1:30-3 EDT). Something is atomic. What is it? Is it a “process” or a “web service” <group decided on “process”>
E N D
Selected discussion pointsRick Hull9/23/04 (with minor revisions since the discussion at 1:30-3 EDT) • Something is atomic. What is it? • Is it a “process” or a “web service” <group decided on “process”> • It can examine and impact the fluents; does it in addition have an “internal state” < the group decided “no”> • Do we invoke it using WSDL or something else? • Why messaging is important (to me, at least) • Synchronization example (see following slides) • To actually invoke web services we will have to get messages sent. • Note: in any case, we have to address the BPEL constructs of “waiting for a message” and “pick” • Distinction between “core” model and “grounding” • I think this is a second-level consideration. We have to reason about the “grounding”, whatever that is. So let’s get a model with everything we need, and as a refinement (if people want) we can separate “core” from “grounding” notes on SWSL process model proposal
A very simple, drafty example • Goal: abstract example of why including messages and message passing between services is important in a model of web services and how they process things and interact with each other • Consider the following 4 services that will interact. A: bureau (Arrows included as an intuitive aid, and indicate who is asking who to do something) B:payment- service1 C:payment- service2 D:bank notes on SWSL process model proposal
Here is one possible design for the insides of the 4 services • I’m using a very ad hoc representation language/graphical notation, only to get the ideas across. This is not intended to be some proposal for the SWSL process model ontology. • With this design, there is no guarentee whether Rick or Sheila gets paid “first” or with “higher priority” B (original) C (original) D A Atomic Activity2 Atomic Activity1 ?S: pay-X-Y (think of S as a variable ranging over services) !B:pay-Sheila-100 success success fail fail !C:pay-Rick-100 Money not avail Money avail !D: pay 100 !D: pay 100 <stuff on cleanup, reporting, etc., not important here> !S: I didn’t pay (fail) !D:pay-X-Y <stuff on cleanup, reporting, etc., not important here> <stuff on cleanup, reporting, etc., not important here> END !S: I paid (success) END END END notes on SWSL process model proposal
C (revised) B (revised) Atomic activity2 Atomic activity1 Note: I’m not showing something like a time-out in connection with waiting for the message from B. One can imagine something like the “pick” construct from BPEL. success success • “Revised” design of B and C • Synchronization between B and C accomplished via messages • If we assume that there are no deposits into the bank account, then we can infer that paying Sheila has higher priority than paying Rick ?B: you-can-proceed !D: pay 100 fail fail !D: pay 100 ?D: succeed/fail ?D: succeed/fail success fail <stuff on cleanup, reporting, etc., not important here> !C: you-can-proceed END <stuff on cleanup, reporting, etc., not important here> END notes on SWSL process model proposal