Oracle SOA Suite 10g to Oracle SOA Suite 11g Migration – FlowN execution issue:
We had a flow in 10g that invokes another composite inside the FlowN activity with different data based on the index variable and it was working properly but after the migration the composite has always invoked with the payload of the first flow branch.
We did some analysis and found that 10g FlowN activity and 11g FlowN activities are working in different manner.
In 10g ,the activities in the same flow branch is executed in sequence that after completing the first branch the second branch getting executed
But in 11g, the execution of the activities are swapped between branches that the first activity in the first branch is executed then the first activity in second branch then second activity in first branch and second activity in second activity and so on.
In 10g even though we are using the global variables inside the flowN activity each flowN branch is working with different message/payload based on the Index Variable.
In 11g if we are using the global variables inside the flowN activity all the flowN branches are executed with the same message/payload of the first flow branch.
To overcome this issue we have copied the global variable data to local FlowN scope variable and used the local variable inside the FlowN.
Below is the detailed execution of activities within FlowN in 10g:-
FlowN with two branches and both the branches are working on the same global variable ‘Varaible_1’
The value of ‘Varaible_1’ has incremented to 1 in Assign_2 and to 2 in Assign_3 (Assign_2 and Assign_3 data’s are displayed together) of Flow2
The value of ‘Varaible_1’ has incremented to 3 in Assign_2 and to 4 in Assign_3 (Assign_2 and Assign_3 data’s are displayed together) of Flow1
The activities are executed in the following order
Below is the detailed execution of activities within FlowN in 11g:
FlowN with two branches and both the branches are working on the same global variable ‘Varaible1’
The value of ‘Varaible1’ has incremented to 1 in Assign1 of Flow2
The value of ‘Varaible1’ has incremented to 2 in Assign1 of Flow1
The value of ‘Varaible1’ has incremented to 3 in Assign2 of Flow2
The value of ‘Varaible1’ has incremented to 4 in Assign 2 of Flow1
The activities are executed in the following order
Summary
In 10g the each branch in FlowN activity is executed in sequence that is after completing one branch the activities in the next branch are getting executed. In 11g the execution of the activities are swapped between branches. Steps are not truly executed at the same time but the branches in the Flow get their turn to execute the next step.
Its a good one
ReplyDeleteI faced exactly the same issue and fixed by using local variables to scope of FlowN activity in SOA Suite 11g.
ReplyDeleteRegards,
Deb
I already knew it but you explained it very nicely.
ReplyDeletewhat use of FTP adpter in SOA?
ReplyDeleteThe Oracle FTP Adapter enable a BPEL process or a Mediator to exchange (read and write) files on remote file systems (through use of the file transfer protocol (FTP)). The file contents can be both XML and non-XML data formats.
DeleteRefer the below url for more details -
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm
Regards
Albin i