Introducing Business Activity Monitoring

Exclusive offer: get 50% off this eBook here
Business Process Driven SOA using BPMN and BPEL

Business Process Driven SOA using BPMN and BPEL — Save 50%

BPMN and BPEL - Go from Business Process Modeling to Orchestration and Service Oriented Architecture with this book and eBook

$35.99    $18.00
by Kapil Pant | November 2009 | BPEL SOA Web Services Oracle

In this article by Matjaz B. Juric and Kapil Pant, we will cover some important topics that discuss how to monitor an organization's processes.
In this article, we will see:

  • What is BAM?
  • BPM, SOA, and BAM
  • Oracle BAM
  • Oracle BAM and BPM

 

Introducing Business Activity Monitoring

Typically, an organization's processes span multiple systems, channels, applications, departments, and external partners. In this case, how do we monitor such processes? What is the current state of the organizational processes? What is the benchmark for poorly-performing processes and exceptional processes? Most of the time, organizations are unable to answer such questions, or only have a vague idea for various reasons. Either they are monitoring the process with a very limited scope, or the mechanisms for monitoring the process are not in place to allow such details to be available. We rarely find organizations with process owners having an end-to-end view of a process. The big picture of a process is not available to the decision makers on a real-time basis.

Also, we have seen that a BPM cycle involves more than just automating a business process. Although modeling and analysis of the process plays an important part before a process is executed, the benefit is further highlighted by using Business Rules technology for added agility of the enterprise. One important factor that closes the loop for BPM is the aspect of monitoring the process on a continuous basis to pinpoint bottlenecks, as the process is executing within a business, and acts as a feedback for potential process improvement exercise. The need to monitor an organization's business processes, especially as part of a larger BPM initiatives, is gaining considerable acceptability and demand. Such monitoring is the primary job of BAM.

What is BAM?

BAM allows a business to monitor its business processes, and related business events being generated in real-time, and provides an assessment of business process health based on pre-defined KPIs. This allows greater operational visibility of the business to relevant process owners for assessment and decision-making via real-time information dashboards. BAM also allows users to take actions based on information available on the dashboards.

Typically, systems providing BAM capabilities use business events to capture information from varied sources such as ERP, workflow, BPM, legacy systems, external partners, and suppliers. These data sources provide the necessary business measures, which are evaluated by the BAM against set KPIs, and provide the information in a user-friendly dashboard for the users.

BPM, SOA, and BAM

BPM, SOA, and BAM can be used as independent, isolated technologies. However, their benefits are compounded for a business if used together in a complementary fashion. As we can see in the following reference architecture, BAM works along with the services and process components to capture event-related information from a business and IT perspective, for analysis and reporting purposes.

Business Process Driven SOA using BPMN and BPEL

In this case, SOA enables an organization to have a robust and flexible IT infrastructure that can help it easily achieve its BAM goals by allowing events and data from different services to be available to BAM for decision-making and realtime analysis. In an SOA-based solution, the business events will be inputs for BAM that are provided from the services layer. The linkage is via the BPM route, or through an event-based integration layer provided by an ESB.

We can refer to this relationship between BAM and SOA as being Service Oriented Activity Monitoring (SOAM), as today's organizational setup will provide this event information to various BAM services interfaces exposed by the business applications in an enterprise.

In case of BPM, the business process describes the key activities required to fulfill the specified business action and its associated KPIs. These actions are executed as transactions using an orchestration engine and the underlying service layer. These transaction occurrences result in multiple process events to be created for each step within a transaction. BAM's primary focus is on capturing, analyzing, and reporting on the transactions and events created by the process running over the SOA platform.

In case of BPM, the business process describes the key activities required to fulfill the specified business action and its associated KPIs. These actions are executed as transactions using an orchestration engine and the underlying service layer. These transaction occurrences result in multiple process events to be created for each step within a transaction. BAM's primary focus is on capturing, analyzing, and reporting on the transactions and events created by the process running over the SOA platform.

