[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Semantic difference in the first <receive>
Ricky, Doesn't explicitly separating start activities lose the ability to have multiple starts, which are used to support non-deterministic start conditions? For example, a shipping company may have a process for receiving shipment requests from a purchaser and seller; where both must send messages before the shipment can be arranged. However, the purchaser and seller have no way to co-ordinate to assure that one of them is the first to send a message to the shipping company (i.e., parallelism in the global process). To handle this type of situation, we must be able to model the idea that multiple start points (activities) are possible, and that once the process is started (a particular start activity is "fired", the other start activities become "normal" non-start activities instead. (This all hinges on correlation of course). It seems to me that the lack of more explicit start activities is a benefit, at least with respect to non-deterministic start. Or are you suggesting that the <triggeredBy> element of a process be added to the current BPEL vocabulary, to make it more readable? Cheers, -Ron Ricky Ho wrote: > 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]