Business Processes implemented in BPEL and BPM(N) and running on Oracle BPM Suite 12c or SOA Suite 12c have to fulfill a business purpose and as such must meet business requirements - both functionally and non-functionally. SLAs for throughput, response time, quality are usually associated with these processes and we typically also would like insight in the number of process executions (per group) and the paths taken through our processes.
This presentation introduces process analytics in both BPEL and BPM processes in Oracle SOA Suite and BPM Suite 12c. It explains how to configure out of the box generic analytics and process specific business indicators. The presentation than introduces BAM 12c. It demonstrates the out of the box process analytics reports and dashboards. Then it explains how to create custom reports on the unified process analytics star schema or on custom tables. Finally the presentation goes into real-time monitoring in BAM using JMS and enterprise message resources in combination with the event processing templates in BAM.
3. 3
Overview
BPM Suite
SOA Suite
BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards
BPM Process
instances
BPEL Process
instances
Process Analytics
Star-Schema
4. 4
Overview
BPM Suite
SOA Suite
BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards
Custom Tables &
Views
BPEL Sensor
Data Schema
BPM Process
instances
BPEL Process
instances
Process Analytics
Star-Schema
5. 5
Overview
BPM Suite
SOA Suite
BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards
Custom
Applications
Custom Tables &
Views
BPEL Sensor
Data Schema
Custom
Applications
Custom
Applications
Custom
Applications
JMS
JMS
BPM Process
instances
BPEL Process
instances
SCA Composite
instances
Process Analytics
Star-Schema
BI
Integration
6. 6
BAM 12c: Rearchitected
• Active-active high availability
• Coherence used for report and
metadata cache
• Cross browser support with ADF
data visualization
• Continuous query processing with
built in OEP
• Tightly integrated with BI
KPI
7. 7
Design
• What do you (the business) want to keep track of
– And why? (SLAs, opportunities, …)
– How up-to-date does the insight need to be
(and how far back in time)
• In order to monitor this
– What information should be presented and in what form?
• Which data is required to construct the required
business view?
– From where?
– Filtering, aggregation, enrichment?
• How do we extract operational data from systems
and make it available for business monitoring?
– Push or pull?
– Transformation?
– Real time or periodically?
– Privileges? Impact?
Dashboard
Report
Business
Information
Operational
Data
Alert/Action
8. 8
Implementation Steps
• Define meta-data for metrics to be published
• Publish relevant operational data from processes
– Through declarative settings in BPEL/BPM process definitions
– Leveraging the process analytics framework in BPM/SOA Suite
• Use out of the box & generated data objects in BAM
– Possibly define new data objects
• Define business queries to select, filter, enrich and aggregate relevant
data from data objects
• Define business views on top of business queries
• Define dashboards composed from business views
– Possibly with specific business view parameter settings
• (Arrange for redundant data to be discarded)
9. 9
Preparation
• Enable Process Metrics at domain level
– Set MBean oracle.as.soainfra.config.SoaServer1.AnalyticsConfig | analytics
property DisableProcessMetrics to false
10. 10
Configuration
• Configure Generation of Analytics / Metrics at SOA Composite level
• Configure Generation of Analytics / Metrics at BPEL or BPM Process
Level
• Configure at Activity, BPEL Scope or Sub process level
– Through business indicators
11. 11
Introducing the BPEL Process:
AirportAccreditationServiceProcess
• Request accreditation to airport facilities for employees
12. 12
Configure Generation of Analytics /
Metrics at BPEL Process Level
• Inherit from SOA Composite level settings or override for the specific
BPEL process
13. 13
To start producing Analytics
• (Re)deploy SOA Composite
– This will generate meta-data to Process Analytics Star Schema and produce BAM
Data Objects
• Trigger execution of SOA Composite
– This will generate operational data into the Process Analytics Star Schema (data that
is accessible from BAM)
• Note: this data is generic – not process specific
– Count of number of executions of process and of activity
– Duration (start time, end time) of process and activity execution
– Current (and Final) Status of process and activity
– But no business indicators that are special for the process
14. 14
All Process Analytics are stored
in SOA Infra database schema
BPEL Sensor
Data Schema
Process Analytics
Star-Schema
BPM_PV_PROCESS_DEFINITION_V BPM_PV_ACTIVITY_DEFINITION_V
BPM_PV_PROCESS BPM_PV_ACTIVITY
CUBE_INSTANCE
BPEL_PROCESS_INSTANCES BPEL_ACTIVITY_SENSOR_VALUES
18. 18
Customization in BAM
• Custom Dashboards and Business Views (Reports)
– On top of out of the box process analytics
– Specialized per process
• Custom Process Specific Business Indicators
– Dimensions – instance classifications to group by (customer, product, day of week)
– Measures – values to calculate with, based on data in the process state
– Intervals – sub sections of process to monitor for execution time
– Counters – activities or scopes to count for number of executions
– After (re)deploy – the metadata is loaded into Process Analytics start schema and
the Data Objects are available in BAM
• Custom Business Views leveraging Custom Business Indicators
– Note: an out of the box report will (obviously) never use a custom indicator
19. 19
Defining Business Indicators in
the BPEL Process
• Specify Dimensions, Counters, Interval Measurement at project level
• Then bind these business indicators for the BPEL process to collect more
specific information about this particular business process
20. 20
BAM Composer
• Create (Physical) Data Objects in Administrator
• Create Logical Data Objects, Business Queries, Business Views and
Dashboard & Alerts in Designer
25. 25
KPIs
• Monitor Key Performance Indicators (and Critical Risk Factors) to learn
about performance vs. SLAs
– And about factors that indicate risk of missing SLA targets
• KPIs are defined initially in business terms
– Then translated into data derivation and interpretation rules
• Typically a KPI will be a measurable, scalar value to be compared with a
threshold or safe range
• Reporting on KPIs can easily be done with traffic lights, gauges, smiley’s
etc.
26. 26
BAM KPI Watchlist
• KPI: Number of Requests per hour (should be <= 6)
– When exceeded: send email!
• Steps:
– Add custom derived attribute TIME_IN_SECONDS_SINCE_STARTED
• DATEDIFF(SQL_TSI_SECOND,{Process Start Time}, NOW())
– Add business query AccreditationRequestsStartedInLastHour
• Filter: TIME_IN_SECONDS_SINCE_STARTED is less than 3,600
– Create KPI
• Evaluate business query every minute
• Set threshold
• Define action
– Add KPI Watchlist component for KPI to Dashboard
27. 27
Customize Data Object: add
derived attribute
• Add custom derived attribute TIME_IN_SECONDS_SINCE_STARTED to
Data Object AirportAccreditationServiceProcess
– DATEDIFF(SQL_TSI_SECOND,{Process Start Time}, NOW())
28. 28
Define KPI
• Create KPI - RecentAccreditationRequestsKPI
– Set type, select measure and business query
– Set schedule: evaluate business query every minute
– Set threshold value: 6
– Define action on threshold violation (send email)
29. 29
Business View KPI Watchlist
• Create Business View AirportAccreditationKPIWatchlist of type KPI
Watchlist
30. 30
Dashboard – alert in action
• Add Business View to Dashboard
• Start sending in (too many) requests
31. 31
Process Analytics from BPM
BPM Suite
BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards
BPM Process
instances
Process Analytics
Star-Schema
33. 33
Preparation per BPM Project
(== SOA Composite)
• Analytics View Identifier is used for name of database views that expose
analytics for this project
• Explicitly enable generation of BAM 12c Analytics
34. 34
Preparation per BPM Process
• Per Process: define level of process sampling (== analytics generation)
– Can be overridden per process activity
35. 35
BPM Business Indicators
• Define business indicator bindings: every business indicator is a Process
Data Object in its own right
• We have to explicitly set the values of the data objects (using data
associations)
• The BPM runtime infrastructure takes care of sending the values assigned
to these ‘special’ data objects to the Process Analytics DWH
36. 36
Explicitly assign values to
business indicator data objects
• Whenever in the BPM process a data assignment is made to a business
indicator data object – a record will be written to the process analytics DWH
37. 37
Measurement Marks
• Measurement Marks are added to the process to measure intervals, count
execution times and (explicitly) record business indicator values
38. 38
Real Time BAM
Enterprise Message Resource
• On top of Enterprise Message Resource (== JMS)
• Read from JMS through inbound BAM Adapter
– Supports Text Message with XML payload and Map Messages
SOA Suite
BAM
Custom Reports &
Dashboards, KPIs,
Alerts
Custom
Applications
Custom
Applications
Custom
Applications
Custom
Applications
JMS
JMS
BPEL Process
instances
SCA Composite
instances
BAM
adapter
Enterprise Message
Resource
Business Query
Continuous Query
Custom Tables
& Views
39. 39
Real Time BAM
Continuous Query Service
• On top of Enterprise Message Resource
• Is a wrapper around CQL engine (from OEP)
• Real time event stream evaluation
– Pattern matching, missing event detection, trend analysis, rolling window
aggregations, threshold evaluation
– Event Stream can be archived for off-line analysis
SOA Suite
BAM
Custom Reports &
Dashboards, KPIs,
Alerts
Custom
Applications
Custom
Applications
Custom
Applications
Custom
Applications
JMS
JMS
BPEL Process
instances
SCA Composite
instances
BAM
adapter
Enterprise Message
Resource
Business Query
Continuous Query
Custom Tables
& Views
44. 44
Process Monitor
• Process monitor dashboards in Business Process Management Workspace
– enable you to monitor and optimize process execution by identifying bottlenecks and
other performance problems.
– Part of
45. 45
BPM Workspace
• BPM Workspace – standard and custom dashboards
– Oracle recommends: do not extend with custom dashboard; use BAM instead
46. BPM Process Model Process Aware BI Dashboards
BPM STAR Schema Map BPM STAR Schema to BI Model
Process Intelligence using
Oracle OBIEE
47. 47
Summary
• BPM and BPEL process analytics can be generated as the result of
declarative definitions
– Generic operational data about instances and activities
– Tailored metrics using process specific business indicators
• All process analytics are stored in a single, unified database schema
– That can be (read) accessed with plain SQL
• BAM has out of the box support for the Process Analytics data objects
– And ships with a substantial set of business views and dashboards to present the
process analytics from various view points
• Creating custom data objects, business queries, views and dashboards is
fairly easy to do
– KPIs are supported too – as well as actions on threshold violations
• BAM supports continuous queries for real time event analysis against
events published on JMS destinations
– Custom applications can publish these events
• It all starts with business requirements: what do you need to know & why?