Targeting business users, Insight allows one to monitor business metrics from processes running on SOA Suite and Service Bus.
"We have this already with BAM" you might say. But wait and see what the deltas are.
From the docs -
Oracle Real-Time Integration Business Insight, used in conjunction with Oracle integration products such as Oracle SOA Suite and Oracle Service Bus, can dramatically simplify the process of modeling and extracting meaningful business metrics.
Insight makes use of business models as the basis for data analysis -
First, you create a model of the business. The model defines what characteristics stakeholders care about, and includes abstractions such as milestones and indicators. Milestones indicate progression through business activities such as “Problem Received”, “Ticket Created”, or “Problem Resolved”. Indicators represent metrics that are useful for tracking the business, for example “Total Resolution Cost”, “Country”, “Region”, or “Customer Status”.
So imagine if I had an OrderProcess SOA composite, I may have a business model for this that includes milestones such as Order Approved, Order Rejected, Order Fulfilled.
The business analyst creates the model and then its milestones can be mapped to the relevant OrderProcess component e.g. OrderRejected mapped to the BPEL process invoke activity - EmailRejection2Customer.
Once the Model is activated, Insight gets the relevant info from the Oracle Integration Infrastructure.
The data is then rendered in Insight, providing the business users with the salient information they require.
So what about Dashboards for rendering the data? Again, from the docs -
These metrics are immediately available in pre-configured interactive dashboards, tables, reports, and timelines.
BAM is the underlying engine used by Insight, however Insight allows you to instrument the SOA or Service Bus process, without having to re-deploy the composites, as would be the case with the traditional BAM approach. Also, dashboards are already available OOTB.
Internals
So what is happening under the hood?
Here is a simple scenario -
1. I create a simple SOA Composite, a BPEL process - ProcessMyOrder.
2. I deploy this composite to my SOA server
3. I create a Model in Insight. This model will contain business relevant milestones, such as OrderArrived, LargeOrder, OrderApproved, OrderRejected, OrderCompleted.
4. I create a Connection in Insight to my SOA runtime environment.
5. Now I can go back to my Model and map the Milestones to process activities.
But first, let's look at the Milestone definition -
Note: The Milestone types.
Now all I need to do is click on Create Mapping.
I use the connection I just created and select my composite.
Clicking on the icon above, brings me to the BPEL process.
As the Milestone is OrderReceived, I map this to the On Exit event of Receive - receive input activity.
Very simple and succinct, isn't it?
Now I map the rest of my Milestones.
I save the model and see the following -
So let's add some indicators -
Now I specify the extraction criteria, i.e. mapping the Product Dimension to the product element from the BPEL process payload.
I also map the Unique Identifier - OrderNr.
Firstly I specify the Milestone to which it is attached.
Then I map the unique identifier to an element in the BPEL payload.
Ok, I am using the custNr as OrderNr here - I forgot to add such to my order xsd.
Now I can activate -
Now I create a process instance via EM.
I click on the Dashboard tag in Insight and - quelle surprise
I can do drilldowns -
I enter a second, this time large, order.
The Insight UI reflect this -
Again, great stuff. A real bonus for SOA Suite on-prem and cloud service customers.