You are on page 1of 48

BPM Suite 12c Process Analytics

with BAM

Lucas Jellema

OGh SIG SOA/BPM 1 September 2015

Overview

BPM Process
Business Dashboard
SLA
KPI
Alerts

Overview

BPM Suite
BPM Process
instances

SOA Suite
BPEL Process
instances

Process Analytics
Star-Schema

BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards

Overview

BPM Suite
BPM Process
instances

SOA Suite
BPEL Process
instances

Process Analytics
Star-Schema
BPEL Sensor
Data Schema
Custom Tables &
Views

BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards

Overview
BI
Integration

BPM Suite
BPM Process
instances

SOA Suite
BPEL Process
instances
SCA Composite
instances

Custom
Custom
Applications
Custom
Applications
Custom
Applications
Applications

Process Analytics
Star-Schema
BPEL Sensor
Data Schema
Custom Tables &
Views

BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards

JMS
JMS

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

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
Alert/Action
Business
Information
Operational
Data

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)

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

Introducing the BPEL Process:


AirportAccreditationServiceProcess
Request accreditation to airport facilities for employees

11

Configure Generation of Analytics /


Metrics at BPEL Process Level
Inherit from SOA Composite level settings or override for the specific
BPEL process

12

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
BPM_PV_PROCESS_DEFINITION_V

BPM_PV_PROCESS

BPM_PV_ACTIVITY_DEFINITION_V

BPM_PV_ACTIVITY

Process Analytics
Star-Schema
BPEL Sensor
Data Schema

CUBE_INSTANCE

BPEL_PROCESS_INSTANCES

BPEL_ACTIVITY_SENSOR_VALUES

15

BAM Data Object with some analytics


data from process instances

16

Out of the box reports in BAM

17

Out of the box reports in BAM

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

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

19

20

BAM Composer
Create (Physical) Data Objects in Administrator
Create Logical Data Objects, Business Queries, Business Views and
Dashboard & Alerts in Designer

Group by custom Business Indicator


Requested Security Level

21

22

Create Business View

Create custom Business View


using Business Query

23

Create custom Dashboard


using custom Business View

24

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, smileys
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

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())

27

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
BPM Process
instances

Process Analytics
Star-Schema

BAM
Out of the box
Process Analytics
Reports & Dashboards
Custom Reports &
Dashboards

Introducing the business process:


Security Check Process

32

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

33

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

Explicitly assign values to


business indicator data objects

36

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

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
BPEL Process
instances
SCA Composite
instances

Custom
Custom
Applications
Custom
Applications
Custom
Applications
Applications

Custom Reports &


Dashboards, KPIs,
BAM
Alerts

Custom Tables
& Views

JMS
JMS

BAM
adapter

Business Query
Continuous Query
Enterprise Message
Resource

38

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
BPEL Process
instances
SCA Composite
instances

Custom
Custom
Applications
Custom
Applications
Custom
Applications
Applications

Custom Reports &


Dashboards, KPIs,
BAM
Alerts

Custom Tables
& Views

JMS
JMS

BAM
adapter

Business Query
Continuous Query
Enterprise Message
Resource

39

Improved Complex Query Capability and


Performance
Processing 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 (nonpersistent) 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
Copyright 2014 Oracle and/or its affiliates. All rights reserved.

40

Operational Intelligence
Template based
CEP pattern
authoring

Trend Analysis
Temporal Queries
Combined
Analysis on
streaming &
relational data

Risk Monitoring

Key Risk
Indicators for KPIs
Proactive
remediation

Copyright 2014 Oracle and/or its affiliates. All rights reserved.

42

Continuous Query definition

End-to-End Decoupling
EDN OEP JMS - BAM

43

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

Process Intelligence using


Oracle OBIEE
BPM Process Model

BPM STAR Schema

Process Aware BI Dashboards

Map BPM STAR Schema to BI Model

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?