Now most of these are self-explanatory, however in the next couple of posts I'd like to look at how the tooling supports these. Today I'm looking at the above elements and how they are implemented in Oracle BPM 11g PS6.
A previous post introduces each element in more detail -
Short Recap -
- Data: the Case Data e.g. Tax return for 2012
- Milestones/Phases e.g. Tax return checked, Tax Rebate approved
- Outcomes: e.g. Rebate Paid / Bill sent
- Events: e.g. Tax form arrives, phone call with tax payer
- Stakeholders: e.g. Tax officer, VAT inspector
- Policies: e.g. Rebate can only be paid when the Tax return has been fully processed
- implemented via Business Rules
- Activities: e.g. check Tax return, compute rebate, contact tax payer
- Documents: e.g. supporting information such as receipts for 2012.
Just open the rules component created for the Case.
Create a decision table and then create a condition -
Browse thru some of the structures -
- Case states include -
Now to the events - these can be leveraged in Business Rules to control the flow of the case. They can also be published to external parties via EDN.
- Case events include -
- Activity Events
- Lifecycle Events
- Documents Events - fired when documents are added/removed etc. to/from the content management system.
- Milestone Events - self explanatory
- Data Events pertain to the Case Data and are raised when this data is changed. by case activities or via the API.
- User Defined Events give us the possibility to react to external events. These could be raised at runtime e.g.case worker gets a phone call from the tax payer in the Tax processing case. He could then create a user defined event - taxPayerCalled - at runtime.
So it is very easy to create a condition of the type -
If eventActivity = "CheckTaxReturn" and
If eventActivityType = "COMPLETED"
say we now want to set the Case Milestone - TaxReturnCheck - to completed,
and we also want to activate the activity - payTaxRebate.
We simply add the following actions to the rule
- reachMilestone "TaxReturnCheck"
- activateActivity "payTaxRebate"
Simple, isn't it?
Now to the activities -
BPM 11g ACM (Adaptive Case Mgt) currently supports 3 types of activities -
- Human Task
- BPM Process - for the structured part of a case
- Custom - java classes you then register with the case model
- manual / automatic
- conditional/unconditional (defined via Business Rule Policies)
according to the ORCL docs - The stakeholders are the different persons involved in the processing of the case. They are case workers that can view the case and work on it. These stakeholders can be assigned permissions on the Case artifacts.
So essentially this release of Adaptive Case Management allows you to define the parameters within which the Case executes. You define the list of possible Activities. When, and to which Stakeholders these activities are available, is defined in your Policies. Regarding data - we consider Case Data and Documents. Documents are essentially collateral stored in a content management system. Case Data is the salient data used by the case workers in making their decisions.User Defined Events give us the possibility to react to external events at runtime - providing ad hoc support.