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!
Saturday, July 12, 2008
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.
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.
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!
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.
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!
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
- 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.
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.
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
Friday, February 15, 2008
SOA MAgazine Article
My recent article in the SOA magazine about BPMN BPEL roundtrip and how Oracle BPA facilitates it.
http://mailman.sys-con.com/t/243652/6616587/1175/0/
http://mailman.sys-con.com/t/243652/6616587/1175/0/
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.
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.
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.

I am using Oracle BPMN solution (Oracle BPA Suite) to model these patterns.

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.


Subscribe to:
Posts (Atom)

