Topics of BPM and SOA

How do you help the customer to define the business processes at a level where the automation can create a substantial business value? How can you connect legacy system through state of the art SOA techniques? How does a SOA environment have to look like that you can guarantee highly available business processes?


Thursday 13 May 2010

Process Design | webMethods vs. Intalio

First I want to design a very simple process with two steps. The first step is supposed to read a text from a database, the second step should be a user task. The user has the task to review and edit the text before he submits his task.
So basically there are two core functionalities in this process. An adapter task and a human task.
For comparison I use Software AG Designer 8.0 and Intalio Designer 6.0.3

I was really surprised how different this simple process can look although both Designers claim to do BPMN.

Software AG Designer:


Intalio Designer
Let's have a closer look at the differences.

1) The receive step

In webMethods, the receive step is one symbol for which you have to define a publishable document type. The receive step subscribes this document type in the webMethods broker.

In Intalio, you have to have a message connection from a step in an non-executable pool. The receive step cannot work standalone, you have to define what the trigger for the incoming message is. For this incoming message connection edge, you can define the document type by dragging a xsd document definition onto the edge.

The differences are not substantial. Intalio wants you to design the external trigger for your process also. That does add some information to you graph. The implementation of both receive steps has substantial differences but are not in focus today. I want to have a closer look at this issue in the implementation phase.

2)Meaning of a pool

As you can see, I used only one pool in webMethods, but had to use three pools in Intalio. Why that?
First of all, webMethods knows two types of pools, the external and the internal pool. Intalio uses the executable and none-executable pool. That are two different interpretations.
At that point I was wondering what the meaning of a pool according to BPMN is. As far as I know, the pool has no strict definition but helps you to outline different organizational units in you graph. Intalio stretches that definition a bit and gives the pool more technical meaning. That is the first time I got the impression that Intalio has a more technical view onto business processes while webMethods has a more business focused view onto BPM. But it will not be the last time.

OK, so in webMethods I have only one pool, because the complete process is running internally in the HelloWorldCorporation, no external stakeholders are involved.
Intalio forced me to create the client pool because you have to design the external trigger for you process. This external trigger has to reside in a non-executable pool. That makes sense from a technical standpoint, since the trigger step is outside the executable part of my process.
I was more surprised that I had to create another non-executable pool for creating my human task. I will explain that part in more detail in the next step. Only that much: The user to whom I assign the human task generally belongs to a different pool. Remember, the pool doesn't represent an organizational unit, but more a technical layer in Intalio.



3) Human task


The most obvious difference between both BPM graphs is the design of the human task. While there is only one step in webMethods, there are four steps in the Intalio graph.
The reason for this lies again in the different angles of view onto BPM.
From a business standpoint, the confirmation of the text is one 'TODO' in the process and therefore is represented by one step in the webMethods graph.
From the technical standpoint of Intalio, the confirmation of the text by a user consists of two steps. First, the creation of the human task and second, the completion of the task by the user. In the users-pool there are two additional steps which represents the UI-Form presented to the user in its two states 'Creation' and 'Completion'.
For my taste, this design is too closely related to implementation matters.

Interesting is the contrary order of how to design a human task in your BPM graph. In webMethods, you add a task, define it as a human task an then the Designer generates the web page for you.
In Intalio, you first need to create the web page before you can finish the design of your BPM graph. You can drag and drop the web page file into your graph to accomplish the human task definition.

No comments:

Post a Comment