BAM Project Requirements

In recent posts I treated BAM Data Objecten and BAM Calculated Fields. I am now at the point to start with a so called BAM project. But before I will do that, first something else.

The problem of last week (BAM Projects get corrupted) has given me extra time to think about the rest of the blog series. In doing so, I came to the conclusion that I had not yet taken the functional requirements as a subject. But without these requirements the upcoming blogs are hard to follow, so in this post I first will mention the functional requirements, from a technical point of view (and briefly describe them). I have translated a drawn dashboard image into the following requirements.

  1. Click through to humantask. Link to a rule action. Add ability to click through to the related humantask, to view it or act on it as assigned rep.
  2. Change View type at runtime. Possibility to switch from view of e.g. a line chart to a bar chart or a list view.
  3. Click through to case details via the used hierarchical organization structure (Judicial System, Department, Team and Employee).
  4. Summary of tasks. Showing number of open tasks, newly opened tasks and recently closed tasks. Increase/decrease in percentage of number of tasks.
  5. Starting a related system. Link to a view action. E.g. start the worklist application or a specific website.
  6. Filter of displayed data in multiple views at once. E.g. all views in which a department is shown, and where it is possible to filter on the department, display information of the same department(s).
  7. Showing tasks and deadline’s. Indicate how many urgent tasks there are on the basis of urgency.
  8. Change parameters at runtime such as the degree of urgency. Urgency is the number of days for due before it is urgent.
  9. Updating views without pressing the refresh button. Use active data so that the view is dynamically updated.
  10. Dynamic displaying images. Depending on the selected data a different picture is shown.

Continue reading

BAM Calculated Fields

In my previous blog, I have made a start with the study of the BAM components. I have started with the Data Objects (BAM Data Objecten). In this post I will continue with them.

1-project-dataobjects

In order to be able to make the desired dashboard for the POC, there is a need for yet a number of calculated fields. These calculated fields are defined as part part of the Data Object. Several of the required calculated fields are also present in the standard Data Objects. These can be taken over. Because the field names do not match directly these must still be adapted. In the standard Data Objects are all calculated fields defined as attribute. To give them some context I have defined some of them as dimensions and measure. But this affects the different queries where this is not immediately obvious. It is stated at the different query types but it is rather unclear.  Continue reading

BAM Data Objecten

In previous posts, I’ve focused on the components around BAM (starting with Impact of ACM Implementation on BAM). Now is will start with a number of posts that are related to the components of BAM. Hereby I will use the image below. The image comes from the BAM documentation of Oracle. This post will mainly be about Data objects.

1-project-dataobjects

From the Oracle Documentation (https://docs.oracle.com/middleware/1213/bam/bam-user-guide/GUID-22D3700F-121C-4FCC-B0EE-A5AA54689CC7.htm#BAMUG98195)

A BAM data object models data for use within BAM. It contains the data to be monitored. The data can be saved in raw format in a database or in an external table. The data can also be a stream from an ongoing activity. Continue reading

BAM Database

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 I described the initial situation (Impact of ACM Implementation on BAM). And in the second post I described the solutions we have recognised/examined to make Management Information (MI) available to the ACM implementation.

During this examination we also looked in detail to the BAM database. The relevant findings of this are described in this post.

In this description we begin from BAM. The Data Objects of the ACM case with associated Case Activities can be found in the processanalytics directory of BAM. See figure below.

do_tree_processanalytics

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