http://www.opitz-consulting.com/go/3-3-1402
Beim Fusion Middleware Partner Community Forum am 4. März 2015 stellten Andrejus Baranovskis, Oracle ACE Director, CEO & Architect bei Red Samurai Consulting, und Danilo Schmiedel, Oracle ACE Director, Solution Architect bei der OPITZ CONSULTING Deutschland GmbH, Best Practices der Oracle ACM Implementation vor.
--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.
Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Oracle ACM Implementation - Best Practices
1. Seite 1Oracle ACM Implementation Best Practices
Andrejus Baranovskis
CEO & Architect | Oracle ACE Director
Red Samurai Consulting
Danilo Schmiedel
Solution Architect | Oracle ACE Director
OPITZ CONSULTING Deutschland GmbH
Oracle ACM Implementation Best Practices
March 04. 2015
Fusion Middleware Partner Community Forum XX
2. Seite 2Oracle ACM Implementation Best Practices
About OPITZ CONSULTING
Founded in 1990, located in Germany and Poland
Business IT Alignment, BPM, SOA and system integration, Application development,
IT Infrastructure Management
Oracle Platinum Partner
Two Oracle ACE Directors
Recognized as one of the leading Oracle Fusion Middleware Partners
Specialized in SOA, BPM, ADF & Application Grid, Exadata, Business Intelligence
Foundation, Oracle Database, Oracle Enterprise Linux, Real Application Cluster,
Oracle VM, Data Warehousing, DB11g Performance Tuning
2014 ORACLE BPM Partner Community Award
2010 Oracle Fusion Middleware Award
2008 – 2010 EMEA SOA Community Award
3. Seite 3Oracle ACM Implementation Best Practices
About Red Samurai Consulting
ADF, SOA , BPM, WebCenter and UCM
Small Team of Experts, Focused on Technical Quality Results
Customers – Global Corporations, Medium and Small Business
Oracle Technical Blog – 8 Years (~700 posts)
Oracle Fusion Middleware Innovation Award 2010
SOA Partner Community Award for Outstanding Contribution
Across the World 2010
2010 Enterprise 2.0 Blazer: Enterprise 2.0 Leader Award
4. Seite 4Oracle ACM Implementation Best Practices
Example | MedNet – Health Insurance
COMPANY OVERVIEW
Specialists in Health Insurance since 1992, member of Munich Health
CHALLENGES/OPPORTUNITIES
BPM processes are not flexible enough
Modern Health Insurance requires agile integration
ACM is a great candidate to close the gap
SOLUTION
Invoice Processing, Enrolment Process, Claim Handling
Integration with Oracle Mobile Suite
Dynamic ADF UI with ACM Rule Engine
ACM Rules Development with Process Composer
Oracle BPM Workspace Usage
5. Seite 5Oracle ACM Implementation Best Practices
Structured / Unstructured Processes
6. Seite 6Oracle ACM Implementation Best Practices
Travel Request
A typical example of a structured process
Submitter
Submit Travel
Request
Manager
Review &
Approve
Final Approval
Rule Driven
Management Review
Notification
Approved?
Big Boss
9. Seite 9Oracle ACM Implementation Best Practices
Ad-Hoc, Unstructured and Unpredictable
What does that mean?
Healthcare
24.331 events
627 patients
376 different activities
Source: W. van der Aalst et al.,
“Process Mining Manifesto:
Toward Real Business Intelligence”
10. Seite 10Oracle ACM Implementation Best Practices
Unstructured Characteristics
A process or subprocess with:
Activities may be executed more than once
Some activities are mandatory, some are
optional
There are manual and automated activities
Activities from different phases can relate to
each other
Going back to preciding activities or phases is
possible
During runtime there may be need for ad hoc
activities, e.g. when a colleague has to be
involved
Activities are executed by diferent roles:
A security concept controls, if an activity can be
executed.
For better scaling, work has to be distributed
11. Seite 11Oracle ACM Implementation Best Practices
What is (sometimes) missed in pure BPMN?
Or: what we expect from an ACM solution
Doing by
Design Design by
Doing!
More flexibility Suggestions and
continuous decision
improvement – what
is the next best
action?
Integration of
different systems
Guidance - faster
enablement of
new colleagues
Situation-Driven
work
12. Seite 12Oracle ACM Implementation Best Practices
Anatomy of an ACM Solution (Example)
13. Seite 13Oracle ACM Implementation Best Practices
Many different claim types
with specifics in regulation
Missing user guidance
Hidden knowledge from
experienced workers
Many different systems and
independent solutions
Telephone, Email, Correspondence
Integration of different partners
Task Management
Many requests through different channels in case of a natural
disasters (in parallel)
Limited tracability and lack of reporting
Challenges in Claims Management
14. Seite 14Oracle ACM Implementation Best Practices
Case Management UI Example (expanded)
15. Seite 15Oracle ACM Implementation Best Practices
Case UI – Navigation and Search
17. Seite 17Oracle ACM Implementation Best Practices
Case UI – Data
Details about the claim and it‘s related entities
18. Seite 18Oracle ACM Implementation Best Practices
Case UI – Milestones & History
Where I am?
19. Seite 19Oracle ACM Implementation Best Practices
Case UI – Activities
What can I do next?
20. Seite 20Oracle ACM Implementation Best Practices
Case Management Solution Components
Task EngineDMS Case / Process Engine
System
Integration
Suggest Next Step
Central
entity
Related
entity
(1)
Related
entity
(2)
Related
entity
(3)
Knowledge Area
Quick Overview
Related Docs
Audittrail / Analytics
History
Navigation
21. Seite 21Oracle ACM Implementation Best Practices
Case Management in Oracle BPM
Claim
25. Seite 25Oracle ACM Implementation Best Practices
The value of Dynamic Case Management
Change the „flow“ of the case without re-deployment
Define and change which activities are available in the
different phases of a case without re-deployment (adjust
pre-/post-conditions)
Define automatic triggering of e.g. case activities based on
milestones, outcomes and events
Move milestones without re-deployment (e.g. milestone
„Assessment finished“ requires the execution of additional
activities)
Add an additional activity call
Without re-deployment: possible, if the activity already exists
With re-deployment: if the activity didn‘t exist before (might require instance
migration)
26. Seite 26Oracle ACM Implementation Best Practices
Adaptivity in Oracle ACM
Create Ad-Hoc Tasks
at anytime
Create Ad-Hoc
Notifications
Dynamic addition of
activities to the list of
available actions
27. Seite 27Oracle ACM Implementation Best Practices
Case Requirements / Getting Started
(before you start coding in JDev)
28. Seite 28Oracle ACM Implementation Best Practices
How to collect & document case requirements?
Key Aspects of a case:
Milestones (Checkpoints in the progress)
Outcomes
Case Activities (Represent specific work)
Execution semantics (manual,
automatic, required, repeatable, …)
Case Rules
Data & Documents
User Events (e.g. Document received)
Stakeholders
Permissions
We usesd:
Mindmaps
Whiteboards + Visio
Word / Excel
UI first + Case Management Model and Notation (CMMN)
29. Seite 29Oracle ACM Implementation Best Practices
Case Requirements | Whiteboard
30. Seite 30Oracle ACM Implementation Best Practices
Case Requirements | Specification Sheet
31. Seite 31Oracle ACM Implementation Best Practices
Case Requirements | CMMN
Defined by the OMG as a new standard for
Case Modeling
Released in May 2014
Is a notation for modeling and graphically expressing a case
Is an interchange format for exchanging Case Models
among different tools
Vendors like IBM, Oracle, SAP, Kofax, Cordys and Tibco
have contributed to this standard
Download our CMMN / ACM Poster from
acmcommunity.com
32. Seite 32Oracle ACM Implementation Best Practices
CMMN | Case Plan Model
Case Name
The complete behavior model of a Case is captured in a
CasePlanModel.
It comprises both:
all elements that represent the initial plan of the Case,
and all elements that support the further evolution of the plan
through run-time planning by case workers.
33. Seite 33Oracle ACM Implementation Best Practices
CMMN | Plan Model Elements
Stages
34. Seite 34Oracle ACM Implementation Best Practices
CMMN | Plan Model Elements
Milestones & Event Listeners
36. Seite 36Oracle ACM Implementation Best Practices
CMMN | Stage and Task Lifecycle
37. Seite 37Oracle ACM Implementation Best Practices
Case Requirements | CMMN + UI
We‘ve made our best experiences with CMMN + UI approach
CMMN Model
User Interface
38. Seite 38Oracle ACM Implementation Best Practices
[1] Situation after starting the case
What has been completed?
39. Seite 39Oracle ACM Implementation Best Practices
[1] Situation after starting the case
Which activity is has been activated?
40. Seite 40Oracle ACM Implementation Best Practices
[1] Situation after starting the case
Which activities are available in addition?
41. Seite 41Oracle ACM Implementation Best Practices
[2] Situation after completing „Create Claims N…“
What has been completed?
42. Seite 42Oracle ACM Implementation Best Practices
[2] Situation after completing „Create Claims N…“
What has been activated? (no automatic activation in that stage)
43. Seite 43Oracle ACM Implementation Best Practices
[2] Situation after completing „Create Claims N…“
Which activities are available in addition?
44. Seite 44Oracle ACM Implementation Best Practices
Bringing them all together (describe all details)
Today: Lack of CMMN-Tool support; so we combined CMMN + Excel
45. Seite 45Oracle ACM Implementation Best Practices
OK, we know that we have to identify the relevant
activities, milestones, rules and so on…
How do we know which artifacts
are really needed?
46. Seite 46Oracle ACM Implementation Best Practices
Modeling Exercise „Underwriting“
Text-to-Model
„Sometimes the applicant receives a callback by phone to
answer additional questions within a medical questionnaire.
The clerk decides whether this is possible or not – based on
his experience and his skills.
If the clerk called the applicant the resulting protocoll has to be
reviewed by one of his colleagues.
In case of any abnormalities the doctors of the applicant can
be consulted. This always happens by fax. The doctor is
answering back by Fax as well. A clerk evaluates the
examination. This can affect the underwriting result.“
47. Seite 47Oracle ACM Implementation Best Practices
Modeling Exercise „Underwriting“
Different people / different results
48. Seite 48Oracle ACM Implementation Best Practices
Modeling Exercise „Underwriting“
Different people / different results
49. Seite 49Oracle ACM Implementation Best Practices
Modeling Exercise „Underwriting“
Different people / different results
50. Seite 50Oracle ACM Implementation Best Practices
Modeling Exercise „Underwriting“
Different people / different results
51. Seite 51Oracle ACM Implementation Best Practices
Emerging paths (The Oregon Experiment)
http://www.nature.com/nature/journal/v388/n6637/fig_tab/388047a0_F1.html
54. Seite 54Oracle ACM Implementation Best Practices
Design Time | Oracle Case Management
55. Seite 55Oracle ACM Implementation Best Practices
Demo: Case Implementation
56. Seite 56Oracle ACM Implementation Best Practices
Design Time | Case Rules
57. Seite 57Oracle ACM Implementation Best Practices
Design Time | Case Form
58. Seite 58Oracle ACM Implementation Best Practices
Design Time | Activity Form
59. Seite 59Oracle ACM Implementation Best Practices
Design Time | Human Task Form
60. Seite 60Oracle ACM Implementation Best Practices
Human Task Form – Frame Busting
Use – “never”, default “differentDomain” doesn’t work in BPM Workspace
61. Seite 61Oracle ACM Implementation Best Practices
ADF Library Reuse
ADF Shared Library usage is recommended
62. Seite 62Oracle ACM Implementation Best Practices
ADF Security
No Web Authentication is recommended
63. Seite 63Oracle ACM Implementation Best Practices
Existing ADF Form Integration
64. Seite 64Oracle ACM Implementation Best Practices
Simplified ADF Form Integration
65. Seite 65Oracle ACM Implementation Best Practices
MDS for ADF Customization
66. Seite 66Oracle ACM Implementation Best Practices
MDS for ADF Customization
67. Seite 67Oracle ACM Implementation Best Practices
A few more recommendations…
Avoid to put all the case data into the case (just take the
data attributes which are needed to control the flow)
Use BPMN activities as a wrapper (to call services, to call
human tasks)
Use „Java Custom Case Activity“ for prototyping
Structure your rules (Maintenance!)
One Decision Table per: Case Lifecycle Event Rules, Case Milestone Event
Rules, Case Activity Event Rules, User Defined Event Rules, Case Data
Event Rule, Case Document Event Rule
One ruleset per CMMN-Stage
Use the „identificationkey“ attribute for mapping business
related identifiers to case instance
68. Seite 68Oracle ACM Implementation Best Practices
Download: www.thecattlecrew.com
69. Seite 69Oracle ACM Implementation Best Practices
Questions?
www.thecattlecrew.com
70. Seite 70Oracle ACM Implementation Best Practices
Contact
Andrejus Baranovskis
CEO & Archtitect | Oracle ACE Director
Red Samurai Consulting
Phone: +49 173 54 79 302
Mail: andrejus.baranovskis@redsamurai.com
Twitter: @andrejusb
Blog: http://andrejusb.blogspot.de
Danilo Schmiedel
Solution Architect
OPITZ CONSULTING Deutschland GmbH
Kirchstr. 6, 51647 Gummersbach, Germany
Phone: +49 173 7279001
Mail: danilo.schmiedel@opitz-consulting.com
Twitter: @dschmied
Blog: http://inside-bpm-and-soa.blogspot.com
www.thecattlecrew.com
72. Seite 72Oracle ACM Implementation Best Practices
Why we didn‘t choose a process (here)?
Differences and Limitations
More modeling and implementation effort necessary to
implement processes with
Activities, which are always available
Activities with certain preconditions
GoTo‘s and Returns
Milestones
Ad-Hoc tasks not supported in BPMN during runtime
No change of the control flow without redeployment
73. Seite 73Oracle ACM Implementation Best Practices
Always executable and optional Actions
BPMN: Implemented as Event-based Subprocess
CMMN: Discretionary Task with „Repetition“ Decorator
74. Seite 74Oracle ACM Implementation Best Practices
Activities with certain preconditions
BPMN: Implemented as Event-based subprocess with
gateway to check if all requirements are fulfilled
CMMN: Task with Sentry and appropriate Rule / Expression
75. Seite 75Oracle ACM Implementation Best Practices
Mark a certain process state
BPMN: Tracking via state variable within the process
CMMN: Definition of Milestones
Option 1
Option 2
Option 3
76. Seite 76Oracle ACM Implementation Best Practices
Master-Detail: Creation of Child-Processes
BPMN: Dynamic call of new detail processes via return loops
CMMN: Case-Task with „Repetition“ Decorator
77. Seite 77Oracle ACM Implementation Best Practices
Why we didn‘t choose a process (here)?
Differences and Limitations
Only one activity avaliable
The current activity is optional
and not needed but the task
is already in the worklist
=> can be avoided with XOR-
Gateway + additional „Make
your choice“ activity
User cannot select additional
activities (e.g. „Send
Notification“)
The process drives the user!
78. Seite 78Oracle ACM Implementation Best Practices
Why we didn‘t choose a process (here)?
Differences and Limitations (2)
No activity available
Process instance has to wait
for the requested documents
User cannot select additional
activities during that time
(e.g. „Send Notification“)
Editor's Notes
With Oracle BPM Suite the modeling, simulation, implementation and execution of business processes in a multi-user environment is straightforward. But how about unstructured, ad-hoc processes which are too complex and too flexible to put them into a rigid BPMN model? Think about a claim notification after a car accident - it is very difficult to model each potential option of it and a lot of effort and time is necessary to bring all varieties into the process. Think about the user interface – it has to be very dynamic in order to make optimal business decisions. If you have similar challenges this session is made for you! The speakers will provide an excellent view on implementing knowledge-intensive processes from multiple ADF & BPM projects around globe.
When we talk about ACM, we first have to talk about structured and unstructured processes.
Ddesign time considerations.
Lets say we have:
an unstructured problem to solve
the need to define the design time artifacts
Outlining the independent aspects of the case
For this particular use case => mind map
It is a new notation and there are not so many examples out there. We noticed that people have some challenges in understanding it – so we‘ve made recommend is to follow a UI-first
A similar example is described in the book the „Oregon Experiment“. What you see here is an University campus. It was built without any roads or lanes. They wanted to let the people at the campus decide which way to go. After a while it was quite clear which way the people follow. How about our insurance / case example.
In the long term we wanted to replace a huge closed claims management solution with a case management solution. But how to design the case? Which elements are needed?
Fragen:
BPMN: Muss man sowas modellieren?
Fragen:
BPMN: Muss man sowas modellieren?
BPMN: Mitführen des Status im Prozesskontext ist die simpelste Implementierung; In der Realität hätte man hier wahrscheinlich einen Service-Call, der den Zustand in einer DB persistiert, sodass man diesen von der UI aus abfragen kann