Tuesday, December 09, 2008

Whats happening with BPMN 2.0 @ OMG

First of all, my apologies to you folks for not being active over the past few weeks. I had a short vacation but a longer hiatus from my blog as I had tons of stuff to catch up. No excuses - only apologies!
So whats been happening in the BPMN world while I was away. There has been ongoing work around the BPMN 2.0 specification. A lot of ground has been covered on the various topics that were identified as week in the previous draft e.g. Choreography. The updated version is available on the OMG website. At the Monday OMG meeting, the team did a presentation on the progress made on the specification. Further, it was agreed to extend the deadline for the submission to Feb 23, 2009 - one month before the next OMG meeting. The motion was passed with a "white ballot". I sign off with the promise to be more regular!

Monday, October 06, 2008

More on Variants

Lets understand the use case correctly - you / your customer has created processes e.g "MyProcess".
May be you want to create geography / nation specific variants of this base process, or your customers in turn are changing these processes and now you wants to import them into the same DB. I am assuming you have more than one such variations.

Steps1. Create a variant(s) of the original process (MyProcess) that customer is sharing with outside world. This will create a model "(MyProcessModel(1)")

2. Rename the variant to a more meaningful name "(MyProcessModelForX")
3. Now provide the outside world with an export of the variant MyProcessModelForX.

Wednesday, October 01, 2008

Panel - Future of BPMN - Technology and Industry @ BPM 2008

I hosted a panel at BPM 2008 early in September. Here is the abstract / outline.
BPMN has seen huge adoption over the past four years. It has become very popular with business analysts, tool vendors, practitioners and end users. BPMN brings business and IT together in a collabrative environment where as designed and as implemented are the same. In this panel, we discuss the two major forces that will shape up the future of BPMN. On the one side are technology trends like Web 2.0, SaaS, Semantic web and Cloud Computing which will impact the way people define and execute their business processes, and at the same time there are the needs identified by industry practitioners to facilitate meaningful adoption like closer alignment with organizational models, facilitating process discovery and monitoring. We believe that these two forces will define the future of the BPM industry and therefore we have invited a slew of BPMN and technology practitioners to this panel to discuss the future path for BPMN.

The panelists:
Marlon Dumas, University of Tartu, Estonia
Paul Harmon, Business Process Trends, USA
Jana Koehler, IBM Switzerland
Sebastian Stein, IDS Scheer, Germany
Alexander Grosskopf, Hasso-Plattner-Institute, Potsdam, Germany

We were lucky to have Peter Dadam and Professor Wil van der Aalst in the audience and they took on the panel. we delved into the current state of BPMN adoption thanks to wonderful insights from Paul Harmon. There was a quick tour of the history thanks to Jana. Sebastian gave his thoughts on how they see BPMN requests from time to time. Alex gave a few updates on the current work he is doing around BPMN at HPI. There was also a discussion on the execution semantics of BPMN and how close / different it is from BPEL execution semantics. An interesting discussion overall. Although I wish we had more time to look at the future trends of technology impacting BPMN. Nevertheless, next time!

BPM 2008

Friends - Sincere apologies for not being active on my blog in the past few weeks. There was the BPM 2008 conference and the Oracle open world - more about it in the next post. This one is about BPM 2008!

* BPM community is abuzz with innovation and very active in coordinating efforts across geographies and locations. Most of the research represented at the conference is around process modeling in some way — patterns, modularity, tree structures, process mining — but there were quite a few, interesting ones, focused on process simulation and execution issues as well. Some very intriguing choreo research from friends in Australia. Peter Dadam in his keynote gave a demo of ARISTASoft, a BPM software built by Univ of Ulm and is very dynamic and flexible even at runtime. You can change instances and even percolate that change to definition - very interesting. BPMN Boundary analysis - my personal favorite subject, paper won the best paper award. BPMN process differentiation and merge was another interesting presentation, we do this for BPEL processes. Managing Process Variability and Compliance in the Enterprise was another discussion and the conclusion was "it depends". Instantiation Semantics for Process Models - this is a very important technique of how to start the process instance.

My panel - Future of BPMN - Technology and Industry - a separate blog post for that tonight.

Tuesday, August 12, 2008

Bruce's comment on Process Variance

