In a project I work in I had to create a process that does calculations based on the input. This calculations must be done from different parts in the input. So the only difference where the input variables. For this I used the option Inline Subprocesses in BPEL. An Inline Subprocess is embedded in the main BPEL-proces and can be called from different scope’s in the main process.
In this blogpost I will give a brief introduction of the use of Inline Subprocesses in BPEL.
The Inline Subprocess can be created from the main BPEL-window in the menu-bar.
When selecting this you see the next window. Here you type a name for your subprocess.
When you created the subprocess you can here select the subprocess store_output. When it’s opened it’s look like a brand new BPEL-process.
The difference with a “normal” BPEL-process is that we don’t have a receive and a reply component.
Now I go back to the main process and create the following logic. A ForEach loop to loop over the repeating elements, an Assign to assign the values to the inline process variables and the call to the inline process.
The call to the inline process can be created in the following way:
After that I created the logic in the Inline Subprocess. Assign the inputvariables to a variable, do the logic and assign the variable to the outputvariable:
And finally deploy the BPEL-process, execute a message and see the result: