Blog Posts Process Management Service Oriented Architecture (SOA)

Interprocess Collaboration Using Conditional Event

Blog: Process is the Main Thing - Anatoly Belychook

I wrote here already that it’s common for what business considers a business process to become several process pools in BPMN – look at process patterns “internal order” or “incoming processor”. In both examples the “client” process posts a task into DB and process to wait message from the “server” process that the task is completed.

The diagrams are valid but here is the caveat: server should know the client internals – namely the event on the client side. It’s ok if the server deals with a single client but what if not?

Let’s consider the example: sales process bills the customer and proceed to wait until another process that polls the bank on timely basis would send the message that the bill is paid –

Now let’s complicate the case: let’s assume that there are several sales processes: one for goods, another for services, yet another to VIP customers, and via partner etc., the list of process templates is open. Where should the server route the message?

Here is the solution: conditional event instead of message –

  1. Client process (Sale) writes the task to DB and proceed to wait for the desired task status (bill status = paid).
  2. Server process (Incoming payments) changes the bill status.
  3. Client process awakens and proceed.

Neither client nor server don’t know each other’s internals, collaborating exclusively via common data (bill). It gives developers freedom to change any process scheme without affecting the others. Or to add another client process variant. Or server variant.

A separate question is whether your favourite BPMS support the conditional event?

The good news for Bizagi customers is that it does now. The above scheme would work in Bizagi BPM Suite – checked.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="http://www.businessprocessincubator.com/content/interprocess-collaboration-using-conditional-event/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×