BAM usually looks at collecting information about a process based on the following attributes:

  • Quantity or Volume of Transactions or Events: One of the primary areas covered by BAM is the volume of events generated by a process. This is not just an IT metric, but more of a business-related metric to help business stakeholders analyze information points such as the number of orders shipped in a day, the number of trades made during trading hours, the number of helpdesk tickets closed by a call centre, and so on. Usually, we will define these KPIs in a process definition, and use BAM to raise alerts to the portfolio manager if the process is exceeding those values, for example, "Send an alert as soon as the stock portfolio value decreases more than 3% ".
  • Time Bound Events: In this case, the BAM concentrates on time-related metrics such as helpdesk ticket process cycle time for high priority issues, general process cycle times, supply-related waiting time, and so on. Again, based on certain thresholds, alerts can be sent out, or the reports can be viewed by the management in real-time using customized dashboards.
  • Faults: These are situations where the process is not running well. This could be due to a hardware fault, or a process related issue such as deadlocks, or some other issue. BAM helps in these scenarios by helping to identify areas of problems, and providing important metrics with respect to frequencies of such errors and their potential damage on process performance, and other dimensions such as cost, schedules, and so on.
  • User Defined Events and Conditions: Apart from the general dimensions of volume, time, and errors in a process, a business user might want to define KPIs around specific business issues that need analysis. For example, for compliance requirements, a bank might be required to keep track of all high-value transactions to prevent money laundering. During implementation, the business analysts can define this KPI in the process model, which will then be implemented mostly by a rules engine, and the events generated will be used by BAM to provide statistical reports and dashboards based on the frequency of these transactions, specific regions and user types involved in such transactions, and so on.

The real value of BAM, however, does not come only from analysis of individual events, and exceptions generated during process execution. BAM provides a mechanism to correlate aggregated process events to help with a cause and effect analysis, pattern matching, and so on, which provides immense value to today's businesses.

Although not in the scope of this article, another area which is gaining a lot of attention in this area is Complex Event Processing or CEP. This can be a perfect vehicle for implementing BAM in an enterprise in order to solve complex business issues. CEP is based on a concept of analyzing a set of specific events from a range of possible events, and identifying patterns that could be meaningful for an organization. Among the many applications of CEP, one example we can use is that of 'Algorithmic Trading', where CEP can be used to analyze a huge amount of market data, assess favorable patterns for trading, and initiate trading in a market based on this. A lot of banks are using this technology for performing low-value trades, and assessing risk positions simultaneously. CEP then records this information as a 'fingerprint', and maintains a history to use when deciding whether to execute similar trades in the future. As it gathers more experience and intelligence, the BAM tool supporting CEP can start to refine its predictive capabilities, and conduct more efficient calculations.

Business Process Driven SOA using BPMN and BPEL BPMN and BPEL - Go from Business Process Modeling to Orchestration and Service Oriented Architecture with this book and eBook
Published: August 2008
eBook Price: $35.99
Book Price: $59.99
See more
Select your format and quantity:

Oracle BAM

