Product Review
SOA Web Services Product Review — Oracle Business Activity Monitoring
Building operational dashboards, and monitoring and alerting applications delivered via the Web
Sep. 21, 2006 02:30 PM
Services Oriented Architectures (SOAs) and business collaboration technologies and platforms, often enabled by Web Services and orchestration constructs like BPEL, can be a tremendous business benefit. SOAs can provide the fl exibility in enterprises to adapt to rapidly changing business conditions. Collaboration platforms enable tighter integration between trading partners both at a data and process level. When successfully implemented, these approaches and tools can garner significant improvements in efficiency, communication, service levels, and ultimately profits. However, quantifying the benefit can prove challenging.
As services proliferate and orchestration platforms automate increasing numbers of processes, manual oversight of low-level details becomes impractical and unnecessary. So identifying and addressing the issues require a more analytics-based approach than in the past.
In response to these challenges, many of the SOA and business collaboration platform vendors deliver some kind of management and analysis component providing insight into the transactional activities. Oracle is no exception with its Business Activity Monitoring (BAM) solution. Oracle BAM is a platform for building operational dashboards, and monitoring and alerting applications delivered via the Web.
BAM Architecture & Integration Capabilities
BAM is essentially a third-party listener to business communications both in and between services and applications. It's designed to collect low-level transactional data and deliver aggregate information to corporate operational dashboards. It may also be confi gured to send alerts of business exceptions to various audiences and devices. Figure 1, from the Oracle BAMP documentation, illustrates the architecture of the system. Its components include:
- Enterprise Link: Provides an ETL and adaptor mechanism for BAM to get data from information sources including fl at fi les, XML data, databases, and messaging queues
- Active Data Cache: The main store of active business information for BAM that monitors information, creates events in response to data changes, and publishes the events to the reporting and event engine
- Report Cache: Provides the working store for reporting information ultimately displayed to the user
- Event Engine: Monitors changes in data based on user-defined rules and executes the appropriate actions
- Reports Server: Transforms the raw data contained in the report cache to the display format defined by the users
The Enterprise Link and the Active Data Cache both provide integration touch points for BAM. The Active Data Cache exposes APIs in Java, C#, and Web Services allowing applications to insert, update, and delete data in the cache. The Enterprise Link component is used to get messages from JMS topics and transform them to the Active Data Cache using data fl ows confi gured in the system. Enterprise Link also provides the capacity to use data transforms to merge and correlate data from multiple sources into a single structure.
Building Reports and Dashboards
Development - The ActiveStudio component of the BAM platform serves as the IDE for creating reports, dashboards, and alerts for users. This is a Web-based UI that, along with all UI components of BAM, is designed to work with Internet Explorer.
Building reports in the IDE is a straightforward step-by-step process. After selecting the layout of the report, developers have access to several different data visualization tools including:
- Lists: Tabular displays of information, updating in real-time, that can be configured to display data at either a transactional or aggregate level
- Charts: Several charting options are presented including bar charts, line charts, and pie charts among other formats
- Contextual displays: These elements provide performance information at a single glance and include objects such as arrows and gauges
- Pivot/Crosstab/Excel objects: Summary objects that allow for data manipulation either directly in an embedded Excel spreadsheet or similar objects
- External objects: OracleBAM can integrate external Web pages to the reports providing the flexibility to add additional context outside of the application boundaries to information reported
Each visualization object extracts information from data objects that have been defined in the BAM. As seen in the sample report created in
Figure 2, the lower half of the screen shows the data configuration area for the line chart. Developers select the field by which to group transactional information and the values to display in the chart. Oracle BAM provides a choice of standard aggregate functions including Sum, Average, Minimum, Maximum, Count, Count Distinct, Calculation, and Percent of Total. The system is data type-aware so that only functions appropriate to the chart values are made available (e.g., Count and Count Distinct only for non-numeric chart values).
Once the data is defined for the visualization object, the data can be filtered to isolate only the information desired. The system also allows for filters to be based on prompts providing users the flexibility of changing information when viewing the reports online. Reports can also be filtered to display only a list of a configurable number of the top results of a given metric.
Drilling and Report Linking - One of the key analytical elements of Oracle BAM is the ability to cross-link reports and drill through data. Using the example report above, one of the metrics is a pie chart that shows the breakdown of valid versus invalid orders. This pie chart can be configured so users can drill across to another report that details valid and invalid orders by company. This can be done through the following steps:
- Create a detail report with a parameter for filtering information; in this case the filter will be the order status
- Set the pie chart's drilling target to the newly created detail report
- Map the order status of the pie chart to the parameter of the newly created detail report
Once configured, users can double-click a region of the pie chart, replacing it with the newly created report detailing the orders with the status of the pie chart region selected.
Alerts - Service levels are a key part of an SOA. The concept of service levels can be extended to business metrics to help define the financial performance of processes in an organization. BAM can be configured to send alerts that optionally contain report instances to key personnel based on service-level thresholds. Thresholds can be defined against any of the data available to the reports. Messages may be sent via e-mail, the Active Messenger component of BAM, or based on how individual BAM users have configured their alert preferences.
To manage the performance implications of inspecting data passing through the system, constraints can be placed on the alerts to minimize the impact. Some capabilities include restricting the time and/or day on which alerts are sent and setting a minimum time between successive rule evaluations.
Summary
Modern SOAs and trading partner collaboration technologies present unique challenges with respect to business performance management. Oracle BAM provides an analytics-based solution to measuring and monitoring these systems. A Web-enabled real-time reporting and dashboard solution, BAM integrates into transactional processes providing insight into performance. For SOA management and performance analysis, Oracle BAM is a solid solution.
About Brian BarbashBrian R. Barbash is the product review editor for Web Services Journal. He is a senior consultant and technical architect for Envision Consulting, a unit of IMS Health, providing management consulting and systems integration that focuses on contracting, pricing, and account management in the pharmaceutical industry.