Pascal On BPMS

BPMN, BPEL, SOAP and all those things

Pascal On BPMS header image 1

Looping Backward

February 8th, 2007 · 3 Comments

A fairly common thing you want to do in your process is to loop back.

Consider this process, for example, which illustrates a simple approval Proposal Review and Approval.

Simple Loop

What happens during that process is quite self-explanatory: you submit a proposal till it gets approved.

Some BPMN Modelers don’t support loopback (hint: Intalio|BPMS Designer CE does not, at least not yet). If it something easy to do at modeling time, it can get fairly complex to generate an equivalent BPEL process that conveys the same thing since BPEL does not support out of sequence flow changes (What some people would call GO TO). BPEL execution model likes well structured, nested sequences (sub processes, conditional code and while loops).

So, if the modeler does not let you model the process as above, how can you model that process?

Fortunately, BPMN provides a looping sub-process shape. So you could model your process this way:

Simple Loop with a Looping subprocess

Maybe not as intuitive, but it expresses exactly the same thing. And it has its benefits too. For example, you can collapse the subprocess to unclutter your diagram, tasks inside the subprocess get their own scope.

In fact, absent of parallel flows, Böhm and Jacopini proved over 40 years ago that:

“any logic problem can be solved with only sequence, choice (IFTHENELSE), and repetition (DOWHILE) structures)”

in “Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules”,Communications of the ACM, No. 5, May 1966, pp 366-371.

The same approach can be used for more complex processes and nesting more than one looping sub-process.

However, some processes may not be valid:

Invalid Loop?

Anyone wants to venture why?

→ 3 CommentsTags:

What’s a Business Process?

February 5th, 2007 · 3 Comments

Before getting in too deep, I need to define a few terms, not so much because you don’t know what they mean, but so you know what I mean when I use them.

And since I can’t be talking about BPMS (Note to self, need to define what a Business Process Management System is) without talking about Business Processes. So here goes.

The definition I like to use most is the one Thomas Davenport crafted in Process Innovation: Reengineering Work Through Information Technology (1992):

“A process is thus a specific ordering of work activities across time and space, with a beginning and an end, and clearly defined inputs and outputs: a structure for action.”

It brings the process to the center of the stage, it focuses on how work gets done, how the various activities should be combined, ultimately to provide value (to the customer), or at least to keep things in order.

This however, leaves a critical dimension out: the participants of the process, whether these are people, systems, or even other processes. The process in itself does not “do” anything, the participants do. So with this in mind, when I later talk about business processes, here’s what I’ll mean:

“A Business Process is a specific ordering of Activities across time, space and participants. A Business Process has a Beginning, an End, and clearly defined Inputs and Outputs and Steps.”

→ 3 CommentsTags:

New Screen Cast

February 2nd, 2007 · 2 Comments

I just created a new Screen Cast demonstrating how to model and run the Hello World Process. Here are the instructions for modeling the Hello World Process. Hello World is one of the most simple process, if not the simplest you can model with Intalio|BPMS.

If you’ve never used Intalio|BPMS, this is a good way to get acquainted, and if you alrady know the product, maybe you’ll learn a trick or two!

Over the following weeks, I’ll be publishing more screen casts, tackling some more complicated processes as time goes by, as well as othe subjects such as connectors, SOAP and the like. In fact, if you’d like to suggest some topics, please leave a comment below. I’ll add a note here so grab the RSS feed so you don’t miss any :)

Check it out!

→ 2 CommentsTags: