Tuesday, March 26, 2013

Updates from bpmNEXT

Continuing her amazing ability to listen and provide commentary in a rapid fire more, here comes the details out of bpmNext event held last week in California. Here are some of the notes.


My take: Without sounding boastful hopefully, I covered some of the very similar ideas last year in an earlier blog post on Manifesto for BPMN 2.0 and Case for ACM using BPMN.  As for BPM in cloud, the writing has been on the wall for a while.

I am sure the demos must have been awesome, after all this was supposed to be DEMO of BPM.

Tuesday, October 02, 2012

Manifesto for BPMN 3.0


Dear Readers,
   Having worked extensively for 6- 7 years on BPMN 2.0 specification, and its amazing success, I would love to see more work to address the requirements of more real life processes being added to BPMN. The first prototype of .bpmn file was written in second half of Dec 2004 on a late night, using little more than XML and a XML editor. Its great to see the success of the standard and it speaks volumes about the hard work done by the entire team. Steve big kudos to you!!! Any estimate how many person years were invested, my guess is about 200 person years at-least.

   Here is my set of recommendations for BPMN 3.0 -
1. Global Event support
An event, of critical importance,  can occur at anytime during the execution of a process instance. e.g. Pardon the extreme: Death of a loan applicant while the loan application is being processed.
It would be painful to model every task to be aware of such an event occurrence. Therefore, it should be possible to have a global event(s) defined which all activities in a given process are aware of and can react to if needed.

2. Make Process Artifacts first class.
Current support for notes, documents etc is restricted to association with activities. There are scenarios where several activities in a process may result in updating a document or based on some content of the document, might influence the decisions made during a process. Therefore, Documents should be treated as a first class citizen similar to data objects.

3. Refine Execution semantics in cases of Signal and Global events
Taking a cue form 1, we need to refine the execution semantics to support such events.

4. Allow for rework
Often times, process instances may need rework of certain steps. This is especially true for human tasks but is equally common for service tasks, the specification should specifically allow for rework of process instances from specific tasks.

5. Allow for Skip
As in 4, there are cases where certain activities may be skipped both in normal cycle as well as during rework cycle, so execution semantics need to provision for skipping certain tasks.

6. Allow partially defined processes
To support design by doing paradigm, and also allow lazy folks like me :), it is important to allow users to model processes which may not be complete.

7. Runtime Modification - Change the state of instance -
Execution of process needs to allow for change of state of any given instance, including go back and restart a task or skip some tasks in some instances, or activate certain branches - branches that were never activated given the conditions at that time but need activation now.

8. Runtime Definition Modification -
Change the definition of executing business process and instances thereof. A common use case, where processes can never be right the first time and often times there are inflight instances already when we discover the discrepancy. Allow the definition to be changed while instances are already in flight.

9. Digramming should support layering
There can be multiple level of detail in a BPMN diagram. One specific to Executive users, one to department heads, one to business and one that actually executes on the wire. Since BPMN supports diagram - there should be support for layers of diagram. I see the level of detail, I want to see. I know this can be left to tool vendors but this can probably be the non-normative part of the spec. "Non-normative" is the OMG speak for not mandatory and binding - but dont quote me on this definition.

10. Bubble up user participation in activities and consequent decision management.
Currently decision making is made based on condition expressions with data variables. However, process participants and their decisions are equally critical and there should be first class support for these decisions.


11. Pre and post execution rules support.
There should be pre and post conditions for execution of each task. Before we assign a task to a user, or even create a task, we should allow for user defined rules as an entry condition to the task; similarly before a task is considered to be done there can be exit criteria defined.

12. Add checklist for activities including ad-hoc
As a post condition for ad-hoc tasks - there should be an option to add a checklist, one which can be modified by users when needed.

13. Milestones - Add a notion of milestone.
Since several business processes can be long running and may even take months to finish, and also for supporting intermediate signpposts, we should add the concept of a milestone. Yes one can argue that even today this can be modeled as an association but it makes sense to make it first class member of the process definition.

Friday, September 07, 2012

WYDIWYE or WY-CAN-DIWYE challenge

Folks I see that there is a lot of confusion between my WYDIWYE and yours WYDIWYE.

From my experience, I have seen tons of BPMN models modeled in Visio / Signavio / ARIS and the user expects these models to execute on a BPMN 2.0 engine.  Alas, execution is when the real WYDIWYE challenge comes out. (There are tools that compile process models to other execution languages, for example to Java. )   It’s quite likely that unless you have severely limited your modeling richness, that your compiler will reject your process model! Does your tool truly support WYDIWYE?  Which is to say, does the product you are using support your business process pattern?  Or are you limited in the patterns you can choose to run your business?

Maybe we should call the feature in question “WYCDIWYE”, where the “C” stands for “can”, as in “What-You-Can-Draw-Is-What-You-Execute. Which workflow patterns does your tool support?

Regardless of political affiliation, where modeling freedom is concerned, Roubroo users can all quote Barack Obama - "Yes we can!"

Build ACM from BPMN 2.0?


My comments on Adam Deane's post:
Lets see what we can agree on?
I hope we all agree in value in process participants being able to change process even if they are “cheap butts…” as suggested by Max. I can fully understand why social BPM gets the attention it deserves.
Max you define BPM as model preserving execution while my vision is that you can still preserve the model (or a template of it) even if you make changes to it while execution is in progress. All ongoing executions have to be supported by an underlying definition to exist and also support audit. This vision aligns closely with Stephen White’s vision of what is coming next in BPM, found here http://www.column2.com/2012/09/bpm2012-stephen-white-keynote-on-bpmn/. And further you can make changes in “retrospect”, which is one step ahead even of design-by-doing, as highlighted by Bruce Silver in his review of Roubroo.
If you look at Alexander Simrin’s blog post here :http://improving-bpm-systems.blogspot.com/2010/12/illustrations-for-bpm-acm-case.html
you will see that its a continuum from structured to unstructured.
The focus of this conversation is use cases for adaptive case management not the degree of WYDIWYE, please take a look at IOR merge semantics before we can conclude either way. Obviously, the design tools prohibits users from drawing a process model which it can not execute – even though the vendor may cliam WYDIWYE. Here are some process patterns as food for thought : http://roubroo.com/resources/process-patterns
Back to the topic – Knowingly or unknowingly, we have all agreed that we are ALL using BPMN 2.0 as the modeling paradigm some with extensions and some without. If you are using something else, then I would like to hear.
Roubroo is using the BPMN 2.0 execution semantics to deliver the adaptive business processes. And this is where the big Question is – do we invent a new way for doing adaptive processes or build on top of the execution semantics which have become the de-facto standard.
Another question: what happens once the goal in ACM is achieved – does that sequence or sequences get repeated? If yes then its a flow, if not – then I am interested in understanding the ROI – but that is probably a separate topic.

Friday, August 31, 2012

Case for ACM using BPMN?


Reading through Adam  Deane's post and comments I realized its important to understand where the industry is headed without the three letter acronym jargon. And more importantly, how can folks leverage the work done to build existing specifications. I very much appreciate the real world examples Adam listed. I saw the commentators telling what ACM is not - I want to hear what it is. Thanks to Max for giving such a good list of what to expect from an ACM:
And my comments follow the "-"
A) business performers can create the processes to meet well defined goals.
- Well who can argue with that - and that is true for any process; the process owner should "OWN" the process. WYDIWYE is critical must have. Dont shoe horn the process to fit what the tool can do.

B) processes are signed off by the process owner and rated by customers.
- Absolutely - it means other folks that consume the process must agree with the definition of the process.

C) They can follow a flow but do not have to.
- When they dont follow a flow what do they do? My point is whether we like it or not, there is a flow.

D) They can be modified during execution where allowed.
- Absolutely. I am assuming the question here is whether you allow state changes or also allow definition changes.

E) Goal completion can have very strict criteria.
- It should have a measurable criteria.

F) Modified processes can be saved as new templates. (adapted)
- Absolutely - in CS corridors  the word is versions.

G) each process instance can be audited.
- Absolutely true. If an instance cannot be audited then we are generating code and reverse engineering audit info from code to tie back to the process initially created.

H) linked objectives and targets allow business perfomance monitoring.
- The key performance indicators should be linked with business performance.

Well a product can do all of these, it can use BPMN as a notation to track what is happening?  Would we call it BPMS, Dynamic BPM, Intelligent BPM or ACM ...? Check out Bruce Silver's review of Roubroo.

Thursday, August 23, 2012

Cloud demands a new way to run Business Processes


My invoices / purchase orders / quotes / leads are stuck!
Does any of these sound familiar? Have your ever had a situation when you are working with a cloud service and another application and you realize that your business is stuck somewhere in between because of an IT issue either on your IT or the cloud providers IT? How many times you have been interrupted because xForce upgraded their API or your ERP was undergoing maintenance or the DB went down over the weekend towards the end of the quarter – just when you needed it the most and you could not provide that crucial analysis or report.
If any of these scenarios strike a chord then you are looking at the new way of doing your IT business.  Where services will go down or will  do an upgrade with or without notice and you have to redo some steps while not redoing others – sounds familiar? I want to push all my quotes again to SalesForce, but I don’t want to submit all the invoices again into my SAP. Welcome to a world where when you define a business process, it may not work exactly as expected because of a myriad of reasons – some you can control some you cant. How do we get around these? We have seen the argument of on-premise vs on-cloud play out and currently the answer lies somewhere in between. And that is going to be the reality of our world for at-least the next decade.  How do we prepare ourselves for this reality and ensure that we are not sitting in conference calls between Friday and Sunday AM.
What you need is a solution that lets you make these various applications talk to each other and be prepared to hold the line when one of the parties is not reachable. Also it must allow for reconnection when the call drops – almost all of the things that you expect from … common sense!
I remember talking to a tire selling company last year when they had put a system in place which was holding a few hundred  of invoices in flight but there was no way to move them forward. Engineers on both sides spent hours trying to “fix it”, understand how we got there in the first place but it was a tedious task. Those invoices were critical for the sales team to hit their monthly target but there was little respite from the “system” issues.
When we started building out the next generation business process platform, we were acutely aware of these requirements. Our belief was confirmed when talking to our early adopter customers that they have this pain and it is a recurring pain. Therefore, we built a very agile business process engine which can react to such events as and when they occur. Earlier research around BPMN execution semantics came in handy for our design. And the result was Roubroo – a light weight, cloud based graph enabled business process platform which could execute structured and unstructured processes, accommodate ad-hoc process definition and instance state changes with a WYSIWYG control – much like the control panels in more evolved machines like Hydroelectric plants – more on this another time.

Monday, July 23, 2012

BPM 2012 Demos

Hey guys - A quick note, there is the most significant BPM academic event BPM 2012 is coming up soon. It is hosted at the University of Tartu this year and Prof Dumas is the General chair. Industry stalwarts Alistair and Stephen White are the other people that I have had the pleasure of working with at the BPMN 2.0 task force. The most interesting part is that there are a whole bunch of  industry relevant research papers. I have my favorites but I will hold on until the conference.  Here is the list of accepted papers. Roubroo wont be present in this years conference, however, we are plugged in to what is the latest and greatest in the BPM world; in terms of paper review and more.

Saturday, July 07, 2012

Crossing the chasm

What do businesses do? Or what makes the businesses successful.
The ability to deliver a  quality product (goods / services) efficiently  and consistently. The reason why Walmart is such a phenomenal success as a business is because it can deliver a specific product efficiently, hence at a cheaper price, than any other competitor. Success in business means being efficient and have economies of scale. And I can speak some more here but lets desist the temptation:
Why did I start with the above because a business is a business so that it can deliver "" repeatedly. We have annual IT budgets that run into billions so that businesses can execute their function - deliver a specific product to their customers again and again. The importance of the word repeatedly and again is where I am going with the reason why businesses need business processes. Whether they execute in a person's mind ( a SMB owner) or in a BPM system, there are business processes that repeat on a daily basis so that business can deliver the product or service custoemrs expect. Making these processes efficient and improve them rapidly is the goal of every CEO.

At the same time, there are professionals who have to deal with unique problems everyday - a doctor tending to a patient in ER, a lawyer dealing with a criminal case, a golf player on Pebble beach golf course with El Nino winds for a change...most of these examples are unique and being able to document each of these processes might :

1. Defeat the purpose (the patient might die) while the process is being documented.
2. Wont be cost effective - a doctor documenting the case (not patient history notes) and how he arrived at the differential diagnosis and then choose a specific antibiotic over another will not be cost effective as this decision making intellect has been honed over at least 10 years of med school and practice thereafter. It would be impractical to design for every permutation and combination.
3. It would not be repeated - I dont think the speed and direction of the wind at pebble beach is going to be the same again.
4. Each of these is unpredictable, you never know what to expect.

I think that the reality of businesses lies somewhere in the middle of these two. There may be certain processes which are so mundane that any investment would be a kill (and I wont give an example on purpose); there are certain processes critical and core strength of the organization, the procurement process for an automotive manufacturer, or order to cash come to mind immediately, which can benefit from a BPM approach. Even within these critical processes, 60-80 percent of instances follow a well defined path ,depending on maturity model of the organization, certain instances may need adaptive processes or segments thereof, or processlets as I would call them, and then again there are cases which happen in rare instances. 
As a CIO where should I put my money in - 
a) in those 60-80% process instances which can be automated, done faster better and cheaper; 
b) in those 20-15% instances where parts of the process are defined but not the whole process, 
c) or in those capabilities which are rare and in between - wherein even after the investment I might find that it was insufficient.
I think the choice is really between 1 and 2. But what if, <...pause>, there is a software that can do both. One that can execute my 60-80% process instances, support cheaper operational models for these, continuously measure performance of key tasks, improve  the process based on feed back ....
AND  with the turn of a switch, take those specific 20-15% instances and create an adaptive process model, modify them on the fly and execute segments of process as and when needed.
Time for my sales hat - please feel free to ignore
Fortunately, such a system exists and that is called Roubroo. It lets you model your business processes using BPMN 2.0 - executes them as per the semantics defined and alo lets you modify specific instances as and when needed. Please reach out to intro@roubroo.com for details.







Friday, June 08, 2012

The BPM pattern challenge?

Dear Readers
   I have been doing some deep thinking about the value proposition of BPM. The modeling environment, the execution engine, the admin console, the user tasks engine, the reporting and the list goes on...
In this laundry list of features, users may often overlook the very reason why they needed a BPM tool in the first place. The reason people decide to do BPM is to run their business - with accuracy, promptness and absolute fidelity; and they want the ability to change their business based on new market conditions "VERY" rapidly.
    If this is the reason why you are doing BPM - to run your business process with absolute fidelity - then dont be fooled by the laundry list of features - go for the kill. Can the BPM tool in Question run your business process with "ABSOLUTE FIDELITY" - can it "CHANGE RAPIDLY"?
   I argue that most tools cannot. And I am doing so with the experience and conviction that I have.
   And the reason we started building Roubroo was exactly the above - to be able to execute what your business process is with absolute fidelity, sometihng that we call "WYDIWYE" for the past couple of years. Sometimes, it is difficult to articulate the value of process fidelity and WYDIWYE - but probably it is easier to articulate the value of not having it. Ask the following Questions:
1. Does your tool let you model the process you want to draw? Or does it draw extra gateways etc as you model, trying to "help" the modeler?
2. Does your tool execute the process as is?
3. Do you have to call in your IT folks to code wait conditions or other checks to work around the limitations or as they say "features" of the said tool?
4. How rapidly are you able to add or remove steps?
5. How easily can you change the order and dependency of the steps - change the flow logic of your process?

I think if the answer to any one of these questions is No or the estimate of change is more than a matter of day (I wanted to estimate minutes but to be more benevolent, or couple of days) - chances are you are dealing with the wrong tool.

And the reason is not that someone made a mistake, its simply that these tools were built without the correct execution semantics. This basic and fundamental power is buried under layers of tooling and feature lists which is hard to argue around - every vendor claims they have all of these items in their feature list. What they dont tell you is what is at the core of the engine. What are the mathematical fundamentals around which they built the process engine?

I will leave today with a few examples and I will ask you friends to enlighten me if your BPM tool can build these patterns in a matter of minutes or not?

Take a look at these patterns - I have built only 4 for now, to see if the tool you have chosen can support your business process with "ABSOLUTE FIDELITY". And mind it these are the simplest of examples with no more than 4-5 steps required to demonstrate the BPMN 2.0 pattern. When we start modeling the real business processes there will be combinations of these patterns at play.

http://roubroo.com/resources/process-patterns


Sunday, April 01, 2012

Activiti - PVM - a closer look

Recently a team member pointed me to this white paper evaluation of PVM - the process virtual machine which is the heart of jBPM and Activiti. Apparently, the support for various patterns is pretty week in PVM:
Who is betting the future of their workflow on Activiti? Take a deep look at Roubroo

Maturing BPMS to Case management

http://www.bpminstitute.org/resources/six-features-look-bpms-support-case-management-processes

This article is an excellent summary of what to look for in a BPMS that can allow for the flexibility of supporting case management. The ideal solution which kill two birds with one shot. It will create a set of defined process(s) for the 90 % of throughput but will also allow to turn this into a case for the remaining 10%

Learn to walk before you can run

On one of the linked in forums I saw a quote, learn to walk before you run in the BPM context and I was really happy to observe the power of simplicity. We are busy talking about and creating new acronyms, S-BPM, X-BPM, Y-BPM and what not. But have we and our practitioners learnt to walk? Or we are saying we will give you a car which can only be run by our trained chauffeur and the chauffeur will cost you more than the car.

Monday, January 24, 2011

Some BPMN patterns


Control Flow Patterns

Over the past few years, workflow patterns have become a touchstone of workflow standards and products. The Workflow Patterns initiative is a joint effort of Eindhoven University of Technology (led by Professor Wil van der Aalst) and Queensland University of Technology (led by Professor Arthur ter Hofstede) which started in 1999. The aim of this initiative is to provide a conceptual basis for process technology. In particular, the research provides a thorough examination of the various perspectives (control flow, data, resource, and exception handling) that need to be supported by a workflow language or a business process modeling language. The results can be used for examining the suitability of a particular process language or workflow system for a particular project, assessing relative strengths and weaknesses of various approaches to process specification, implementing certain business requirements in a particular process-aware information system, and as a basis for language and tool development. These workflow patterns cover a majority of use cases that BPM modelers would need. Most workflow standards have been evaluated against these patterns.

We start off with some basic control flow patterns. These will introduce some of the common gateways that will be used later. More importantly, these will lay the ground for more complex patterns later in the chapter.


For more interesting patterns please visit Process Patterns here

Sequence

The simplest of control flow patterns is the sequence flow where a task in a process in enabled after the completion of a preceding task in the same process. In BPMN, this pattern can be modeled using a simple set of sequence flows connecting activities. Lets skip this for its too simple.


Parallel Split

Another simple control flow pattern is when two or more task sequences can execute in parallel. In BPMN this can be modeled using an AND gateway. Another option is to model this without a gateway with multiple outgoing sequence flows. When there are multiple outgoing sequence flows from an activity, it is treated as AND split.

Example: Dinner Plan









Saturday, July 17, 2010

Updates after a break

