It is possible to generate historical data with an IBM® Business Process Manager utility
to help you simulate processes using business data versus the timing
data that is normally available with simulations.
About this task
Normally, you would run instances of your processes in a
production environment for some time in order to generate and store
meaningful performance data in the Business Performance Data Warehouse.
Procedure
Note: Before generating historical data, be sure to use
autotracking, specify the business data (variables) to track, and
send tracking definitions to the Business Performance Data Warehouse.
To
generate historical data using a simulation analysis scenario:
- From the IBM BPM library,
double-click a simulation analysis scenario to open it. For this procedure,
use the Case Management sample scenario. In the scenario,
notice that you are generating data for one version of a process called
Billing Disputes. The Optimizer generates data as if 100 instances
of the process actually ran, to match the Max instances setting
in this scenario. You can learn more about the Billing Disputes sample
process when you review the sample simulations.
Note: If you select
multiple versions in the Simulation Analysis Scenario window, this
utility generates data for all of the versions that you include. However,
in the generated data, you cannot specify different data per version.
If you want to generate different data per version, run the utility
and alter the data as needed for each version.
- From the IBM BPM main
menu, click .
- In the Generate Historical Data from Simulation window
box, set the Instance and Task ID values to previously unused ranges
(this is necessary in order to avoid data overwrites where data has been
previously generated for the selected scenario). If this is the first
time data has been generated for this scenario, you do not need to
change these values.
- Accept the default Business Performance Data
Warehouse option as the Destination for generated data
to go ahead and edit the local XML file that IBM BPM generates. Click File if you want to save initial
data to the local XML file, open and edit the XML file in your favorite
editor, and then come back to this window box later to generate and
send the historical data to the Performance Data Warehouse.
- Click the Edit xml file link to
edit the local XML file by providing specific values for the steps
in the process included in your scenario. If the XML file exists,
the Optimizer opens the file. If the file does not exist, the Optimizer creates a
file and then opens it.
The XML file has the same name
as the simulation analysis scenario that you are using to generate
historical data. In the previous example, you can see all the data that will be tracked,
including the default Key Performance Indicators (KPIs) and the tracked
fields for the process included in the sample scenario (Billing Disputes).
- Scroll through the XML file and provide values to initialize
the data for each activity and flow component in the process.
- For example, you can initialize the customer name for
the Gather Dispute Information activity using standard JavaScript
as shown in the following example.
<flowObject id='bpdid:5e6cd2e3efad952:29c8c36a:1138c758934:-7f5c' name='Start'>
</flowObject>
<flowObject id='bpdid:5e6cd2e3efad952:29c8c36a:1138c758934:-7f4d' name='Gather Dispute Information'>
<!--Activity-->
<!--<assignTo>'bpd Online Call Center West'</assignTo>-->
<var name='name'>
var arr = new Array('BJR Supplies', "Majestic', 'ABC Inc', 'Acme');
arr[Math.floor(Math.random()*arr.length)];
</var>
</flowObject>
The JavaScript randomly iterates through
the names in the supplied array.
- You can provide a simple calculation to determine the totalActualAmount and totalRequestAmount for
the Gather Dispute Information activity, as shown in the following
example.
<var name='totalActualAmount'>
500 + Math.floor(75 * (Math.random()-.5));
</var>
<var name='totalRequestAmount'>
500 + Math.floor(75 * (Math.random()-.5));
</var>
- You can also establish the process flow. For example,
you can provide algorithms to determine the values for variables like researchRequired and approvalRequired as
shown in the following example.
<var name='researchRequired'>
var s;
if (Math.random() < .90) {s = 'Yes';} else {s = 'No';}
s;
</var>
<var name='approvalRequired'>
var s;
if (Math.random() < .60) {s = 'Yes';} else {s = 'No';}
s;
</var>
- You can specify the flow of the process according to
values of these variables. Scroll down to the gateways and indicate
what should happen for each condition. As in the following example,
you can establish what should happen for the Yes condition for the
Research Required gateway.
<flowObject id='bpdid:5e6cd2e3efad952:29c8c36a:1138c758934:-7be4' name='ResearchRequired?'>
<!--Gateway 1, conditions needed:1-->
<conditions>
<condition name='Yes' bpmnId='bpdid:5e6cd2e3efad952:29c8c36a:1138c758934:-7be4'
researchRequired=='Yes'</condition>
</conditions>
</flowObject>
<flowObject id='bpdid:fc87b608e236270a:-6209de48:113b7dd45d9:-7beb' name='Researching'>
</flowObject>
<flowObject id='bpdid:fc87b608e236270a:-6209de48:113b7dd45d9:-7beb' name='Submitted'>
</flowObject>
- When your edits are complete and you are ready to generate
and send data to the Business Performance Data Warehouse, click Finish.
Note: If you're simulating a large number of instances (for
example, 50,000 instances) generating historical data can take up
to 10-15 minutes per scenario. If you notice slower performance, do
not perform any other work while this utility is running.
Results
IBM BPM Optimizer
generates historical data using the specifications from the simulation
analysis scenario and the values from the XML file and sends the data
to the Business Performance Data Warehouse. (Be sure to set the Performance
Data Warehouse as the destination when you are ready to generate and
send data.)
Note: If you change the structure of the processes that
you are analyzing or if you change the processes included in the simulation
analysis scenario, you must delete the existing XML file before generating
historical data for the revised processes or scenario.
What to do next
After the data is sent to the Business Performance Data Warehouse,
you can perform historical analyses for the included processes.