BPMN 2.0 vs BPEL (Oracle BPM VS SOA Suite)

This post covers OOW Insights, followed by a BPEL/BPMN comparison, and design discussion. This is an interesting topic to me, since very little has been published and the product direction was clearly shown at OOW. I have also seen the difficulties of BPMN round tripping, which leads me to believe BPMN 2.0 is going to be great for functional process models, but will enforce a rigid process architecture on the technical model, leaving developers with a process architecture that is difficult to work with.

OOW Insights
At Oracle Open World, I gained some clarity and dug deeper into Oracle’s BPM direction. The most interesting development with BPM 11g is that BPMN and BPEL have been converged so the process engines leverage 80% of the same code. Thats right, BPEL and BPMN have converged, and BPMN no longer only mimics the Fuego/BEA BPM offering. BPM is now under the Oracle way of things, and is now on the unified development platform of JDeveloper and Enterprise Manager. Oracle’s Human Task service was also embedded into BPM, meaning the investment in Oracle Human Workflow was more substantial than trying to salvage BEA’s human workflow.

SOA Suite and BPM are presented as a stack rather than two separate offerings. SOA Suite with BPEL, Mediators, SCA, and eventually the OSB, has been deemed the developer layer for constructing Business Services using incredibly powerful SOA Designs. BPM is the Business extension on top of SOA Suite. Social BPM, built on WebCenter Spaces, is the new portal where Enterprise 2.0 features are injected on top of the task list. The big contribution of spaces is that a user can layout their portal in a way that is relevant to them. I think this will need to be heavily customized to be used, just like any generic commercial worklist app I have seen, but its nice to have the out of box user preference support.

BPEL and BPMN 2.0 Comparison
BPMN 2.0 is now a business model that can be executed after implementation details are added. Make no mistake, BPMN still favors the business user, even though a developer can “refine with execution semantics” to make it executable. It is graph based, and incorporates user swim lanes, which makes it effective for modelling end to end business processes. BPMN 2.0 introduces a standardized file format (previously is was proprietary or converted to XPDL). BPMN 2.0 also allows a business user to create a BPMN document side to side with operational strategy and enterprise models in BPA Suite, and push it down to the technical user to be refined. BPEL is still very strategic, but the two languages are strikingly similar. BPMN looks like a version of BPEL where the assigns are tucked away into other activities to clean up the diagram.

BPEL’s bread and butter is still service orchestration, and will be great for building composite services and integrating with applications. BPEL will still probably be the choice for developers, where BPMN will be good for the pure decision layer and Human Task interaction. Another important note, is that the BPM product still looks young, since at demo grounds, I asked the developer how I would do error handling and got the response that the feature is not yet available. I have a feeling BPMN is going to have to go through a few years of maturity, especially to catch up to the strong user centric and industry specific capabilities of something like Pega Systems. This gives consulting companies like M&S Consulting a strong market for creating effective user work spaces around the Oracle technology stack.

It is nice that now BPA can merely export BPMN 2.0 back and forth with the developers. It is an easier way to round trip code, but in all honesty, doesn’t get rid of many of the challenges of the BPMN-> BPEL Round tripping. The big gain is BPMN isn’t strictly a tree structure like BPEL, so it handles the free flowing analyst world a little better. Analysts tend to want everything in one big navigable diagram. Architects want to be able to break down processes in a loosely coupled architecture for error handling, resetting processes, dynamic routing, and reuse.

By having everything in one big BPMN 2.0 diagram, functional users are once again boxing in developers and making functionality that much harder to create. I think soon we will start thinking of BPMN as a part of SOA Suite that can take advantage of loose coupling, routing, and reuse, rather than as a seperate world on top of an Application Integration Architecture. Two possible futures to help align business and technology, 1) Business Analysts will need to start picking up SOA Concepts of loose coupling and reuse, or 2) Implementation specifics could enable the loose coupling by allowing developers to insert mediators and callable service points within a large process flow.

Since we are discussing enabling the business users, an honorable mention must go to Business Rules 11g, where a developer can create rules with pre-defined ranges and bounded values that can be updated in a production environment to optimize the process while not introducing risk requiring testing and code promotion. Not sure I would let my Business Analysts develop the rules themselves, but it is getting closer.

Leave a Reply

Your email address will not be published. Required fields are marked *