Tuesday, October 06, 2009
BPA 11 G - Official release announcement
http://biz.yahoo.com/iw/091006/0544475.html?.v=1
A list of cool new features is available at :
http://www.oracle.com/us/technologies/soa/025593.htm
We will be holding a session on BPA Suite and BPMN patterns at OOW on Monday. Please check the schedule for exact location and timing.
Wednesday, May 06, 2009
BPMN 2.0 Execution Semantics - multiple sequence flows - Opinion Poll
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
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
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
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
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
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
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.
Sunday, October 05, 2008
Session by session details of BPM 2008
Wednesday, October 01, 2008
Panel - Future of BPMN - Technology and Industry @ BPM 2008
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?
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
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
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
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
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
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
- 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
Wednesday, March 19, 2008
Compensation in BPMN
Tuesday, March 18, 2008
Process Levels - Ask the basic questions
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
http://mailman.sys-con.com/t/243652/6616587/1175/0/
Workflow Patterns
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

Structured Synchronizing Merge with BPMN
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

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

Exclusive choice in BPMN with explicit gateway type

Exclusive Choice in BPMN

While loops with BPMN
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
Lets start with the simple sequence:

Thursday, November 15, 2007
Batch processing example 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.
Friday, October 26, 2007
Oracle BPA Suite Media coverage
http://www.sdtimes.com/article/story-20071015-04.html
Oracle BPA Suite Media coverage
http://www.sdtimes.com/article/story-20071015-04.html
Tuesday, October 16, 2007
BPMN diagram updates - who owns Business or IT?
In my opinion it should be left to individual implementing organizations. THe tools should support both options: allowing IT to update the Business process and preventing it. Lets give the control to business and IT users and let them decide what changes are allowed. Every organization will have its own dynamics.
- Some orgs, where IT is deeply entrenched and understands business for a long time, can definitely benefit from the flexibility.
- Other organizations may have a more strict guidelines and controls over the BP definition with business users.
- Some other orgs may identify process architects who can make the decision and controls / vets the process definition both before and after implementation.
Another interesting thing that was pointed out was the need for best practices and supporting trainings / tutorials / documents detailing how the tools should be used. I strongly think empowering customers with the capabilities of the tools is the key to successful adoption. I hope this blog is also contributing to the same.
Friday, October 05, 2007
At Office 2.0
http://www.o2con.com/people/vishal.saxena;jsessionid=A7F221E984F3858FB020958DF60AA229
Sunday, September 02, 2007
Lanes and Pools
I could easily point that Pools are process boundaries, and I could see heads nodding. Even then questions remained about boundaries of pools. Then the question became why lanes?
At that point I realized that it is more important to emphasize the reason why people do BPM. It is not just to draw pretty pictures, it is :
to have a common understanding of processes;
to identify and document their processes as is;
to identify inter and intra departmental communications;
to find the bottlenecks;
to ensure that the processes as defined / documented is the same as implemented.
Once you see this value proposition of a BPM project, the value of pools and lanes becomes obvious. Pools help you identify the exact boundaries of your process. Pools will also show you inter-departmental communications - often the bottlenecks.
Lanes facilitate clear identification of roles and responsibilities within the organization. Identification of ownership of a given activity is at times the biggest reason why that activity will be performed in time. The intra communication points between various parts of your organization can be found using lanes.
That in summary is the value of using lanes and pools to document your process.
Sunday, August 19, 2007
Business and IT views
Business user view (BPMN):
1. Lets do a credit check. (Activity)
2. If good score do X, if avg do Y and if below avg do Z. (Gateway)
How does this get implemented by IT
Step 1: Credit Check.
1. How do we do credit check - automatic using a computer system or a human operator keying in values and getting the credit score?
2. Is it existing customer or a new customer?
--If existing and in good standing do we still need a credit check?
--- If not existing customer, lets get credit score from Experian.
3. Or should we get multiple scores and then average them out.
4. What happens if I dont get a response back from Experian in 2 minutes given a SSN? Should our IT system try multiple times - of course but then how many 5 -10 and at what interval?
These are SOME of the challenges that your IT staff will need to answer to implement a so called single step in your business process.
Does the solution you are looking at provide this ability?
Moreover, if Experian astarted charging you more $ for the credit check how easily can you move your business to start using scores from Equifax?
Will you need professional services from the vendor to make changes?
Or do you think the solution is standards based so you can have your IT staff make the changes internally?
How about a tool that lets the business user design their business process with the simplicity as outlined in the Business View and gives IT users freedom to implement this activity in keeping with organizational IT policies. Well does something like this exist? Have a closer look at Oracle BPA Suite. - Apologies for the product pitch but yes this tool does preserve the simplicity of BPMN and also gives the IT developer the power to implement the activity as a unit with all these intricacies.
Wednesday, August 01, 2007
What is BPM - a quest, a journey
Instead of trying to define what BPM is - lets see what is it that people are trying to achieve when they are talking BPM.
Cat 1 - Business users needing to document their processes
Cat 2 - Single project champions, take one process at a time, design and deploy it.
Cat 3 - Users seeking Enterprise BPM.
Cat 1 users can use any tool.
Cat 2 users may succeed in their specific project but then taking it to the next level is going to be a tall order. Reusing vendor specific components will be hard, if not impossible and definitely increase the TCO (total cost of ownership) manifold. Do you want vendor specific code etc to lock your enterprise wide components. Or do you want open standards based implementations.
This leads us to the third category of users who are starting small but thinking big. The components they build will be standard compliant, can be independently reused, change their specific implementation based on new business requirements / technological advancement and would therefore be an enterprise asset. The TCO will be lower if your solution uses industry wide standards adopted by majority of tool vendors, thus guaranteeing a wider skill pool as well.
Hopefully, based on the above there can be a better appreciation and common understanding of BPM but I am sure it is much more than just the categories of use cases. More later.