glad you are posting on this topic, but I have some questions. On first one "inheritance", I don't understand how your item differs from embedded and reusable subprocess (renamed call activity) in the current spec. Are you proposing new semantics, new notation, or new level of mandatory support?
Answer / Clarification:
Bruce - my idea is whether processes can inherit properties from parent process. e.g. parent process may say credit check and approve loan. The child process will go into details of credit check, elaboratre the steps involved and then move to a set of steps required to execute approve loan.

The same question applies to the process variance feature, what some BPMSs call "dynamic subprocess." Do you require that the interface of all variants be the same or not? The focus of BPMN 2.0 seems to be more on the formalism and less on the issue you raise: what features need to be added to make the notation more useful to practitioners? I plan to blog about this one myself.

Answer / Clarification:
Variance - is the geographic, political, legal path that a process needs to take for the same business process definition. e.g Credit Check - my favorite, in US may be just a service call, but in Asia, it wil lbe a human task, or a series thereof approved by managers.

Saturday, July 12, 2008

What else in BPMN 2.0, Process Inheritance, Variance?

I am hearing two different perspectives from people in BPM field. There is one set of users who see a lot of adoption already of BPM (and BPMN) and there is another which says that the industry is on the upward curve.
That brings me to the actual question(s) I want to ask, what else would users want to see in BPMN 2.0.
Process Inheritance: Just for the sake of clarity and being on the same page, let me take a stab at what I mean by Process Inheritance. Process Inheritance implies a parent child relationships between processes. e.g. If "building a house" is a project, "building the foundation", "building the frame" and "electric wiring" would be child projects of this project.
The child process "building the foundation" could be further sub divided into "lay the plumbing", "put the concrete slab" and "install latent heating". And further on. Tool users can then navigate across parent and child processes. Further there could be dependencies across this child processes. I already see several tools support this paradigm including Oracle BPA Suite. The question I am trying to understand is whether this should be mandated by the specification.

Process Variance?
Once again to be on the same page as readers. Process Variance implies geography, polity, legal, ... etc specific variations of the process definition. There are questions about whether these variants should be allowed to modify the original process or should continue to exist within the variation parameter. e.g. If the process requires a credit check in the US version, it might require three steps to verify credit - physical verification of identity, address and property ownership before deciding the credit worthiness of the applicant. Once again there are tools that let business users do this. However, the question is whether this should be mandated? And if yes, then what would be the mandated behavior. In this example it may seem apparent that the localized process should not change the base process but there are examples where the base process needs to be "upgraded"?
I am looking to BPM practitioners and customers in the field to state their opinion on this!

Thursday, May 29, 2008

Tweak the BPMN merge

One question that has been asked by two customers is how do we make sure that IT changes are always preserved, especially if business has made simple changes like update the descriptionof the BPMN activity in the BPMN model.
First and foremost, its important to understand that any change by business user is considered a change to the BPMN activity and therefore IT changes in that scope are rendered deprecated. This may not be most desirable in some usecases as the one described above.
The solution is right infront of you in your BPEL file. The scope annotation will surmise what was the last update date of the activity corresponding to this scope. If you change it to an arbitrary date in future, the merge algorithm will think that the version in JDev is the latest greatest and will therefore not overwrite your implementation. However, pl note that this is not advisable as it violates the basic premise that business user controls the flow of the process definition and the definition of the activity itself. This workaroud is just to ensure that if IT guy thinks that the implementation is "final". Use it with the same care as you would use final in java classes.

Tuesday, May 06, 2008

More about BPMN 2.0

In response to my previous blog post, Sebastian Stein identifies the areas of improvement for BPMN 2.0. One very important area he has identified is execution semantics besides the well known lack of exchange format. And I would like to reassure the wider BPM community that the same is a very important target for the BPMN 2.0 RFP and consequently for the submissions. The approach 1 as outlined and characterized by Sebastian and Bruce attempts to address both of these concerns using the inherent metamodel of BPMN 1.0 and 1.1. There are some great facets of the second submission as well, and there are merger talks in progress.

Going back to what is (or should be) good about BPMN 2.0:

Users get the flexibility to "underspecify" a business activity, e.g. as a business user I know that "Create Order" step is to be followed by an "Audit Step". I may not know exactly how these steps will be executed. If I know it or if there is an IT specialist refining the model, he can specify the execution details of each of these steps.

The execution semantics is an area of focus and ironing out the ambiguous IOR gateways and resulting patterns is high on the agenda. This is also an area for learning from user experience. e.g. in this diagram - how many times does a business user expect the activity "Step X" to be executed?
You will get a different answer from different people. How about the case when the activity Step X is after another similar construct - how many times will the activity X be executed in that scenario.

Stay tuned for the next blog post where I will discuss token flow semantics.

Wednesday, April 30, 2008

Oracle BPA is out

The Oracle BPA is GA and is available for download here:
It has enhanced BPMN 1.1 support.
The whole certification matrix is here:

Further we have an enhanced set of example BPMN diagrams and their fully implemented versions on the sample page:

Have fun - try it out and let us know how the experience is!

More on BPMN - BPEL roundtrip in Oracle BPA Suite

Apologies for the delay in the post. I was busy getting the Oracle BPA 10134 out. BTW, this version contains further enhanced BPMN to BPEL round trip.

We all agree that business processes are living assets. Business and IT might update a process simultaneously, according to their requirements. For example, a business user might update a process while an IT developer is adding implementation details. IT developer refinement involves providing physical bindings and transformations, but can also include adding additional implementation specific processing steps within, or contiguous to, what the business analyst considers a single step. An approach of IT “refinement” respects the logical model as a constraint, thus enabling the logical model and the physical model to evolve in parallel without breaking the connection between the two. BPA 10134 provides a BPMN-BPEL bridge that allows for concurrent updates by business and IT, constantly granting real-time insight into the new state of the business process definition.
If this was the original process definition as specified by business and shared with IT:

Subsequently, if a business user changes the process model as shown in this BPMN diagram - a new activity "Asset Verification" has been added by business user:

Meanwhile, the IT folks have already started implementing the process and they have added a new step called "Audit Approval" as it is mandated by compliance guideline. ANd IT feels that business needs to be aware of this change. Thats the reason IT added this activity to the outline view. This is how the updated IT outline view would look like:

If the IT user did a merge, the outline will now contain a merged view.

Now when IT decides to upload the modified definition to business, the business user will see the diagram as follows:

The business user has the option to accept or reject changes proposed by IT.
Thus changes made by business can be shared with IT and the ones made by IT can be shown to business. Thus the tool provides for a collaborative business and IT environment.

Wednesday, April 16, 2008

BPMN 2.0

BPMN 2.0
Now that the cat is out of the bag, I decided to throw some light on the BPMN 2.0 submissions at OMG and what is happening in the 2.0 world of BPM. Over the past 4 years since its inception BPMI has merged with OMG, the BPMN 1.0 spec has been published, the BPMN 1.1 spec has finally found its way to acceptance and also become available as an accepted specification on OMG website – this one took for ever to appear as a public URL. As a fervent follower of the BPMN 1.0 & 1.1 spec, and as someone who has invested significantly personally and professionally on the BPMN world, I find it imperative to talk about the BPMN 2.0 and what path it should be and is taking.
First let me identify the cool things in BPMN 1.0 (1.1) which made it one of the most popularly adopted spec in the last few years despite other modeling standards being around for a longer time. The first and foremost is that BPMN is simple – or to put it exactly: it keeps simple things simple. If I want to model my quote to cash process, I can do it in very little time with small and not so steep learning curve. Lot of people found it as easy as a flow chart that they otherwise draw on a drawing board, or may I say visio. No wonder there are people with a visio plugin for BPMN. It is not to say it did not have complex constructs. All complex constructs were available and are still available.

The second good thing about BPMN 1.1 was that it was based on a small set of base objects which can be further enhanced to capture the complexities of the process model. So if your simple process definition required a decision point, you could create a switch. However, later if you discovered that this is a switch of a certain type, you could add that specialization without hurting yourself in the foot. You could even mark it a complex decision gasteway . How to implement that could be decided by the IT specialists.
The BPMN 2.0 metamodel should maintain this flexibility.

More to come... stay tuned!

Monday, March 24, 2008

Installing Oracle BPMN (BPA) in silent mode

I have been asked this specific question about how to install the Oracle BPMN tool, BPA in silent mode. Thanks Paco for reminding me again! Here you go with a simple 2 step process on how to do this:

