One of the intriguing products in the Oracle Portfolio is Oracle BAM (Business Activity Monitoring). I have been trying to see it in action, learn more about and actually start using it for some time. Today I went to a presentation on BAM by its product manager – Tal Broda – and learned it has just been published on OTN, with a ton of supporting resources. So I have seen it, got a good overview of what it is and does and got access to the latest release. Not bad eh?
Business Activity Monitoring is about keeping track of business events as they occur, reporting on them and responding to them with alerts when exceptional situations happen. A typical use case for BAM is to have the BPEL Process Manager send details about the BPEL Process instances to BAM and analyze those data in BAM. This may help identifying bottlenecks in the process execution – the one step that consumes on average some 70% of overall execution time or this service invocation fails in more than 2% of the cases. Using Sensors in the BPEL process, inserts/updates are sent to the BAM data object.
BAM can actually be used to monitor, analyze, report on and respond to any live feed of data, business events streaming in from various sources.
The BAM dashboards are somewhat similar to what we are used to with Oracle Discoverer and BI Beans with similar filtering and drilling capabilities – though a lot slicker to be honest. There is also some similarity with Siebel Analytics.
Oracle BAM has AJAX powered client, running in a web browser. It can display dynamic, moving bars and gauges. Only delta changes are fed by the server into the browser client. No refreshing is necessary in the client. Thus, alerts can be created by the client when things get out of control.
Designing BAM Dashboards
BAM has BAM Active Studio, a WYSIWYG Design Time tool to compose BAM dashboards. This tool allows dragging and dropping of components that have a specific representation (graph, gauge, table, list) and specific data manipulation (aggregation for example) functionality. The components include Cross Tabs – for slicing and dicing -, different types of charts: Pie Chart, Bar Chart, Line etc. You can also include an Excel view in the BAM dashboard as well as download a full Excel application. Containers, RowGroups, Panels to organize the dashboard.
The Studio always shows a live view of data in a true WYSIWYG fashion. In building the BAM Dashboard, we need to pick a Data Object, chose Data Fields and specify how to process the data (aggregation, drill down/rollup hierarchy).
Alerts: BAM has an event engine, listening/monitoring for changes. Alerts can be triggered based on time (in 5 minutes time), on date (at 5 PM Today) or on data changes. This prevents humans from having to sit and watch the dashboard all day! The alert is defined using a condition on data field, for example an Alert should be sent when a transaction larger than 100.000 dollar for a specific type of object from a specific part of the world is processed.
Alerts can send emails or text or IM messages, start ETL processes, call a WebService or perform many different types of operations. The email can link to a BAM report. Emails can be sent to distribution lists or individual people.
There is an escalation feature: like if the user who received the email did not access the BAM report within 10 minutes another alert is sent to the person managing the original addressee.
Architecture of Oracle BAM
All data is stored in a BAM specific schema in the Oracle database. No access to Warehouses or Operation Datastores is required. Data is collected from transaction-feeds passed into BAM. One source of these is the Oracle CDC mechanism, mining log-files and therefore not affecting the database transactions. Another is through the creation of a BAM Data Object in Active Studio that is tied to the Sensor actions in the BPEL process.
The BAM team is working on integration Siebel Analytics with BAM.
Currently, Oracle BAM is a .NET application running on Microsoft IIS. Migration from IIS and .Net to J2EE is currently under way. It is complete next week, said Tal. It will probably be available near the end of the first half year of 2007.
Downloading BAM software and resources
The most recent production release of Oracle BAM – release 10.1.3.1.0 had just been put on OTN: http://www.oracle.com/technology/products/integration/bam/index.html and http://www.oracle.com/technology/software/products/ias/htdocs/101310.html.
Resources – including samples, user guide, white papers etc. – are at: http://www.oracle.com/technology/products/integration/bam/10.1.3/htdocs/1013_support.html