Oracle BAM is an integral part of the BPM suite (http://www.oracle.com/ appserver/business-activity-monitoring.html). It is a message-based, event-driven platform that allows business users to link KPIs associated with the process being monitored on a real-time basis, and provides relevant information to the business using customizable dashboards.

The main architectural features for Oracle BAM are:

Business Process Driven SOA using BPMN and BPEL

  1. Data and Event Collection: The Oracle BAM provides mechanisms to collect event and data information from various sources, and it is integrated with Oracle BPEL Process Manager to link process-related events in real time.
  2. Event Analysis: This allows the filtering and analysis of event-based information in line with the KPI information set by the users.
  3. Intuitive Dashboards: This allows detailed reports regarding the process to be available to the users as per their requirements. It allows data from various sources to be made available using intuitive dashboards, which a user can use to take decisions or set customized alerts.
  4. Real Time Alerts: The Oracle BAM provides the capability for setting alerts in case a business process is performing outside the range of acceptable standards.

From an end-to-end BPM perspective, Oracle BAM allows us to integrate with the Oracle BPEL process engine to provide process analysis in real time. In this case, the events will be generated via the process engine while the process is executing. These process-related events will be captured by Oracle BAM in real time for processing, analysis, and reporting via the Business Activity Dashboard.

Business Process Driven SOA using BPMN and BPEL

Oracle BAM and BPM

BPMN does not provide specific attributes for setting KPI information that could be used later by a BAM application. However, most of the tools have the extensions and capabilities necessary to store activity-specific KPIs for a process activity that could be translated during implementation by the IT. If we look at the following figure, in the Business Process Layer, the BPMN model can be modified to include specific KPI information to be used by the technical layer.

Business Process Driven SOA using BPMN and BPEL

If we can see that a particular activity's attributes can be modified to include information in attributes for Activity Metrics, which is shown by a check-box which suggest that the process has a sensor attached to the process activity, and should be considered during implementation in BPEL.

Business Process Driven SOA using BPMN and BPEL

The user can then set other attributes such as "When to Watch", which will decide when a particular process activity should be monitored. In this case, you can set it for when the activity starts, or when it ends, or during an exception.

The next step is to transform this information to BPEL, which can then be implemented and deployed for the BAM application to monitor the particular process steps, and provide real-time reports. In the current release, the KPI information from a BPMN model gets converted directly to BPEL, and is available as the Sensors attribute within the activity Scope. As we can see in the following screenshot, the icon on the Scope activity indicates that there is a Sensor defined for this activity.

Business Process Driven SOA using BPMN and BPEL

In BPEL, we can use the information provided by the process layer, and configure the BPEL process activities with the relevant sensors. In this case, we have sensor information available from the process diagram, and we can modify this by adding implementation details. This process activity can then be linked to Oracle BAM for performing real-time data collection and reporting. JDeveloper provides a BAM Server Connection adaptor to allow our BPEL activity to provide information to Oracle BAM during process execution.

Business Process Driven SOA using BPMN and BPEL

The information from the BPEL environment can be integrated with Oracle BAM to create customized reports and dashboards, which can be then published. Consider the following sample image:

Business Process Driven SOA using BPMN and BPEL

We can also configure alerts to be sent out via email or telephone to key stakeholders as required, based on KPI criteria.

The information gathered from the real-time dashboards provides a great mechanism for Business Analysts to determine the scope of process improvements and implement the changes back into the Business Process Model to be further implemented in an iterative fashion in BPEL and then re-deployed, allowing us to fulfill a closed-loop BPM to the maximum extent possible.

Summary

In this article we learnt that though  BPM, SOA, and BAM can be used as independent, isolated technologies but,their benefits are compounded for a business if used together in a complementary fashion. We also evaluated some of the best practices for implementing various technology components to make the end-to-end process of BPM and SOA seamless. This will encourage the deeper involvement of organizations in the implementation of complex business processes and mission-critical applications in a closed-loop environment, further bridging the Business-IT divide.

If you have read this article you may be interested to view :

 

Business Process Driven SOA using BPMN and BPEL BPMN and BPEL - Go from Business Process Modeling to Orchestration and Service Oriented Architecture with this book and eBook
Published: August 2008
eBook Price: $35.99
Book Price: $59.99
See more
Select your format and quantity:

About the Author :


Kapil Pant

Kapil Pant is an accomplished BPM consultant and Public speaker with extensive experience in Products and Professional Services consulting. He currently manages Wipro Technologies’ BPM/SOA practice in Europe, and leads consulting engagements including Business Process Improvement workshops, BPMS and SOA Tools Study & Recommendations, and BPM Architecture, Implementation & Governance.

Over the years, Kapil has been extensively involved in conducting successful workshops on Process Improvement, Requirements Analysis, BPM/SOA and Enterprise Architecture for clients in Telecom, Banking, Securities and Insurance industry verticals. He has also worked closely with leading System Integrators such as Wipro, Tata Consulting, HCL and Satyam to conduct technology enablement programs for client projects across industry verticals.

As a recognized Public Speaker, Kapil is known for his well-researched programs delivered in his high-energy, enthusiastic, and down-to-earth style. He has presented keynote speeches, workshops, seminars and over 40 road-shows across the Asia Pacific, Europe and the USA. He was also nominated by the Government of India to lead seminars as a part of a 25-member working committee for E-Governance Enterprise Architecture and Standards Taxonomy.

He has a Masters Degree in Computer Applications, a Bachelors Degree in Business Studies, and a TOGAF Certification.

Kapil presently lives in Hampshire, UK with his wife and enjoys blogging in his free time.

Books From Packt

Oracle SOA Suite Developer's Guide
Oracle SOA Suite Developer's Guide

Microsoft Dynamics AX 2009 Programming: Getting Started
Microsoft Dynamics AX 2009 Programming: Getting Started

RESTful Java Web Services
RESTful Java Web Services

Oracle 10g/11g Data and Database Management Utilities
Oracle 10g/11g Data and Database Management Utilities

Oracle Essbase 9 Implementation Guide
Oracle Essbase 9 Implementation Guide

Oracle Warehouse Builder 11g: Getting Started
Oracle Warehouse Builder 11g: Getting Started

Getting Started With Oracle SOA Suite 11g R1 – A Hands-On Tutorial
Getting Started With Oracle SOA Suite 11g R1 – A Hands-On Tutorial

Mastering Oracle Scheduler in Oracle 11g Databases
Mastering Oracle Scheduler in Oracle 11g Databases

Your rating: None Average: 5 (1 vote)

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
6
K
y
x
W
5
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software