process analytics with oracle bpm suite 12c and bam - ogh sig soa & bpm, 1st september 2015
TRANSCRIPT
3
Overview
BPM Suite
SOA Suite
BAM
Out of the boxProcess Analytics
Reports & Dashboards
Custom Reports & Dashboards
BPM Process instances
BPEL Process instances
Process Analytics Star-Schema
4
Overview
BPM Suite
SOA Suite
BAM
Out of the boxProcess Analytics
Reports & Dashboards
Custom Reports & Dashboards
Custom Tables & Views
BPEL Sensor Data Schema
BPM Process instances
BPEL Process instances
Process Analytics Star-Schema
5
Overview
BPM Suite
SOA Suite
BAM
Out of the boxProcess Analytics
Reports & Dashboards
Custom Reports & Dashboards
Custom Applications
Custom Tables & Views
BPEL Sensor Data Schema
Custom ApplicationsCustom
ApplicationsCustom Applications
JMSJMS
BPM Process instances
BPEL Process instances
SCA Composite instances
Process Analytics Star-Schema
BI Integration
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
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 systemsand make it available for business monitoring?– Push or pull?– Transformation?– Real time or periodically?– Privileges? Impact?
DashboardReport
Business Information
Operational Data
Alert/Action
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
Preparation
• Enable Process Metrics at domain level– Set MBean oracle.as.soainfra.config.SoaServer1.AnalyticsConfig | analytics
property DisableProcessMetrics to false
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
Introducing the BPEL Process: AirportAccreditationServiceProcess
• Request accreditation to airport facilities for employees
12
Configure Generation of Analytics / Metrics at BPEL Process Level
• Inherit from SOA Composite level settings or override for the specific BPEL process
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
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
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
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
BAM Composer
• Create (Physical) Data Objects in Administrator• Create Logical Data Objects, Business Queries, Business Views and
Dashboard & Alerts in Designer
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
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
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
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
Business View KPI Watchlist
• Create Business View AirportAccreditationKPIWatchlist of type KPI Watchlist
30
Dashboard – alert in action
• Add Business View to Dashboard• Start sending in (too many) requests
31
Process Analytics from BPM
BPM Suite
BAM
Out of the boxProcess Analytics
Reports & Dashboards
Custom Reports & Dashboards
BPM Process instances
Process Analytics Star-Schema
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
Preparation per BPM Process
• Per Process: define level of process sampling (== analytics generation)– Can be overridden per process activity
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
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
Measurement Marks
• Measurement Marks are added to the process to measure intervals, count execution times and (explicitly) record business indicator values
38
Real Time BAMEnterprise 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 ApplicationsCustom
ApplicationsCustom ApplicationsCustom
Applications
JMSJMS
BPEL Process instances
SCA Composite instances
BAM adapter
Enterprise Message Resource
Business Query Continuous Query
Custom Tables & Views
39
Real Time BAMContinuous 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 ApplicationsCustom
ApplicationsCustom ApplicationsCustom
Applications
JMSJMS
BPEL Process instances
SCA Composite instances
BAM adapter
Enterprise Message Resource
Business Query Continuous Query
Custom Tables & Views
Copyright © 2014 Oracle and/or its affiliates. All rights reserved.
Improved Complex Query Capability and PerformanceProcessing Tier (BAM with Complex Event Processing Engine)• A pure push system based on CEP Engine (Continuous Query) with event
sources and event sinks - supports both stream (non-persistent) and archived relation (persistent).
• CQ (Continuous Query) Service implemented using Oracle Event Processing CQL Engine
• Real-time incremental computation including statistical functions like: mean, median, variance, std dev.
• Temporal (slide window and output throttle) and pattern match (e.g. trending, missing events, etc.) capabilities
• Common Query Generator
• One Storage Engine per target system to generate platform specific DML (e.g. Oracle DB, OBIEE Logical SQL)
• For Active Queries, snapshot is sent from CQ Service to Report Cache followed by incremental changes
40
Copyright © 2014 Oracle and/or its affiliates. All rights reserved.
Embedded CEP
Missing Event
Top “N” Detection
KPI Alert
Trending Detection
Moving Aggregate
Duplicate Detection
• Template based CEP pattern authoring– Trend Analysis– Temporal Queries– Combined Analysis
on streaming & relational data
• Risk Monitoring– Key Risk Indicators
for KPIs– Proactive
remediation
Operational Intelligence
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
BPM Workspace
• BPM Workspace – standard and custom dashboards– Oracle recommends: do not extend with custom dashboard; use BAM instead
BPM Process Model Process Aware BI Dashboards
BPM STAR Schema Map BPM STAR Schema to BI Model
Process Intelligence using Oracle OBIEE
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?