Dear readers,
I apologize profusely for the extended absence. As some of you may know or may have noticed, I have changed my organization. It doesnt mean I have changed my passion. The love of writing game changing software is still close to my heart and I continue my pursuit in a different environment.
For the past year or so, I am leading the engineering, product management, QA, support and documentation teams at Intalio. Intalio is the open source BPM vendor. Intalio provides a very well integrated, well tested and widely adopted BPM software at a fraction of the cost. The biggest strength of Intalio is its people. Most of my team comprises of star developers that are committers on various open source projects at Apache etc. Thats why you get a completely integrated BPM suite with a BPMN modeler, a clustered, load-tested server, BAM, BRE, Portal, Human Task, Connectors and what not. All installed in one click - less than 1 minute install time and some great community and mailing list to support users getting started with BPM for the first time. I am amazed at what a smaller team of rock star developers can do and deliver in a short span of time.

Wednesday, May 06, 2009

BPMN 2.0 Execution Semantics - multiple sequence flows - Opinion Poll

Dear readers (or breaders or blog-readers),
My sincere apologies as I have been away from my blog for the past 6 weeks due to a fracture in my right arm. I love to play cricket and if I get a chance to try the same catch again - I will probably go for it, unless my body has built in a subconscious reflex to not attempt it, hopefully not. Feeling much better now, even though I still need physiotherapy sessions that I hate...
The topic of todays post is really urgent and of utmost important. I seek opinion from BPMN modelers out there as to what they think of the following diagram, tool vendors are also welcome to chime in but please identify yourself to maintain the objectivity of this poll . I can assure you that it is synatctically correct as per BPMN 1.x and upcoming 2.x specification. The question I have is - ok first take a look:


The question is : How many times do you expect the activity B to execute? Further how many times to you expect X, Y, Z, C1, C2 and D to execute.

The options are:
Option1: - B should wait for both A1 & A2 to finish and then execute once. Thus B, X, Y, Z, C1, C2 and D all execute only once.

Option2: - B should NOT wait for both A1 & A2 to finish and execute everytime A1 / A2 finish. Thus B, X, Y, Z, C1, C2 all execute only twice and D will execute four times. Further if there were three branches from start event going to A1, A2 and A3 then B, X, Y, Z, C1, C2 all execute thrice and D will execute six times.

So pl go ahead and choose which option do you think is better and more usable.
I do have an opinion but I dont want to share it now to prevent any prejudice. Please express your viewpoint here.

Tuesday, March 17, 2009

Three cups of tea

If there was one thing I was to recommend in a whole year, even a decade, - I would say read "Three Cups of tea". For the past few days, despite personal commitments I have stayed up until 4 AM to, finish this book, - no to soak in this most amazing journey of our times. In the midst of us is a Gandhi, a MLK and I owe it to my eight year old for the wonderful opportunity of a lifetime to be able to meet this gentle giant - Greg Mortenson. I wonder what I would do if I get to meet him again - having read his book and known him better. Probably he deserves that his feet be washed and the water be cherished... - an ancient hindu way to honor the sage that he is.
Now what is it that has offset this chant of worship. Well - go to http://www.threecupsoftea.com or http://www.penniesforpeace.org to see what mountains Greg has moved in the past decade or so. His sole mission is to educate the kids of farway Pakistan and Afghanistan. He believes education is the only way to end the violence, mistrust and hatered that has been built into our very pysche.
Personally, I have decided one thing - I will donate my time, money and energy to support Greg and other projects similar to his. I hope to see him and his work acknowledged with a noble peace prize within the next 3 years.

Tuesday, February 24, 2009

Abstract = Public? => Non executable

I am trying to understand what an abstract BPMN process means. Honestly, I think this is a much overused of not abused term. It could mean an abstraction of the process definition, or it could mean a parent process which is detailed out in a child process, or an externally visible process interface or may be a combination of these. e.g. an abstract process might be EMployee onboarding process which inturn may be actually be subdivided into multiple smaller processes.
A public process is one that is visible to external world. It may call internal processes and services but is shared with the external world. e.g. the process of buying an item on ebay is very much an example of public process.
So does public process have to be non -executable? If I see the example of buying items on ebay - it is executed by a system - thus it is executable. In my opinion public vs private is orthogonal to executable vs non executable.
Going back to abstract processes - well since different backgrounds lead to different interpretations of abstract process, I would rather break this monolith into two specific terms Public/Private and Executable / Non executable. Now executable does not mean ready to execute. Every tool vendor will have a set of vaidations to run besides the standard XSD validations. Today's business user is not in an ivory tower to make that decision without consulting with process analysts / IT experts. Before the process goes into production, it will go thru its lifecycle of dev - test - stage - production and may move from a ready to execute to a non ready state multiple times during this lifecycle.
Let me know what you the people in real world see these types of processes as and feel free to correct me!

Tuesday, February 03, 2009

Interesting Research - Michele Chinosi

I normally do not discuss individual efforts on my blog but found this one compelling. I met Michele last year at the BPM 2008 conference and subsequently we interacted over email and phone several times. Since then he completed his PhD and I find some very interesting areas that he has touched upon. There is one caveat that a large part of his work started with BPMN 1.0 & BPMN 1.1 as the starting point. The highlights are:
a model for BPs;
an XML serialization of such model;
a BP design methodology and business process diagrams views.

The model is labeled 'conceptual' because it was not sufficiently formalized to be considered a complete meta-model. The need to formalize the model is rudimentary because of the forthcoming BPMN 2.0 standard. One of the strengths of this approach is that it is a self-validating XML serialization of BPMN1.1. This means that it is possible to natively check the syntax of a diagram, all the BPMN 1.1 structural semantics rules and most of the behavioral semantics rules. That is, we can check quite all the rules provided by BPMN 1.1 specifications which could be checked without a simulation or an execution of the process (for instance, we can check if a process has loops, but we can not check whether those loops are infinite loops). So, it is a simple but powerful enough model to describe all the relevant features of BPs. The concept of views applied to BPs is another outcome which is a first preliminary result. Views permit the users also to investigate several applications, in particular to define end users policies.

For more information about his research please visit the URL : http://www.dicom.uninsubria.it/~michele.chinosi/"

Thursday, January 08, 2009

BPMN and BPEL

As I alluded in my earlier post , the BPMN 1.1 version lacked a serialization format and clear execution semantics. However, the BPMN 2.0 attempts to close this gap. Further the execution semantics of BPMN 2.0 leverage and build upon the industry adoption of BPM tools, experience with BPEL execution and research efforts of the wider community. There has been some debate around the relationship of BPMN and BPEL and it is captured on Ismael's blog. BPMN vendors bring valuable experience from BPEL standard, execution engines built around it and market experience to the table and it reflects in the specification also. The BPMN 2.0 specification team further clarifies the relationship between BPMN and BPEL in the InfoQ interview.

If I rephrase Manoj's response, currently i.e. until OMG ratifies the BPMN 2.0 spec, BPMN is a modeling standard and BPEL is an execution standard. Both are complementary in that regard and many BPMN models may be executed as BPEL processes. As BPMN 2.0 defines sufficient execution semantics, the implementation engines may start executing BPMN 2.0 natively, creating an overlap with BPEL 2.0. There will be significant consistency between the two from this perspective. Further, there will be different use cases for which the two approaches - BPMN models executed as BPEL and native BPMN execution - will be better suited.
PS: Standard disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

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

Vishal
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 10.1.3.4 is out

The Oracle BPA 10.1.3.4 is GA and is available for download here:
http://www.oracle.com/technology/software/products/bpa/index.html
It has enhanced BPMN 1.1 support.
The whole certification matrix is here:
http://download.oracle.com/otn/nt/ias/10133/bpa/Oracle_BPA_10133_PLATFORM_MATRIX.pdf

Further we have an enhanced set of example BPMN diagrams and their fully implemented versions on the sample page:
http://download.oracle.com/otn/nt/ias/101340/Oracle_BPA_Suite_10.1.3.4_Samples.zip

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

More on BPMN - BPEL roundtrip in Oracle BPA Suite 10.1.3.4

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.