This chapter provides an introduction to Oracle Business Activity Monitoring (Oracle BAM) and its components. It contains the following topics:
Oracle BAM provides a framework for
Creating dashboards that display real-time data inflow.
Creating rules to send alerts under specified conditions.
Designing Web applications with graphs displaying active data.
Active Data Architecture. Oracle Business Activity Monitoring provides an active data architecture that dynamically moves real-time data to end users through every step of the process. This solution actively collects data, applies rules designed to monitor changes, and delivers the information in reports to users.
Real-time Reports. Real-time reports containing current data are delivered as soon as data changes occur. This is possible because of data in the Oracle BAM Active Data Cache and the connections to real-time transactional feeds.
Active Presentations in Reports. Reports display active data presentations where data continuously updates, formats, and is displayed. When data changes, the display changes in real-time.
Rules-Based Active Delivery. In an event-driven solution, the information finds the target users instead of requiring users to query for the information on their own initiative. The reports are initially designed for delivery to end users based on data changing or events triggering. For the end user, the result is zero-click reporting that is always relevant.
High Performance, Scalable Architecture. Oracle Business Activity Monitoring is scalable to handle large amounts of complex, real-time enterprise data. Oracle BAM uses Oracle Data Integrator to select the correct raw data and then transform and perform calculations required by the data designer. The transformed data is delivered to the Oracle BAM Active Data Cache in a ready-to-use state for fast access.
Oracle BAM consists of several components:
Real Time Data Streaming- feeds data into Oracle BAM. See Real Time Data Streaming.
Oracle BAM Server - See Oracle BAM Server.
Oracle BAM Web Applications - users build Oracle BAM schema, dashboards, and alerts. See Oracle BAM Web Applications.
Oracle BAM Data Control - developers create ADF pages with active data content. See Oracle BAM Data Control..
ICommand - command-line tool for manipulating the Oracle BAM schema, dashboards, and reports. See ICommand.
Oracle Business Activity Monitoring offers four different mechanisms to update Oracle BAM Server with real-time streaming data.
Oracle BAM Adapter, the JCA-compliant adapter, and the fastest option for streaming data into Oracle BAM Server. See Oracle BAM Adapter.
Direct JMS (also known as JMS Connector or Enterprise Message Sources). See Direct JMS Connectivity.
Oracle Data Integrator. See Oracle Data Integrator.
Web services API to interact directly with Oracle BAM data objects from a remote client. See Oracle BAM Web Services.
Oracle BAM offers a JCA-compliant adapter, Oracle BAM Adapter, which J2EE applications can use to send data to Oracle BAM Server. This is the fastest option, and also the most tightly coupled option.
This is the mechanism by which Oracle BPEL Process Manager and the other components in Oracle SOA Suite in Fusion Middleware interact with Oracle BAM Server. Oracle BAM Adapter can communicate with Oracle BAM Server through Enterprise JavaBeans (EJB) (if they are deployed in the same farm), direct Java object invocations (if they are deployed in the same container) or through Web Services (if there is a firewall between them). Oracle BAM Adapter is configured in Oracle WebLogic Server console to provide any of these connection pools.
Oracle BAM Adapter provides three mechanisms by which you can send data to an Oracle BAM Server from your SOA composite application as you develop it in Oracle JDeveloper.
The Oracle BAM Adapter can be used as a reference binding component in an SOA composite application.
The Oracle BAM Adapter can also be used as a partner link in a BPEL process to send data to Oracle BAM as a step in the process.
Oracle BAM sensor actions can be included within a BPEL process to publish event-based data to Oracle BAM data objects.
For more information see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Enterprise Message Sources (EMS) are used by applications to provide direct Java Message Service (JMS) connectivity to Oracle BAM Server by mapping messages directly to Oracle BAM data objects. Oracle BAM Server can read data directly from any JMS based message queue or topic. This option offers guaranteed messaging.
This option allows basic XSL transformation capability. However, it is recommended to use an Extract, Transform, and Load (ETL) tool, such as Oracle Data Integrator, to perform any rigorous transformations on the data for performance considerations.
The EMS feature does not configure ETL scenarios, but rather maps from a message directly to a data object on Oracle BAM Server; however, you can still use XSL transformations before the data is inserted (updated, upserted, or deleted) into the data object. Each EMS reads from a specific JMS topic or queue and the information is delivered into a data object in Oracle BAM Active Data Cache. The Oracle BAM Architect Web application is used to configure EMS definitions.
For more information see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Oracle Data Integrator is the Extract Load Transform (E-LT) tool that is used with Oracle BAM to perform rigorous data transformations. Oracle BAM Server has been implemented as an Oracle Data Integrator technology (for example, DB2, SQL Server are Oracle Data Integrator technologies) and Oracle BAM has Oracle Data Integrator knowledge modules which let Oracle Data Integrator perform all of the operations on Oracle BAM Server to facilitate reading and writing data in various ways, including Changed Data Capture.
For more information about the integration between Oracle Data Integrator and Oracle BAM, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Oracle BAM offers a Web Services API to update Oracle BAM data objects. This option is best for non-Java clients, or remote clients that can only access Oracle BAM Server over the Web, and does not offer guaranteed messaging.
Oracle BAM Web services allow users to build applications that publish data to Oracle BAM Server for use in real-time charts and dashboards. Any client that can talk to standard Web services can use these APIs to publish data to Oracle BAM. Oracle BAM Web services interfaces allow integration of Oracle BAM with other components such as BPEL Process Manager and ESB, and they facilitate SOA application development. For more information see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
In addition to real-time data streaming, you can load data into Oracle BAM data objects from an external data source (EDS). An EDS is a connection to an external database. EDS definitions usually point to data sources that do not change very much or a data source that is too large to load into the Oracle BAM Active Data Cache. For more information about configuring EDS definitions see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Oracle BAM Server is a collection of components that handle incoming data from real time data sources and evaluate conditions for sending alerts to users and launching actions.
Oracle BAM Server consists of the following components:
Oracle BAM Active Data Cache (Oracle BAM ADC) is designed and optimized to handle large amounts of data in a real-time solution. To make data readily accessible and deliverable, it maintains real-time views of the data. The data feed to the Oracle BAM ADC is a combination of business data sources, from data warehouse information to transactional feeds and other enterprise sources. The various data streaming technologies integrated with Oracle BAM send this information to the Oracle BAM ADC in a continuous stream as data changes occur.
The Oracle BAM ADC hosts and runs the data objects, the view sets and the active view sets. It receives transactions (insert, update, delete, and upsert) to its data objects, and these data objects notify other data objects which are linked to them through lookups. Active view sets which are monitoring these data objects are notified of the changes and produce active data.
Oracle BAM Event Engine monitors complex data conditions and implements specified rules. Rules can include a series of conditions and actions attached to an event. The Event Engine continuously monitors the information in the Oracle BAM ADC for certain conditions and executes the related actions defined in associated rules.
The Event Engine is responsible for tracking events based on date, time or data changes. The design of the Event Engine uses a satellite concept, in which there are four different systems (satellites) which event clauses can be registered with and tracked in.
The Date and Time satellites are both based on a scheduler, and they are used for alerts such as "E-mail a snapshot of this Oracle BAM dashboard to me every morning at 8am."
The Manual satellite is use to manually fire alerts by name (using a Web service call).
The Data satellite (which is really the ViewsetMonitor object in the Oracle BAM ADC's kernel) is used to track alerts that are based on specific changes in the data of a given data object, such as "call this Web Service when SUM(Sales) > 10000 in the MediaSales data object," or "let me know when anything in this dashboard changes."
Oracle BAM Report Cache off-loads the burden of maintaining the view set snapshot in memory from the Oracle BAM ADC. The Oracle BAM Report Cache opens view sets and active view sets in the Oracle BAM ADC for the Oracle BAM Report Server (in the Oracle BAM Web Applications set of components). It then caches the snapshot (in chunks) and the active data before sending it to the Oracle BAM Report Server. This allows for random access into the snapshot and recovery from losing internet connectivity. The Oracle BAM Report Cache also allows for the Oracle BAM Report Server to be stateless, and with the Oracle BAM ADC it supports view set sharing.
Oracle BAM Web applications are the user interfaces for creating dashboards and alerts, building the data model, viewing reports, and managing users.
The Oracle BAM start page provides a login screen and access to Oracle BAM Active Viewer, Active Studio, Architect, and Administrator Web applications. See Starting Oracle BAM Web Applications for more information
Oracle BAM Active Viewer is the thin user interface for viewing reports. Active Messenger is client-side notification software. When fresh information is available, the user receives an e-mail that contains a link to the information. The user clicks the link and the report is displayed in Oracle BAM Active Viewer. Report formats include charts, lists, KPIs, crosstabs, spreadsheets, and more. See Getting Started With Oracle BAM Active Viewer for more information.
Oracle BAM Active Studio is the thin user interface for the power user. Through Oracle BAM Active Studio, the power user can create and edit reports. Reports can be shared with other users and rules can be created for determining the scheduling and delivery of the reports. Report types include charts, lists, KPIs, crosstabs, spreadsheets, and more. See Getting Started With Oracle BAM Active Studio for more information.
Oracle BAM Architect is the thin user interface for the data designer. Through Oracle BAM Architect, the data designer creates and manages data objects in the Oracle BAM ADC and manages real-time message processing. See Getting Started With Oracle BAM Architect for more information.
Oracle BAM Administrator is the thin user interface for the system administrator who is responsible for user management (creating users and roles is separate from managing privileges, and is configured in Oracle WebLogic Server Administration Console). Using Oracle BAM Administrator, the system administrator manages users, object ownership, and security levels, and configures user distribution lists. See Getting Started With Oracle BAM Administrator for more information.
Oracle BAM Report Server applies the report definitions to the data sets retrieved from the Oracle BAM ADC for presentation in a browser. It manages information paging for viewing and printing reports. After reports are created, they are stored in the Oracle BAM ADC so that report creation is not repeated each time. Most reporting views are designed to support live, active displays of data changing in real-time.
The Oracle BAM Data Control allows ADF developers to build applications with a dynamic user interface that changes based on real-time business events. Oracle BAM Data Control is used to bind data from Oracle BAM data objects to databound UI components in an ADF page. For more information see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Oracle BAM employs two tools, Oracle Enterprise Manager Fusion Middleware Control and Oracle BAM Administrator, to help you manage Oracle BAM components and users, and configure properties.
Oracle Enterprise Manager Fusion Middleware Control is an enterprise management tool that you can use to administer the deployed Oracle BAM Server and Oracle BAM Web applications described in Oracle BAM Server and Oracle BAM Web Applications. Fusion Middleware Control provides dashboards for monitoring performance metrics, accessing logs, and configuring properties.
More information is available in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.
Oracle BAM Administrator is the thin user interface for the system administrator who is responsible for user management. Using Oracle BAM Administrator, the system administrator manages users and security levels, and manages user distribution lists. See Getting Started With Oracle BAM Administrator for more information.
ICommand is a command-line utility (and Web service) that provides a set of commands that perform various operations on items in the Oracle BAM ADC. You can use ICommand to export, import, rename, clear, and delete items from Oracle BAM ADC. The commands can be contained in an input XML file, or a single command can be entered on the command line. Informational and error messages may be output to either the command window or to an XML file. For more information see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Not all of the information about Oracle BAM is contained within this guide. The following documents should be consulted for topics not provided in this guide.
Installation instructions are provided in the Oracle Fusion Middleware Installation Guide for Oracle SOA Suite.
Upgrade instructions are provided in the Oracle Fusion Middleware Upgrade Guide for Oracle SOA Suite, WebCenter, and ADF.
Data management topics, such as creating data objects, configuring data streaming technologies, using Oracle BAM Data Controls in ADF, using Oracle BAM Adapter in SOA composite applications (such as BPEL processes), creating alerts, and using ICommand are included in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
Administration topics, such as property configuration, user management, and performance and log monitoring using Oracle Fusion Middleware Control and Oracle BAM Administrator applications are provided in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.
Migration from a test to production environment is documented in Oracle Fusion Middleware Administrator's Guide.
Performance tuning information for Oracle BAM is available in the Oracle Fusion Middleware Performance and Tuning Guide.
High availability configuration information is provided in the Oracle Fusion Middleware High Availability Guide.
Troubleshooting information is compiled in an Oracle BAM troubleshooting guide on the Oracle Technology Network Web site at
Oracle BAM includes several sample data objects and dashboards to demonstrate its features. Sample files are installed with the Oracle BAM Web applications. If the samples are not installed on your system, the files, installation script, and instructions are located in the
For information about the samples see Getting Started With Oracle BAM Samples.
Oracle BAM tutorials with sample files are available for download on the Oracle Technology Network Web site at