Folks,
Mike Edwards wrote:
<snip>
2) Modify the BPEL Process code on-the-fly and add an <assign/>
statement at the start of the activities in the BPEL process, assigning
the SCA property value to the corresponding variable in the BPEL process.
So, with a variable declaration like:
<variable name="testName" type="xsd:string" sca-bpel:property="yes"/>
...this would mean adding an assign operation like this:
<sequence>
<assign name="SCAProperty_Initialization">
<copy>
<from><literal>ASM_4001</literal></from>
<to variable="testName"/>
</copy>
</assign>
...
This should work OK, with the small fly in the ointment in that the
first Activity within a BPEL process is not guaranteed to be a
<sequence/> (although it will be in most cases)
<snip>
PROPOSAL
I'd like to get Option 2) running immediately since it requires no use
of ODE SNAPSHOT code.
It may have some limitations in the short run while we work through the
various possible initial activity sequences for BPEL processes, but in
principle it should be workable for all possible activity sequences.
In the longer run, I'd like us to go with Option 3), assuming we can get
the agreement of the ODE folks. Failing that, then we can migrate to
Option 2) at the point we decide the current ODE code (2.x) is stable
enough for us to use.
Yours, Mike.
I now have an implementation of Option 2 and I will commit this to the 2.x stream under a new issue
that I'm about to raise - scream soon if you object to this approach.
Yours, Mike.
PS I have posted to the ODE dev list asking if they are willing to assist in the creation of a much
cleaner implementation of SCA Properties ("Option 3" in my previous note) - this requires some
changes and additions to the ODE BPEL compiler and to the ODE runtime. If they agree to this
approach, it will also require us to migrate up to the latest ODE SNAPSHOT code... (their 2.x stream)