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

 


Help: OASIS Mailing Lists Help | MarkMail Help

bpel4people message

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


Subject: RE: [bpel4people] ISSUE BP-19: Title: Using process variables in constellations 1 and 2


Sorry, I sent prematurely, finished email is below. 

-----Original Message-----
From: Mark Ford [mailto:mark.ford@activevos.com] 
Sent: Friday, June 20, 2008 4:16 PM
To: bpel4people@lists.oasis-open.org
Subject: [bpel4people] ISSUE BP-19: Title: Using process variables in
constellations 1 and 2

The consensus from the face to face meeting was that the variables would be
live such that a change to a process variable that is used in an escalation
handler is visible to that escalation handler during its execution.

For example:

<ht:escalation ...>
   <ht:condition>ht:getActualOwner() = 'Bob' and $v1 = 100</ht:condition>
   ...
</ht:escalation>

If the value of v1 at the time of the people activity's execution is 100
then this condition may evaluate to true. If the process changes the value
of v1 to 101 prior to the deadline's alarm firing then this condition will
never be true.

My initial thought here was to add some text to Section 4.9.2 in the b4p
specification to clarify this. The current text reads as follows:

--- quote ---
4.9.2 Context Data
Tasks defined as part of a BPEL4People business not only have access to the
context data of the task, but also of the surrounding business process. The
process context includes
.	Process state like variables and ad-hoc attachments
.	Values for all generic human roles of the business process, i.e. the
process stakeholders, the business administrators of the process, and the
process initiator
.	Values for all generic human roles of human tasks running within the
same business process
--- end quote ---

However, there is some text in the HT specification which touches on this
area. 

--- quote ---
4.7.1 Normal processing of a Human Task 
Upon creation, a task goes into its initial state Created. Task creation
starts with the initialization of its properties in the following order:
1.	Input message 
2.	Priority 
3.	Generic human roles (such as excluded owners, potential owners and
business administrators) are made available in the lexical order of their
definition in the people assignment definition with the constraint that
excluded owners are taken into account when evaluating the potential owners.
4.	All other properties are evaluated after these properties in an
implementation dependent order. 
--- end quote ---

Item #4 from above states that the properties are evaluated in an
implementation dependent order. It seems possible that an implementation
could evaluate the conditions for some escalation handlers upon the task
execution. 

I'm thinking that the proposed resolution would need to make a change in
both b4p and ht specs. The b4p spec would have to state that references to
process variables in a task definition behave like any other variable
references. The ht spec would have to change to state that escalation
condition expressions shouldn't be evaluated until the alarm fires.



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