Running activities concurrently with flow (parallel) activity in WS-BPEL 2.0

I delved into the IBM WebSphere Integration Developer V7 Information Center (InfoCenter) to read up about the parallel activity.

The parallel activity is a structured activity so you can nest other activities – their collection – in a business process flow to have them run in parallel, concurrently.

What made me think it’s more complicated than it really was was the many settings available in Properties tab of a activity that joins flows.

It may come as a surprise, but happily they’re mostly irrelevant to the parallel activity itself turning it into a pleasant to learn activity – not much to remember. The settings are there for another activity that’s so similar to the parallel activity that they may easily get mistaken (which I’m pretty sure I experienced while doing the certification test for IBM Certified Solution Developer – WebSphere Integration Developer V6.2), namely the generalized flow activity (formerly cyclic flows). I’ll get back to it in another blog entry.

The more non-linked activities in parallel activity, the more concurrency. Those activities that are supposed to run sequentially in a thread are linked together with links.

To give more control to modeling a sequence, one can assign a link (transition) condition so the flow is only taken when it returns true.

To me, the most important feature of the parallel activity is (quoting the InfoCenter’s Working with parallel activities):

“The process is complete after each of the activities have either been executed, or skipped in cases where the enabling condition evaluates to false.”

It may not be clear what “the process” means in the above context that’s merely a single sequence of activities within parallel activity. Not to be confused with a business process as a possible implementation of a SCA component in WID.

You can change the expression language to write a link condition with.

Guess what the No Expression means – it’s simply a means of expressing no condition altogether.

The Condition lets you pick the value, e.g. for Simple expression language or write one, e.g. for a Java expression language.

Read Working with parallel activities for more “structured” description of the parallel activity and be given an example of its use – modeling a bank account opening.

While you’re at it, read 3.4.4. Parallel Processing in Web Services Business Process Execution Language Version 2.0 Primer if you need a bit of a background about the WS-BPEL construct that lurks behind the parallel activity of IBM WebSphere Integration Developer – the flow activity. I enjoyed reading the document very much as it introduced business process terms I used to hear, but may not have explained them as easily as I think I’m able to now, e.g. “a link introduces a control dependency” or “Dead-Path Elimination (DPE)”. I’d highly recommend reading the primer.

With that read, would you be able to answer the question: What activities are to be run in the above parallel activities?

Be Sociable, Share!
This entry was posted in WebSphere.

6 Responses to Running activities concurrently with flow (parallel) activity in WS-BPEL 2.0

  1. Pingback: Suppress join failure in WS-BPEL 2.0 with WebSphere Integration Developer V7 | Japila :: verba docent, exempla trahunt

  2. Priya says:

    Thanks for the blog..

    can you please confirm based on your experiance if it is a right statement to make that WPS does not run parallel activities concurrently in a short running process. Is it right to say parallel activities are treated concurrently only in long running processes.

    • Jacek Laskowski says:

      Exactly. There’re a few differences between short- and long-running business processes and no concurrency is one of them. There are more – no transactions, but one, no persistence and no asynchronous service calls. I’ll have a blog entry about it soon as more and more people ask about it. Thanks Priya and keep questions coming!

  3. vangli says:

    Hi I have a small doubt
    In the 3rd diagram, will it wait for the all 3 activities to complete to go to next action

Leave a Reply

%d bloggers like this: