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.

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.
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.

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 10.1.3.3. 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.






Thursday, November 15, 2007

Batch processing example in BPMN




Recently I was presented with this scenario by a colleague and asked, how would I do it in BPMN.
Following is the use case and then there is a proposed BPMN solution out there.
* Process starts with a receive from an queue.
* Queue returns a set of structured elements
* For each element
o Check If element is invalid
o Group elements as type A / B / GP
* End Loop *

* Now, for each set, process as follows
o Invalid elements
+ Prepare report based on invalid elements
+ Email report to managers
o sub-element-set A
+ Group each set of sub-element-A by any common values
+ Determine task assignee for each grouping of elements
+ Generate a human workflow task for each grouping of lements
+ Return immediately (e.g. don't wait for task to complete)
o sub-element-set B/element-GP
+ Merge the two sets of elements
+ Prioritize each of the new set of elements
+ Group each set of elements if they have a common sub-element-B value
+ Determine task assignee for each grouping of elements
+ Generate a human workflow task for each grouping of lements
+ Return immediately (e.g. don't wait for task to complete)
* Done.