- Record mode & Silent mode: Step 1: Record mode - http://helpnet.macrovision.com/robo/projects/helplibdevstudio9/IHelpSetup_EXECmdLine.htm#rParam Step 2: Silent mode - http://helpnet.macrovision.com/robo/projects/helplibdevstudio9/IHelpSetup_EXECmdLine.htm#sParam

Thursday, March 20, 2008

Multipool BPMN example

Enclosed is an example of a BPMN process in a pool interacting with another BPMN pool. Also noteworthy is the correct usage of event based gateway. I am using Oracle BPMN solution's latest version to model this diagram. The BPMN visual extension capability has been used to create the color coded human (green) and automated (blue) tasks. This will further enhance the readability of the BPMN diagaram in Oracle BPA Suite.

Wednesday, March 19, 2008

Compensation in BPMN

How would users model a compensation in Oracle's BPMN tool? Apologies David for the delay, here you go:
In this example, if the BPMN activity "credit check" fails for some reason, the process refunds the credit card charges.

Tuesday, March 18, 2008

Process Levels - Ask the basic questions

I was in a training class again last week. The quintessential question came up as to how many levels of processes should be there. Should we have one process that covers all levels of details? That would be akin to mapping your IT process using BPMN. How does it reflect the simplicity of the business users?

Answers ranged from 0, zero to 4 to 7.

This reminded me of an earlier discussion with Dr Naci Akkok - credit is due here.
He said think about what question is the model answering. Is it answering the "what" question or the "how" question. Users will need at least these two levels - one that answers what happens in my organization; the other level or levels that answers the how question.

Now its important to realize that its better to draw boundaries of how many levels of what questions and how many of how questions would we want to address. This will prevent proliferation of levels and will also mandate and facilitate common understanding. I would love to put a number out here as a recommendation but it would vary with the organization and the complexity of processes therein. I would recommend a number between 2 and 4 should be good enough to capture the details of business processes in your organization.
Oracle BPA Suite provides for multiple levels of processes. BPMN process levels can be further detailed.

Reminder - Disclaimer: The views expressed are entirely my own and do not reflect those of Oracle or a methodology of using Oracle BPA Suite.

Monday, February 18, 2008

Complex Loop example

This is how one will model a complex while loop. After Step 5 you go back to the Step 1.

Friday, February 15, 2008

SOA MAgazine Article

My recent article in the SOA magazine about BPMN BPEL roundtrip and how Oracle BPA facilitates it.

Workflow Patterns

I looked at the control flow patterns as identified by WorkFlow patterns team here: http://www.workflowpatterns.com/patterns/control/index.php
The BPMN models published here refer to these patterns and you can visit the said website for semantic description of each pattern.

Synchronization pattern in BPMN

This is how one could model synchronization pattern using BPMN. I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Structured Synchronizing Merge with BPMN

This is an example of how I would model structured synchronizing merge.
I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.
Hers is a better example of the structured synchronizing merge.

Parallel Split in BPMN

This is how we model parallel split using BPMN; I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Multiple Choice in BPMN

This is how one could model multiple choice in BPMN.
I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Implicit termination

Exclusive choice in BPMN with explicit gateway type

This is how one could model exclusive choice in BPMN. I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Exclusive Choice in BPMN

This is how one could model exclusive choice in BPMN. We could also use an explicit data based gateway to model exclusive choice. I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

While loops with BPMN

I have seen the question of how to model loops in BPMN coming up on several occassions. I have had it on my system for a good year and its time to share it with folks out there.
So here you go guys - a simple example of a structured loop using BPMN notation; I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Friday, January 11, 2008

BPMN Patterns - Sequence

Workflow patterns have been analysed in detail by Eindhoven University and Queensland University folks, their findings are enlisted at this location http://www.workflowpatterns.com/index.php

I will start documenting some of the common workflow (control) flow patterns and how they can be modeled using the Oracle BPA Suite.
[P.S., some product pitch] The Oracle BPM story is coming together nice and strong with the Oracle BPA Suite The BPMN 2 BPEL roundtrip is best facilitated in this tool.
I will start covering basic patterns and then build on those concepts to highlight the capabilities of a BPMN2BPEL algorithm.
I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

Lets start with the simple sequence:

This is how a simple sequence will be drawn in the BPMN editor. The same process definition can be made available to the IT users as a BPEL process blueprint.

It will be a simple bpel sequence with a scope for each BPMN activity. IT developers can add implementation details for each activity within the scope of that activity.