[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Semantic difference in the first <receive>
Depends on the intention ... whether we consider the process instances should be "homogeneous" or "distinct" at the beginning of its lifecycle. By using a <receive createInstance="yes"/>, we treat every process instance "homogeneous" (they are same when they start). The fact that each process instance may have different values in their process variables is just because they receive different incoming call in their subsequent receive activity. This homogeneous model is perfectly fine and I would argue why can't the first activity to be an <invoke> which initialize the process variable from the outputVariable of the <invoke>. However, since the spec requires the first basic activity in the process must be a <receive createInstance="yes"/>, I guess the intention is to make the process instance distinct rather than homogeneous. Therefore, I'm suggesting to use a more explicit way to capture this intention. The process instance is distinct if the initialization is explicitly defined. Using the <receive createInstance="yes"/> together with the intention of the process instance distinction has the following disadvantages ... 1) We need to define additional constraints (such as it must be the first activity ... etc.) which complicates the model. 2) Locating the "first activity" is not easy. What if the the first activity is a <sequence> which contains another <sequence>, the first basic activity maybe nested multiple levels down. What if the first activity is a <flow> which has multiple starting activities (some are basic activities and some are nested <flows>). By explicitly capturing the "initialization", we fundamentally treat every "process instance" distinct and force that distinction upfront (independent of the actual processing steps). This mechanism also clearly identify which variables need to be initialized upfront versus those variable which is assigned later as the process executes (similar to the distinction between "instance variables" and "local variables" in object oriented system). Also by explicitly capture the "initialization" call, we can generalize the invocation of a process instance so that it becomes much easier to support other ways to start a process instance (e.g. "call" and "spawn"). Best regards, Ricky At 09:21 AM 9/13/2003 +0200, Dieter Roller wrote: >Aren't createInstance="yes" and triggeredBy just two different ways of >saying the same ? > >Cheers, > >dieter > > > >|---------+----------------------------> >| | Ricky Ho | >| | <riho@cisco.com> | >| | | >| | 09/13/2003 05:05 | >| | AM | >| | | >|---------+----------------------------> > > >---------------------------------------------------------------------------------------------------------------------------------------------| > | > | > | To: wsbpel@lists.oasis-open.org > | > | cc: > | > | Subject: [wsbpel] Semantic difference in the first > <receive> > | > | > | > | > | > > >---------------------------------------------------------------------------------------------------------------------------------------------| > > > >There is no way to pass data to "initialize the variables" of a newly >creating process instance. The only thing that you can do is to put a ><receive ... createInstance="yes"/> as the first activity so that the >process instance can receive external data for variable initialization. In > >this case, the first <receive> has very different semantics from subsequent > ><receive> and I argue that this should be model explicitly. Therefore, >rather than using the following .... > ><process> > .... > <sequence> > .... > <receive partner="buyer" portType="p1" operation >="submitOrder" >variable="var1" createInstance="yes"/> > .... > <receive ..../> > <sequence> ></process> > >We should use this ... > ><process> > ... > <triggeredBy> > <receive partner="buyer" portType="p1" variable >="var1" >operation="submitOrder"/> > </triggeredBy> > ... > <sequence> > .... > <receive ..../> > <sequence> ></process> > >Best regards, >Ricky > > >To unsubscribe from this mailing list (and be removed from the roster of >the OASIS TC), go to >http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php >. > > > > > > >To unsubscribe from this mailing list (and be removed from the roster of >the OASIS TC), go to >http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]