OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] Issue - 81 - Proposal for Vote



Hi,

After reading all these emails, here are my brief understanding of this issue:
  • Within a flow, there are implicit control dependency from start initial activities (as sources) to non-start initial activites (as target). (I guess that is a part which most of us agree on.)
  • Whether those implicit control dependency are faithful representation of execution: I think it depends on whether the spec spelled the semantics out explicitly enough. And, I tend to believe that the spec can do that.
  • Regarding to benefit of this language semantic: I would go back to a similar argument that Frank suggested in Oct 2003. http://lists.oasis-open.org/archives/wsbpel/200310/msg00371.html

    I believe it is beneficial to users that they re-use the same / similar flow code pattern regardless that that flow activity or some of flow enclosed activies become start activities of a process. The flow code design pattern and whether it is used as a start activity can be orthogonal decisions. Users just need to turn on/off createInstance attribute of initial activities and the flow code pattern can remain more-or-less the same. 

Thanks!

Regards,
Alex Yiu




Francisco Curbera wrote:


You are right that looked that way the change is "small". There is a
significant difference however. Today, I can have concurrent start
activities and the behavior is essentially what you describe, but the fact
is that any one of the start activities could potentially be hit first and
start the process; in that sense the different concurrent executions that
the process represents are all legal (possible) ones. When non-start
activities are allowed as initial activities the only legal execution
sequences are those in which start activities go first. So the process
definition (as in your flow example) is not a faithful representation of
the possible execution sequences. I think we agree on this.

Given that, I think I would need a little more than the benefit of the
doubt to agree; how about a compelling use case?

Paco




                                                                                                                                        
                      "Yaron Y. Goland"                                                                                                 
                      <ygoland@bea.com>        To:       Francisco Curbera/Watson/IBM@IBMUS                                             
                                               cc:       wsbpeltc <wsbpel@lists.oasis-open.org>                                         
                      09/16/2004 07:02         Subject:  Re: [wsbpel] Issue - 81 - Proposal for Vote                                    
                      PM                                                                                                                
                      Please respond to                                                                                                 
                      ygoland                                                                                                           
                                                                                                                                        




Here is my high level understanding of BPEL as it exists today. Please
note that this is a conceptual model and is not intended to direct
actual implementation.

Step 1 - A new BPEL process is deployed to (what I call) the BPEL
dispatcher.

Step 2 - The BPEL dispatcher receives a message and determines that the
message matches a start activity.

Step 3 - The BPEL dispatcher starts a new instance of the process and
passes that instance the message.

Step 4 - The new process instance begins execution by:
             Step 4a - Executing any intervening scope, flow or sequence
activities
in order to reach the start activity that matched the incoming message
and having that start activity receive the message.
             Step 4b - Once the start activity has received the message
(and thus
initialized its correlation sets if any) then any other start activities
are immediately executed with the correlation sets turned into
initialize="no".

At this point we now have a fully initialized and running process instance.

The proposed language for issue 81 makes exactly one change to the
previous. Specifically issue 81 would add one sentence to the end of
step 4b - "In addition any initial activities that are not start
activities would also begin execution."

I therefore see the change proposed in 81 as both minor and consistent
with the functionality in BPEL. I believe that we should give the
benefit of the doubt to flexibility and so support this change.

             Thanks,

                                     Yaron



Francisco Curbera wrote:
  


The proposed text in section 11.4 contains this sentence:

If an initial activity is not a start activity then the initial activity
will only become active when it is inside of a process instance.

This goes back to the exchange I had with Ugo. The sentence is stating
implicit control dependencies between initial activities that are non
    
start
  
activities and start activities. Which effectively means that don't
    
change
  
(at execution time) from what we have now, but we allow people to encode
    
a
  
"make believe" process in which things seem to happen one way but
    
actually
  
don't. I don't see what we gain with this but maybe someone can explain.

Paco




    

  
                      "Yaron Y.
Goland"
    

  
                      <ygoland@bea.com>        To:       wsbpeltc
<wsbpel@lists.oasis-open.org>


cc:
    

  
                      09/15/2004 09:01         Subject:  [wsbpel] Issue
- 81 - Proposal for Vote


PM
    

  
                      Please respond
to
    

  

ygoland
    

  

    

  



Section 6.4

Change: To be instantiated, each business process must contain at least
one such "start activity." This must be an initial activity in the sense
that there is no basic activity that logically precedes it in the
behavior of the process.

To: To be instantiated, each business process must contain at least one
such "start activity." That is, a receive/pick activity annotated with a
createInstance="yes" attribute. See section 11.4 for more details on
start activities.

Section 11.4

Change: A receive activity annotated in this way MUST be an initial
activity in the process, that is, the only other basic activities may
potentially be performed prior to or simultaneously with such a receive
activity MUST be similarly annotated receive activities.

To: A receive/pick activity annotated in this way MUST be a "start
activity". A "start activity" is an initial activity that has a
createInstance="yes" attribute defined on it. An initial activity is a
receive/pick activity where no other activities but scope, flow,
sequence and empty activities occur before it in the process's execution
path. While all start activities must be initial activities not all
initial activities are required to be start activities. If an initial
activity is not a start activity then the initial activity will only
become active when it is inside of a process instance.

Change: It is permissible to have the createInstance attribute set
to"yes" for a set of concurrent initial activities.

To: It is permissible to have multiple start activities.

Change: All such receive activities MUST use the same correlation sets
(see Correlation).

To: If a process has multiple start activities then all the start
activities MUST use the same correlation sets (see Correlation).

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]