2013/04/04

Oracle BPM 11.1.1.7 Case Management compared to Cordys Case Management

Introduction

Oracle announced its new BPM 11.1.1.7 produkt.

I found it interested that also (Adaptive) Case Management was added and i was curious what the difference is between the Oracle and Cordys approach w.r.t. Case Management. In this Blog item i will discuss some of the the differences and resemblance.

Adapative Case Management

Both Cordys and Oracle agree on the fact that there are processes that are not defined ahead and a knowledge worker can define the path as the case progresses. So that's good news.
Also both in Oracle and Cordys the case management and normal BPMN processes can be mixed.

Case Modelling 

Oracle
Users can define a Case and associate it with a set of Case Activities. In addition to Case activities, the Case definition consists of case data, case documents, case rules, case events, case milestones, case stakeholders, and case outcomes. The progression of a case is indicated via case milestones. A case milestone signifies completion of a stage in a case and is useful as it provides high-level snapshots for management to validate the progress of a case. A case is said to be complete when a case outcome is reached.

The case activities could be BPMN based processes or human workflow tasks or notifications or could be
even an automated system step. These activities could be mandatory or optional and become available
to the case worker at various points as the case progresses. The activation of a case activity can be
manual or automatic based on case rules or case events or reaching of a case milestone. In addition to
pre-defined case activities, the platform also supports creation of case activities by a case worker.


After creation of a Case Management Component in Oracle BPM two components of the implementation are created: a Case object and a Case related rules set.
The true engine behind the case management is Oracle's Rule Engine. Their you can define what should be happen when an event occurs.


(Asynchronous) processes can be used within Cases and the rule engine when promoted to case activity.


Cordys
Cordys takes a more modelling approach. It uses Functional States to model the possible states within the case (i.s.o. Milestones). The activities can also be human tasks, processes or automated steps. The case model is visualized.


The following activity within the case can be defined using Automatic, Free or Intermediate. The Free follow-up activities can be selected by the Knowledge worker within that particular functional state. Automatic activities are executed automatically when the previous activity is finished. Intermediate activity is an activity that can be selected by the knowledge worker as a kind of side step.

Events or when activities are completed within a functional state are used to define transitions between states.

Cases and BPMN processes can be mixed within Cordys as well.



Documents

Oracle
Oracle integrates with its Oracle Web Center Content product component. Oracle BPM 11.1.1.7 also supports integration with 3rd party content management systems via CMIS (Content Management Interoperability Services) interfaces.

Cordys
Cordys integrates default with JackRabbit. Also custom CMS integration is possible when adhered to JSR 170 compliant interface.

Conclusions

Oracle an entity modeler to define the case data.
Cordys uses an XML editor to define the case data.

Oracle uses a  rule engine table to define the case using events, activities and milestones.
Cordys takes the modeling approach using functional states, events and activities.

Oracle has good integration with its document store system.
Cordys takes the open source Jack Rabbit as its default document store system.

Of course both products have a lot of more features, but this gives you already some overview.
More can be found:

Some BPM Misunderstandings

Like to pose some  misunderstandings about BPM.
Maybe some BPM tool vendors will disagree and also some BPM consultancy firms, but then again this is my own humble opinion. Feel free to react, add your own, discuss.

Lets begin with a delicate one.

BPM makes my organisation flexible

A lot of people will say that BPM makes your organization flexible. It can be the case but then there must hold a couple of pre-conditions:

  • You must know where you want flexibility
    In this case you have to know the future and you do not know it.
  • You must have a good IT SOA architecture
    This is needed to be flexible to define your processes. Using Services will enable reuse and consistency throughout the architecture
  • It is only design time flexibility
    The statement that the business can change the process on the fly is mostly false. I have not seen it yet and is probably only a couple of configurations that can be changed so that parameters within the process are changed. This way you can steer the process but the process itself remains the same.

BPM is about tooling


  • It is a classic mistake that BPM is a IT party
    It should be an enterprise wide initiative because BPM is most of the time stretched horizontally concerning multiple business units. It should help the business in doing its business. The implementation of BPM should not be taken lightly, because it concerns a lot of implementation time. The visual BPMN diagrams can be drawn quickly but making it executable will take some time. Especially when a good SOA infrastructure has not yet been setup.

BPM is a visual programming tool

  • With the BPMN diagrams it looks like the BPM implementation is finished, but this is not the case. The model must be made executable so needs actual service implementation. Also it is sometimes used as implementation tool to implement services. I would not recommend this, because that is not where BPMN was originally designed for. It should orchestrate your business processes using services and business rules. Also BPMN does not perform well when using for big loops.

BPM lets the business change their own processes

  • The business can and must help defining the processes, but the processes itself can not be changed runtime (or on the fly). At least i have not seen such a BPMS suite yet. What mostly will happen is that business rules or parameters of the processes can be adapted by the business. Of course these kind of  tools must be build in within the process implementations at design time.