Tuesday, November 24, 2015

#456 Oracle BAM for right time operational intelligence

The release of SOA Suite 12.2.1 is a good time to revisit BAM.

You can use the tool to analyze data
- before,
- during
- and after business events.

BAM 12.2.1. in a major development of BAM 12.1.3 as is really worth look at.

In this introductory post I discuss the architecture and detail a simple example.

BAM Architecture and Concepts

Before we get into the tool itself, I strongly suggest you look at the BAM Users Guide.
Chapter 1 - Understanding BAM - is well worth reading. Doc available here

Here is a precis of the Architecture section -

BAM leverages MDS to store artifact metadata - data objects etc.

The Persistence Engine is Coherence based, storing inserts, updates and deletes to data objects.

The Advanced Continuous Query Service(CQS) is essentially BAM's wrapper around the CQL engine (OEP).
When you create a Query in BAM, tables are created in CQS. The CQS listens for data changes in the Persistence Engine and passes them on to the CQL engine for processing. CQS gets the result back and passes it on to the Report Cache.   

The Report Cache receives and caches query results and pushes the results on to the Dashboards.

Dashboards provide data visualisation.

The Alert Service validates query results against alert rules. e.g. alert the sales manager on orders over €10000.

Now to the tool itself -

BAM Composer



To quote the ORCL docs -

Data objects in BAM are based on the process star schema. This is the star schema
standard adapted for use in process analytics. Fact tables contain measures such as process running times, and dimension tables contain dimensions such as process names. 

Let's create one, but first I need a project -

Now what is this Create BPM Example ?
This essentially creates a project with data objects for Oracle Business
Process Management (BPM) processes. An example in a later post!

Note: we have pre-seeded data objects -

Note: Twenty seven ready-to-use fact and dimension physical data objects and logical
data objects created as part of BPM, SOA, and BAM installation.

These can be added to the project, if required. Or else, I can create a new one.

Now the creation of data objects is done by the Administrator, the idea being
that a data object can be used in one or more projects.

So we already have our project - let's create the data object -

I click on the Administrator tab.

I add the following columns -

I add some data via the Data link -

Now I go back to the Designer and add this Data Object to the project.

Business Queries

I add one - for sales by Supplier

Here is the query result -

Now I want to visualize this -

Business Views

Check out the Properties -

Check out the Runtime-Interaction -

Here we have the ability to turn this "static" query into a continuous query, thus providing
a self-updating business view. More about that in a later post.

Now I want to use this Business View in a Dashboard -

I add my Supplier View -

I add a couple of more rows to the data object -

No comments: