Software Engineering

Oracle BAM 12c Dashboard Integration in ADF Applications

Oracle Business Activity Monitoring (BAM) is a powerful tool to create simple BI dashboards for data analysis. Although Oracle immensely improved BAMs look and feel by redesigning it using Oracle Application Development Framework (ADF) in version 12c, there might be situations in which an integration of single business views or dashboards into custom build JavaEE or ADF applications is required. For this purpose JDeveloper 11g provided the possibility to generate ADF data controls in order to access data structures defined in BAM 11g. As can be found within the „What’s New“ section in the BAM 12c documentation this feature was removed:

Data control is no longer necessary or supported.

If data controls are no longer necessary or supported, how is Oracle BAM dashboard integration achieved in 12c? This article will answer this question. As an example Oracle BAM 12c artefacts are integrated into a custom Oracle ADF application.

Dashboard integration using iFrame

Even though Oracle BAM 12c is ADF based, the only possibility to integrate its business views or dashboards into custom ADF or JavaEE applications is to load a dashboard in an iFrame. The hint to this preferred integration approach can be found in the following Oracle documentation section:
You can use the URL to add a BAM dashboard link to a web page. For example:

You can set the height and width attributes of the iframe.

It was confirmed by Oracle that this is the preferred approach. On the one hand a positive aspect is that iFrames are a basic HTML feature and therefore can be used with any web application technology. On the other hand this approach introduces challenges such as Single-Sign-On (SSO), homogeneous layout and host application to BAM dashboard interaction.

To start with the integration the BAM 12c dashboard URL is required. It can be obtained from within BAM 12c Designer by right clicking on the desired dashboard and selecting the “Show Dashboard URL” menu item.

For this example the following dashboard URL will be used

The second step is to create an ADF page and add the iFrame using the URL. In ADF the “Inline Frame” component is used to render an iFrame:

In order to display the dashboard merely its “Source” property has to be configured:

Afterwards the application can be deployed and the BAM 12c dashboard is displayed:

Summary

Integrating Oracle BAM 12c artifacts, such as business views and dashboards, into custom web applications is a desirable feature, especially when developing applications using Oracle ADF. Currently the only documented approach is to integrate complete dashboards by rendering an iFrame referring to a dashboard URL. Although this simple approach works to some extend, it introduces additional challenges and problems.

As BAM 12c is ADF based, implementing features for an easy but potent integration into custom ADF applications must be possible. Feasible approaches would be a data control approach, similar to the solution in BAM 11g, or a documented public API enabling direct access to BAM’s report cache bean. Hopefully, we will see such features in a not too far future.

Links

Oracle Documentation – BAM 11g Data Controls
Oracle Documentation – BAM 12c „What’s New“
Oracle Documentation regarding BAM 12c Integration
Oracle Business Activity Monitoring (BAM ) 12c Documentation
ADF Faces Rich Client Documentation – af:inlineFrame