480 likes | 497 Views
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. Process Analytics Star-Schema. BPM Process instances. BAM. Out of the box
E N D
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 Process Analytics Star-Schema BPM Processinstances BAM Out of the box Process Analytics Reports & Dashboards SOA Suite BPEL Processinstances CustomReports & Dashboards
Overview BPM Suite Process Analytics Star-Schema BPM Processinstances BAM BPEL Sensor Data Schema Out of the box Process Analytics Reports & Dashboards SOA Suite CustomTables & Views BPEL Processinstances CustomReports & Dashboards
Overview BPM Suite Process Analytics Star-Schema BPM Processinstances BAM BPEL Sensor Data Schema BI Integration Out of the box Process Analytics Reports & Dashboards SOA Suite CustomTables & Views BPEL Processinstances CustomReports & Dashboards SCA Compositeinstances JMS Custom Applications JMS Custom Applications Custom Applications Custom Applications
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 requiredbusiness 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? 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
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 • Requestaccreditationto airport facilities for employees
Configure Generation of Analytics / Metrics at BPEL Process Level • Inherit from SOA Composite level settings or override for the specific BPEL process
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
All Process Analytics are stored in SOA Infra database schema BPM_PV_PROCESS_DEFINITION_V • BPM_PV_ACTIVITY_DEFINITION_V BPM_PV_PROCESS BPM_PV_ACTIVITY Process Analytics Star-Schema BPEL Sensor Data Schema CUBE_INSTANCE BPEL_ACTIVITY_SENSOR_VALUES BPEL_PROCESS_INSTANCES
BAM Data Object with some analytics data from process instances
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
BAM Composer • Create (Physical) Data Objects in Administrator • Create Logical Data Objects, Business Queries, Business Views and Dashboard & Alerts in Designer
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.
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())
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)
Business View KPI Watchlist • Create Business View AirportAccreditationKPIWatchlist of type KPI Watchlist
Dashboard – alert in action • Add Business View to Dashboard • Start sending in (too many) requests
Process Analytics from BPM BPM Suite Process Analytics Star-Schema BPM Processinstances BAM Out of the box Process Analytics Reports & Dashboards CustomReports & Dashboards
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
Preparation per BPM Process • Per Process: define level of process sampling (== analytics generation) • Can be overridden per process activity
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 • 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
Measurement Marks • Measurement Marks are added to the process to measure intervals, count execution times and (explicitly) record business indicator values
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 BAM SOA Suite CustomReports & Dashboards, KPIs, Alerts BPEL Processinstances CustomTables & Views SCA Compositeinstances Business Query Continuous Query BAM adapter Custom Applications JMS Custom Applications Custom Applications Enterprise Message Resource JMS Custom Applications
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 BAM SOA Suite CustomReports & Dashboards, KPIs, Alerts BPEL Processinstances CustomTables & Views SCA Compositeinstances Business Query Continuous Query BAM adapter Custom Applications JMS Custom Applications Custom Applications Enterprise Message Resource JMS Custom Applications
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 (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
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
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
BPM Workspace • BPM Workspace – standard and custom dashboards • Oracle recommends: do not extend with custom dashboard; use BAM instead
Process Intelligence using Oracle OBIEE Process Aware BI Dashboards BPM Process Model BPM STAR Schema Map BPM STAR Schema to BI Model
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?