BAM POC wrap-up and recording

This is the last post in a series about BAM. In this series of a total of 18 post (including this one) I have described my overall experiences with BAM while performing a POC. Each post contains a piece of the BAM journey of discovery. All post together hopefully give a picture of the possibilities of BAM, but no more than that. Because BAM has many more possibilities.  I started sketching the initial situation (an ACM implementation), the problems we have encountered in the filling of BAM and the examined solutions (some in more detail). Next requirements and an issue I had during the writing of this series. In total I have devoted 9 posts to it. Next I described the experiences per development step in BAM (see figure below). The following table lists all the post, including a link to the post.

  1. Impact of ACM Implementation on BAM
  2. Filtering/grouping in BAM by ‘specific’ metrics (explored solutions)
  3. Explored solution: Fool BAM with database hack
  4. Explored solution: Populating BAM using JMS
  5. BAM Command
  6. Renew BAM Demodata
  7. BAM Database
  8. BAM Projects get corrupted
  9. BAM Projects requirements
  10. BAM Data Objecten
  11. BAM Calculated Fields
  12. BAM Queries
  13. BAM Views
  14. BAM Parameters
  15. BAM KPIs
  16. BAM Alerts
  17. BAM Dashboards

Continue reading

Renew BAM demodata

Recently I did a POC with BAM 12c at the customer. In a series of post’s I will describe my findings/experiences.
In the first post of this series I described the initial situation (Impact of ACM Implementation on BAM). This post ended up with the following challenge.

We have a ACM Case consisting of about thirty Case Activities. The Case and the individual Case Activities are housed in a private composite (1 + ~30 composites).

Challenge: How can we group/filter in BAM by ‘specific’ metrics that are present in each Composite. For example ‘ Department ‘.

In the Fourth post (Populating BAM using JMS) I described that I have used an oracle tutorial to Populate BAM in SOA using JMS. This tutorial and sample project can be found on the Oracle website. In the image below, you see the corresponding composite.

5image1

By calling this RequestService from different BPM processes BAM can be loaded with data via JMS). After that I went to work with this data in BAM to create dashboards. Hereby I ran into the following problem:
The dashboards that have to be developed have a data scope of 2 weeks. To test this properly I need at least 2 weeks of data. For this I created a dataset that contains data for 2 weeks. This data set, however, concerns the last 2 weeks. This means that the data actually been directly out-dated.

My challenge: How can it be ensured that the data is up to date?

Using the commandline tool bamloadgen it is possible to provide BAM with data. With this tool it is even possible to use placeholders to renew the data. But the options are limited to today and yesterday (For details see Oracle documentation). This means that bamloadgen is not suitable to renew data from 2 weeks.

I made my own solution.

Continue reading

BAMCommand

Recently I did a POC with BAM 12c at the customer. In a series of post’s I will describe my findings/experiences.
In the first post of this series I described the initial situation (Impact of ACM Implementation on BAM). This post ended up with the following challenge.

We have a ACM Case consisting of about thirty Case Activities. The Case and the individual Case Activities are housed in a private composite (1 + ~30 composites).

Challenge: How can we group/filter in BAM by ‘specific’ metrics that are present in each Composite. For example ‘Department’.

In the second post Filtering/grouping in BAM by ‘specific’ metrics (explored solutions) I have 10 recognized/examined solutions appointed for this challenge.

In this post I will cover the functionalities of BAMCommand that I have used in the implementation/rollout of the EMS configuration (Populating BAM using JMS).

But first, what is BAMCommand?

BAMCommand is the command-line utility to export, import, migrate, clear, and delete BAM metadata, data, and project artifacts.
You can find BAMCommand in the directory ‘FMW_HOME/soa/bam/bin’. By calling BAMCommand without parameters gives you an overview of the possibilities. This overview is shown below:

4image1

Continue reading

Populating BAM using JMS

Recently I did a POC with BAM 12c at the customer. In a series of post’s I will describe my findings/experiences.
In the first post of this series I described the initial situation (Impact of ACM Implementation on BAM). This post ended up with the following challenge.

We have a ACM Case consisting of about thirty Case Activities. The Case and the individual Case Activities are housed in a private composite (1 + ~30 composites).

Challenge: How can we group/filter in BAM by ‘specific’ metrics that are present in each Composite. For example ‘Department ‘.

In the second post Filtering/grouping in BAM by ‘specific’ metrics (explored solutions) I have 10 recognized/examined solutions appointed for this challenge. In this post one of these solutions (number 10) is further developed.

I will describe an implementation of how to populate BAM via a JMS queue. In a nutshell: we have the following situation:
An ACM Case Management composite (CASE A) with the Case Activities implemented in external BPM processes (Proces 1,2 and 3). The humantask metrics are available in BAM via the ‘default’ channel. For other metrics the composites have to send events. These events are catched by the Event Handling Service. This service puts them on the JMS Queue BAM uses as input source. Graphically represented:

3image1 Continue reading

Filtering/grouping in BAM by ‘specific’ metrics (explored solutions)

Recently I did a POC with BAM 12c at the customer. In a series of post’s I will describe my findings/experiences.
In a previous post I described the initial situation (Impact of ACM Implementation on BAM). That post ended up with the following problem description.

Problem description

We have a ACM case consisting of about thirty Case Activities. The Case and the individual Case Activities are housed in a private (1 + ~30 composites).

Challenge: How can we group/filter in BAM by ‘specific’ metrics that are present in each composite. For example ‘Department’.

In this post I will describe solutions we have recognised/examined to make Management Information (MI) available for this ACM implementation.  Continue reading

Impact of ACM Implementation on BAM

Recently I did a POC with BAM 12c at the customer. In a series of post’s I will describe my findings/experiences.
This is the first post in the series.

As a starting point we have the following situation:

We have an ACM composite consisting of a case with associated BusinessRule component and different BPM processes implemented as Case Activities. See figure below.

1image1

This is one single composite application. This means that there are two objects for BAM (‘VeryHugeCase Activity’ and ‘VeryHugeCase Process’) generated in the ‘Process Analytics’ project.
1image2

Continue reading

My first experiences with ThreadLogic

A while ago I came into touch with ThreadLogic. Most of the people whom I was talking about it, did not know the tool. This unfamiliarity with ThreadLogic made me decide to write this blog. I think that every WebLogic Administrator should know ThreadLogic and that it is also a very interesting tool for Fusion Middleware Developers.

But let me start at the beginning. A while ago Michael Sahadat, a SOA/Integration Architect at Oracle, came over to help me solve a performance issue. He was using ThreadLogic and explained me how it helped us at the end to detect the performance bottleneck. But that I will explain later on. First I will tell about ThreadLogic.

Image 1 Continue reading