2. Table of Contents
About this book .................................................................................................................................31
Book Release History.........................................................................................................................32
What is Business Process Management?............................................................................................34
Overview of IBM Business Process Manager....................................................................................34
History of IBM Business Process Manager...................................................................................34
IBPM Usage...................................................................................................................................35
Modeling a process........................................................................................................................36
Integrating with IT Systems...........................................................................................................36
Architecture........................................................................................................................................36
Process Applications......................................................................................................................36
Process Instances.......................................................................................................................38
Archiving Process Applications................................................................................................38
Process Applications state management...................................................................................39
Changing Process Application settings.....................................................................................39
Toolkits..........................................................................................................................................40
Tips on good toolkits.................................................................................................................42
Tasks..............................................................................................................................................44
Task Priority..............................................................................................................................44
IBPM Components........................................................................................................................45
Component – Process Server.........................................................................................................45
Component – Process Center.........................................................................................................45
Starting Process Center.............................................................................................................48
Component – Process Designer.....................................................................................................49
Play back sessions.....................................................................................................................50
Starting IBPM Process Designer...............................................................................................50
Working in the Designer view..................................................................................................54
Working with the Library.........................................................................................................55
Adding managed files...............................................................................................................57
Tagging.....................................................................................................................................59
Smart Folders............................................................................................................................62
Validation errors.......................................................................................................................64
Working as part of a team.........................................................................................................65
Component – Web Process Designer.............................................................................................67
Component – Performance Data Warehouse.................................................................................68
Component – Process Center Console...........................................................................................68
Component – Process Portal..........................................................................................................68
Component – Process Admin Console..........................................................................................68
IBPM Knowledge...............................................................................................................................69
Product Documentation.................................................................................................................69
Web Sites.......................................................................................................................................69
Public Forums................................................................................................................................69
IBM RedBooks..............................................................................................................................70
developerWorks on IBM BPM......................................................................................................70
TechNotes......................................................................................................................................72
Requirements and Enhancements..................................................................................................74
Product Installation and Configuration..............................................................................................76
Part Numbers.................................................................................................................................76
Prerequisites...................................................................................................................................77
Page 2
3. Installing Integration Designer......................................................................................................77
Installing Business Process Manager Advanced in typical mode..................................................84
Performing a custom Install of Process Manager Advanced.........................................................90
Using BPMConfig to create servers............................................................................................112
Editing the BPMConfig properties file graphically................................................................113
Generating ONLY the DDL using BPMConfig..........................................................................115
Using the PMT to create servers..................................................................................................115
Using the command line to create server profiles........................................................................134
Installing to (DBA) managed databases......................................................................................136
DB2.........................................................................................................................................136
MSSQL...................................................................................................................................138
Common for all Databases......................................................................................................141
Installing Process Designer..........................................................................................................143
Starting BPM...............................................................................................................................148
Stopping BPM..............................................................................................................................148
Resetting the databases................................................................................................................150
Un-configuring BPM...................................................................................................................150
Hiding the sample applications....................................................................................................151
Creating a new Process Server in its own deployment environment...........................................151
Frequently Asked installation Installation Questions..................................................................157
Business Process Definition - BPDs.................................................................................................158
Pools and Lanes...........................................................................................................................161
Sequence Lines............................................................................................................................163
BPD Overview settings................................................................................................................166
Exposing the Process..............................................................................................................166
Process Instance Name............................................................................................................167
Process Instance Owners Team...............................................................................................167
BPD Views Settings.....................................................................................................................167
Activities......................................................................................................................................167
Activity Appearance in the BPD diagram...............................................................................171
Data Mapping..........................................................................................................................171
Conditional Activities.............................................................................................................172
Activity Behavior....................................................................................................................173
Start Event....................................................................................................................................180
End Event.....................................................................................................................................181
Message Start Event.....................................................................................................................181
Content Start Event......................................................................................................................183
User Task.....................................................................................................................................184
Automatic Flow.......................................................................................................................185
Assigning Activities – Mapping staff to work........................................................................186
Re-Assigning Tasks and changing group members...........................................................189
Assignment Examples........................................................................................................189
The Four Eyes Example.....................................................................................................189
Assigning a task to a single named user.............................................................................190
Assignment based on user attribute....................................................................................191
Explicit manager assignment..............................................................................................191
Timer Events................................................................................................................................193
Tracking Intermediate Event.......................................................................................................196
Ad-hoc Start Event.......................................................................................................................197
Message Intermediate Event........................................................................................................198
Page 3
4. Message End Event......................................................................................................................201
Terminate Event...........................................................................................................................202
Error Intermediate Event.............................................................................................................202
Error End Event...........................................................................................................................204
Gateways, Conditionals and Joins...............................................................................................204
Modeling sub-processes...............................................................................................................210
Modeling Linked Processes.........................................................................................................211
Modeling Event Sub-processes....................................................................................................211
Script Activities...........................................................................................................................213
External Implementation..............................................................................................................214
Completing an External Implementation – REST API...........................................................216
Completing an External Implementation – Web Service API................................................218
Application Loops........................................................................................................................221
Simple Looping.......................................................................................................................221
Multi-Instance Looping...........................................................................................................222
Looping through a map data type.......................................................................................223
BPD Diagram Notes....................................................................................................................223
Due dates for process and activities.............................................................................................224
Time and Holiday Schedules..................................................................................................225
Generating Reports......................................................................................................................226
BPD and BPMN...........................................................................................................................227
Concept of a Token.................................................................................................................227
Deviations from BPMN..........................................................................................................227
BPD Flow Control.......................................................................................................................229
Rework a set of steps..............................................................................................................229
Case Management............................................................................................................................232
Starting a new Case instance.......................................................................................................236
Case Activities.............................................................................................................................237
No precondition event.............................................................................................................240
A document is filed in the case...............................................................................................240
A case property or variable is updated....................................................................................240
A precondition expression is met............................................................................................241
Case Variables.............................................................................................................................241
Case User Interfaces....................................................................................................................243
Cases and their relationships to ECM..........................................................................................244
Case Document Types.................................................................................................................245
Case Design patterns....................................................................................................................247
Creating a new document within an existing case..................................................................248
Services.............................................................................................................................................250
Caching the results of a service...................................................................................................252
Human Service.............................................................................................................................253
Exposing the Human Service for starting...............................................................................253
Canceling outstanding Human Tasks......................................................................................255
Informing a user that their task has been canceled.................................................................257
Timing out a Human Service..................................................................................................258
Escalating a Human Task........................................................................................................258
Notifying a user that a task is ready for work.........................................................................260
Semantics of closing a browser window.................................................................................261
Human Service (Client Side).......................................................................................................262
Scripting in Client Side Human Services................................................................................264
Page 4
5. Saving state in a Client Side Human Service..........................................................................265
End Event Navigation.............................................................................................................265
Differences between Heritage and Client Side Human Services............................................266
Ajax Service.................................................................................................................................266
Integration Service.......................................................................................................................272
Advanced Integration Service......................................................................................................272
General System Service...............................................................................................................273
Decision Service..........................................................................................................................273
Business Action Language (BAL) Rule..................................................................................275
Decision Table........................................................................................................................276
Integrating with WODM.........................................................................................................278
Service Components....................................................................................................................278
Coaches...................................................................................................................................280
Server Scripts..........................................................................................................................280
Server Scriptlet........................................................................................................................281
Modify Task............................................................................................................................281
Postpone Task.........................................................................................................................282
Decision Gateway...................................................................................................................283
End Event................................................................................................................................284
Note.........................................................................................................................................284
Error End Event......................................................................................................................284
Error Intermediate Event.........................................................................................................285
Invoke UCA............................................................................................................................285
Catch Exception......................................................................................................................286
Intermediate Tracking Event...................................................................................................286
Stay On Page Event.................................................................................................................287
Nested Service.........................................................................................................................287
Send Alert...............................................................................................................................288
Web Service Integration..........................................................................................................289
Java Integration.......................................................................................................................291
Stay on Page Event.................................................................................................................291
Variables – Process and Service.......................................................................................................292
System of Record data vs Business Intelligence data..................................................................293
Creating new Data structures.......................................................................................................294
Simple Types...........................................................................................................................295
Business Object Types............................................................................................................296
List Variables...............................................................................................................................298
Setting defaults on variables........................................................................................................299
Making variables search-able......................................................................................................300
Defining and using shared objects...............................................................................................300
Process instance Global Data..................................................................................................303
BPD Variables and Service Variables - Mapping.......................................................................303
Variable identity and UUID.........................................................................................................304
Exposing Business Data for Searches..........................................................................................306
Accessing variables from JavaScript...........................................................................................307
Environment Variables................................................................................................................308
Exposed Process Values (EPVs)..................................................................................................309
Pre and Post Assignments............................................................................................................312
Variables and XML.....................................................................................................................312
Using Variables............................................................................................................................314
Page 5
6. Determining the type of a variable..............................................................................................315
The case of the mysteriously changing variables........................................................................315
User Interfaces and User Interaction................................................................................................319
Coach Views................................................................................................................................320
General Coach View settings..................................................................................................320
Positioning Coach View Settings............................................................................................321
Visibility Coach View Settings...............................................................................................322
IBM supplied stock Coach Views Controls.................................................................................323
Button......................................................................................................................................323
Checkbox................................................................................................................................324
Date Time Picker....................................................................................................................325
Decimal...................................................................................................................................326
Horizontal Section...................................................................................................................326
Image.......................................................................................................................................328
Integer.....................................................................................................................................329
Output Text.............................................................................................................................330
Radio Buttons..........................................................................................................................331
Select.......................................................................................................................................332
Select Sample 1 – Selection based on other selection........................................................334
Table........................................................................................................................................336
Tabs.........................................................................................................................................338
Text.........................................................................................................................................339
Text Area.................................................................................................................................340
Vertical Section.......................................................................................................................341
Content Box............................................................................................................................342
Custom HTML........................................................................................................................344
Styling with CSS..........................................................................................................................345
Making Left Labels.................................................................................................................348
Adding a TextBox icon...........................................................................................................350
Styling a Dojo button for BPM...............................................................................................350
Data Validation............................................................................................................................352
Responsive Web design handling................................................................................................355
Boundary Events..........................................................................................................................357
Dynamically controlling visibility based on user........................................................................357
IBM sample Coach Views...........................................................................................................358
Data Change Boundary Trigger..............................................................................................358
Data Change Boundary Trigger - Updating one list when another changes......................359
Building new Coach View types.................................................................................................359
Coach View Design Time visualization..................................................................................368
Coach View Event Handlers...................................................................................................370
Load event handler.............................................................................................................372
View event handler.............................................................................................................372
Unload event handler..........................................................................................................373
Change event handler.........................................................................................................373
Validate event handler........................................................................................................373
Coach View Context...............................................................................................................374
context.bindingType()........................................................................................................374
context.bpm.system............................................................................................................374
context.bpm.team...............................................................................................................375
context.broadcastMessage()...............................................................................................375
Page 6
7. context.cancelBoundaryEvents()........................................................................................375
context.containDiffLoopingContext()................................................................................375
context.createView(domNode, index, parentView)...........................................................375
context.deleteView(domNode)...........................................................................................375
context.element...................................................................................................................375
context.getDomNode().......................................................................................................375
context.getInheritedVisibility()..........................................................................................375
context.getSubview(viewId, requiredOrder)......................................................................375
context.htmlEscape(<string>)............................................................................................375
context.isTrustedSite().......................................................................................................375
context.parentView()..........................................................................................................375
context.refreshView().........................................................................................................376
context.setDisplay(isDisplay, domNode)...........................................................................376
context.setUniqueViewId()................................................................................................376
context.subscribeValidation().............................................................................................376
context.subview[viewId]....................................................................................................376
context.trigger(callback).....................................................................................................376
context.triggerCollaboration(payload)...............................................................................376
context.unsubscribeValidation().........................................................................................376
context.viewid....................................................................................................................376
Coach View global data..........................................................................................................377
com_ibm_bpm_global.topLevelCoachViews....................................................................377
com_ibm_bpm_global.coachView.byControlId()..............................................................377
com_ibm_bpm_global.coachView.byDomId()..................................................................377
Coach View data binding and configuration...........................................................................377
Working with Coach View list data...................................................................................380
Dis-allowed Coach Binding data types..............................................................................382
IBM supplied Coach View utility functions...........................................................................382
Custom Coach View and position data...................................................................................383
Generated HTML....................................................................................................................383
Custom JavaScript in Coach Views........................................................................................384
Using JavaScript libraries other than Dojo.............................................................................384
Using jQuery to build Coach Views...................................................................................385
Generated content in a control................................................................................................385
Making Ajax and REST requests from a Coach View...........................................................385
Navigating and access to Coach Views on a Coach page.......................................................387
Learning resources to build new Coach Views.......................................................................388
Debugging Coach Views........................................................................................................389
Coach View Construction Tips...............................................................................................392
DOM root access in a Coach View....................................................................................392
Editing JavaScript for Coach Views..................................................................................392
Adding a label....................................................................................................................393
Working with visibility......................................................................................................393
Using a Dijit Widget in a Coach View...............................................................................394
Including a custom Dijit Widget in a Coach View............................................................394
Describing a Dojo based page declaratively......................................................................396
Accessing images by CSS..................................................................................................397
Commonly used AMD loaders...........................................................................................398
Sample Coach Views..............................................................................................................398
Sample Coach View – trivial "hello world".......................................................................398
Page 7
8. Sample Coach View – Data Change Boundary Trigger.....................................................400
Coach View Templates...........................................................................................................402
Dashboard Coach Views..............................................................................................................402
Batch Modify Dialog Control.................................................................................................403
Breadcrumb Control................................................................................................................404
Category Selection Control.....................................................................................................404
Chart Control...........................................................................................................................405
Chart with Time Selector Control...........................................................................................412
Dashboard Layout template....................................................................................................414
Data Control............................................................................................................................414
Data Section Control...............................................................................................................415
Dialog Control.........................................................................................................................416
Default Instance Details template...........................................................................................417
Floating Layout Control..........................................................................................................417
Follow Button Control............................................................................................................418
Gantt Chart Instance Details Control......................................................................................418
Gantt Chart Process Overview Control...................................................................................420
Icon Button Control................................................................................................................421
Instance Activities List Control..............................................................................................421
Instance Activities Section Control.........................................................................................422
Instance Details UI Service template......................................................................................423
Instance List Control...............................................................................................................424
Instance Summary Section Control.........................................................................................425
Navigation Controller Control................................................................................................425
Process Diagram Control........................................................................................................425
Process Due Date Control.......................................................................................................427
Process Instances List Control................................................................................................427
Process Summary Control.......................................................................................................428
Refresh Button Control...........................................................................................................429
Search Control.........................................................................................................................429
Service Controller Control......................................................................................................429
Split-Panes Section Control....................................................................................................430
Stream Control........................................................................................................................430
Task List Control....................................................................................................................430
Tasks Due Control..................................................................................................................433
Team Roster Control...............................................................................................................433
Team Summary Control..........................................................................................................435
Text Filter Control..................................................................................................................435
Two-Column Section Control.................................................................................................436
Zoom Control..........................................................................................................................436
Exposing a Human Service as a portlet.......................................................................................436
Page Flow/ Screen Flow Solutions..............................................................................................438
Screen Flow using BPD..........................................................................................................439
User Interface fragments..............................................................................................................439
Embedding another HTML page............................................................................................440
Error Handling..................................................................................................................................440
Error Handling in JavaScript.......................................................................................................442
BPD Events......................................................................................................................................443
Undercover Agents (UCAs).............................................................................................................444
Event Initiated UCAs...................................................................................................................445
Page 8
9. Schedule initiated UCAs..............................................................................................................447
UCAs and queued events.............................................................................................................449
Disabling UCA processing..........................................................................................................449
UCAs and Toolkits......................................................................................................................449
Token Management..........................................................................................................................450
Security.............................................................................................................................................455
Security Groups...........................................................................................................................455
Teams...........................................................................................................................................457
Securing Access to the repository................................................................................................461
Securing development of a Process Application.........................................................................462
Securing the ability to start an application...................................................................................464
Securing ability to work with tasks (Human Services)................................................................464
Securing Process Portal capabilities............................................................................................464
Securing access to publish Integration Designer projects...........................................................467
Lightweight Directory Access Protocol - LDAP.........................................................................468
Tivoli Directory Server...........................................................................................................468
Apache Directory Server.........................................................................................................473
Installation of Apache Directory Server.............................................................................473
Apache Directory Server Studio.............................................................................................476
Installation of Apache Directory Studio.............................................................................476
Installation of Apache Directory Server Studio Eclipse Plugins.......................................479
Installation of JXplorer...........................................................................................................484
Getting locked out of WAS.....................................................................................................486
Configuring WAS for LDAP..................................................................................................486
Adding Users......................................................................................................................491
Adding groups....................................................................................................................495
Debugging WAS LDAP.....................................................................................................495
Configuring LDAP for IBPM.................................................................................................496
Debugging LDAP...................................................................................................................496
Importing Browser Certificates...................................................................................................497
Security and browser sessions.....................................................................................................502
User Attribute Definitions................................................................................................................505
Process Admin Console....................................................................................................................508
Process Admin - IBM BPM Admin.............................................................................................509
Task Cleanup...........................................................................................................................510
Process Admin - User Management............................................................................................510
Group Management.................................................................................................................512
Bulk User Attribute Assignment.............................................................................................512
Process Admin - Monitoring.......................................................................................................514
Process Admin - Event Manager.................................................................................................514
Event Manager > Monitor.......................................................................................................514
Event Manager > Blackout Periods........................................................................................514
Event Manager > Synchronous Queues..................................................................................515
Event Manager > Event Managed JMS Error Queue.............................................................515
Admin Tools > Manage EPVs................................................................................................515
Process Admin – Saved Search Admin.......................................................................................517
Process Admin – Process Inspector.............................................................................................518
Process Admin - Installed Apps...................................................................................................520
Customizing the Process Admin Console....................................................................................520
Process Portal...................................................................................................................................522
Page 9
10. Process Portal – My Tasks...........................................................................................................525
Process Portal – Saved Searches..................................................................................................531
Starting Ad-Hoc entry points.......................................................................................................532
In-line Tasks in process portal.....................................................................................................533
Team Performance.......................................................................................................................534
Team Tasks.............................................................................................................................535
Process Performance....................................................................................................................536
Quick Stats..............................................................................................................................537
Turnover Rate.........................................................................................................................537
Average Duration....................................................................................................................538
Instances In Progress...............................................................................................................538
Diagram View.........................................................................................................................539
Gantt View..............................................................................................................................539
Set Path View..........................................................................................................................540
Searching in Process Portal..........................................................................................................540
The data used to populate the Process Performance dashboard..................................................541
Creating new pages in Process Portal..........................................................................................541
Push next task to the user........................................................................................................542
Customizing Process Portal look and feel...................................................................................542
Customizing the login screen..................................................................................................545
Versioning Solutions........................................................................................................................547
Snapshots.....................................................................................................................................547
Managing Snapshots...............................................................................................................548
BPMDeleteSnapshot..........................................................................................................548
BPMSnapshotCleanup........................................................................................................548
BPMShowProcessApplication...........................................................................................549
Migration of in-flight BPMN process instances..........................................................................550
BPD Integrations..............................................................................................................................555
Outbound Web Services..............................................................................................................555
Setting up security for outbound Web Services......................................................................563
Inbound Web Services.................................................................................................................563
Testing an Inbound Web Service with soapUI.......................................................................566
Invoking a BPD exposed as a Web Service............................................................................569
Invoking an IBPM Web Service from a Java POJO...............................................................570
Web Services and data types...................................................................................................573
Simple Data Type...............................................................................................................573
Complex Data Type............................................................................................................574
Nested Complex Data Type...............................................................................................576
Array of Complex Data Type.............................................................................................577
Java Message Service – JMS.......................................................................................................583
JMS – Sending and receiving from queues.............................................................................583
JMS – Triggering a UCA........................................................................................................585
JMS Client Tools....................................................................................................................587
Hermes JMS.......................................................................................................................593
WebSphere Default Messaging...............................................................................................601
REST Integration.........................................................................................................................602
The REST Functions...............................................................................................................603
Handling REST errors.............................................................................................................605
The REST API Tester.............................................................................................................605
Working with REST Search Queries......................................................................................608
Page 10
11. Working with REST Task Instance Queries......................................................................613
Working with REST Task Instances.......................................................................................615
Getting Task and Instance details through REST..............................................................615
Getting a template for a task...............................................................................................618
Finishing a Task.................................................................................................................619
Starting a Task....................................................................................................................619
Claiming a task...................................................................................................................620
Re-assigning a task.............................................................................................................621
Getting Task variable values..............................................................................................621
Setting Task variable values...............................................................................................622
Getting the client details of a task......................................................................................622
Working with REST Processes...............................................................................................622
Starting a process from REST............................................................................................622
Getting details of a process instance using REST..............................................................623
Getting details of a process model from REST..................................................................625
Starting a UCA from REST................................................................................................625
Moving a token within a process using REST...................................................................626
Retrying a failed instance...................................................................................................626
Executing JavaScript in the context of a process from a REST request............................627
Listing and starting Ad-Hoc Events from REST (pre-8.5.5).............................................627
Working with REST Adhoc activities....................................................................................627
Listing Adhoc activities......................................................................................................627
Available actions for ad hoc activities...............................................................................628
Starting an ad hoc activity..................................................................................................629
Working with REST Services.................................................................................................629
Starting a service from REST.............................................................................................629
Getting data from a Service................................................................................................630
Setting data into a Service..................................................................................................631
Getting a Service Model using REST................................................................................631
Working with Exposed Items..................................................................................................633
Getting Exposed Processes.................................................................................................633
Working with REST Users and Groups..................................................................................634
Working with Process Apps....................................................................................................635
Working with REST and heritage process document attachments.........................................636
Heritage - Adding a document to a process instance using REST.....................................636
Heritage – Getting a list of attached documents.................................................................637
Working with REST Asset Lists.............................................................................................637
Getting Project branchIds and Snapshots...........................................................................639
Getting Business Object definitions...................................................................................639
Working with REST performance queries..............................................................................640
Working with REST retrieved diagrams.................................................................................641
Process Visual Model.........................................................................................................641
Calling REST from Java.........................................................................................................649
REST encoded UUIDs/GUIDs...............................................................................................650
REST input and output data types...........................................................................................651
REST Security.........................................................................................................................652
Database Integration....................................................................................................................654
Integration with supplied DB connectors................................................................................654
Using LiveConnect and JDBC................................................................................................656
Example – Selecting rows from a table..................................................................................657
Page 11
12. Security with Database Interaction.........................................................................................657
JDBC definitions needed to access databases.........................................................................657
Service to Insert a row............................................................................................................658
Service to Delete a row...........................................................................................................658
Service to Update a row..........................................................................................................659
Calling stored procedures........................................................................................................659
Mapping IBM BPM Data types to DB data types..................................................................660
Dates/times.........................................................................................................................661
Java Integration............................................................................................................................661
Java source level Debugging...................................................................................................666
eMail............................................................................................................................................669
Sending an email.....................................................................................................................669
Receiving an email..................................................................................................................670
Send an email and receive a response.....................................................................................672
Sending an email which includes response buttons................................................................674
Installing hMailServer as a test EMail provider.....................................................................678
WPS and SCA..............................................................................................................................686
Asynchronous Invocation of an SCA Module........................................................................686
Process Scheduling with Job Scheduler...........................................................................................693
The nature of a IBPM Job............................................................................................................693
The Job Scheduler Java API........................................................................................................693
An illustrative solution.................................................................................................................693
Debugging........................................................................................................................................708
Debugging with Inspector............................................................................................................708
Debugging the environment.........................................................................................................714
Browser tabs and Process Inspector.............................................................................................714
Logging........................................................................................................................................715
Tracing Web Service SOAP traffic.............................................................................................716
Working with IBM Defect Support.............................................................................................717
Raising defects with IBM............................................................................................................717
Development.....................................................................................................................................718
Sharing projects with others........................................................................................................718
Naming conventions and recommendations................................................................................718
Documentation.............................................................................................................................719
Operations.........................................................................................................................................721
Configuration Files......................................................................................................................721
Networking..................................................................................................................................722
WAS Server.................................................................................................................................722
Stopping the server..................................................................................................................722
Windows Services...................................................................................................................722
Port Numbers..........................................................................................................................722
WAS Admin Console..............................................................................................................722
JDBC Resources.....................................................................................................................723
WAS Security.........................................................................................................................723
The wsadmin command..........................................................................................................723
Java programming for admin commands...........................................................................723
Java Client programming for admin commands................................................................724
BPM AdminCommands.....................................................................................................725
JMX Programming..................................................................................................................725
Changing Passwords....................................................................................................................725
Page 12
13. Operational Databases.................................................................................................................726
Process Server Database.........................................................................................................726
Performance Data Warehouse Database.................................................................................726
Defining custom databases......................................................................................................726
SI Bus Resources.........................................................................................................................730
Cleaning/removing completed processes.....................................................................................731
Adding and removing Process Servers from Process Center......................................................733
Deployment of applications to servers.........................................................................................734
Offline Application Deployment............................................................................................734
Un-Deployment of applications from servers.........................................................................738
Governance of deployment.....................................................................................................738
Governance – Install Snapshot...........................................................................................741
Governance – Cancel Snapshot Installation.......................................................................741
Governance – Get All Process Servers...............................................................................741
Governance – Set Installation Status..................................................................................741
Governance – Get Installation Status.................................................................................742
Applying Governance to a Process App to be governed....................................................742
Snapshot change notification..............................................................................................743
Modification of Process Instance data.........................................................................................743
Web Servers and Load Balancing................................................................................................744
Performance.................................................................................................................................745
The Event Manager - Tuning attributes..................................................................................745
Monitoring using the Process Admin Console.......................................................................746
Process Admin Console – Monitoring > Instrumentation..................................................747
Process Admin Console – Monitoring > Process Monitor.................................................748
DB2 Database Performance....................................................................................................750
Monitoring DB2......................................................................................................................750
Useful scripts and tools................................................................................................................752
Viewing database table contents.............................................................................................752
Recovery options.........................................................................................................................754
JavaScript in IBPM...........................................................................................................................755
Editing JavaScript........................................................................................................................755
IBPM JavaScript name spaces.....................................................................................................755
Reusing JavaScript.......................................................................................................................756
BPD Data Types..........................................................................................................................756
Data Type – ActivitySummary...............................................................................................756
Data Type – BusinessData......................................................................................................756
Data Type – ConditionalActivity............................................................................................756
Data Type – Map.....................................................................................................................757
Data Type – NameValuePair..................................................................................................757
Data Type – PathStep..............................................................................................................758
Data Type – ProcessSummary................................................................................................758
Data Type – Record................................................................................................................759
Data Type – SQLResult..........................................................................................................760
Data Type – String..................................................................................................................761
Data Type – TaskListData......................................................................................................761
Data Type – TaskListItem.......................................................................................................762
Data Type – TaskListInteactionFilter.....................................................................................763
Data Type – TaskListProperties..............................................................................................763
Data Type – Team...................................................................................................................764
Page 13
14. Data Type – TeamDashboardSupport.....................................................................................764
Data Type – TWAdhocStartingPoint......................................................................................764
Data Type – TWDate..............................................................................................................765
Data Type – TWDocument.....................................................................................................767
Data Type – TWHolidaySchedule..........................................................................................768
Data Type – TWLink..............................................................................................................769
Data Type – TWManagedFile.................................................................................................769
Data Type – TWModelNamespace.........................................................................................770
Data Type – TWObject...........................................................................................................770
Data Type – TWParticipantGroup..........................................................................................771
Data Type – TWProcess.........................................................................................................772
Data Type – TWProcessApp...................................................................................................772
Data Type – TWProcessAppSnapshot....................................................................................773
Data Type – TWProcessInstance............................................................................................774
Data Type – TWProcessPerformanceMetric..........................................................................775
Data Type – TWReport...........................................................................................................776
Data Type – TWRole..............................................................................................................776
Data Type – TWSearchColumn..............................................................................................777
Data Type – TWSearchColumnMetaData..............................................................................779
Data Type – TWSearchCondition...........................................................................................779
Data Type – TWSearchOptions..............................................................................................780
Data Type – TWSearchResults...............................................................................................780
Data Type – TWSearchResultRow.........................................................................................780
Data Type – TWService..........................................................................................................780
Data Type – TWServiceTypes................................................................................................781
Data Type – TWStep...............................................................................................................781
Data Type – TWTask..............................................................................................................782
Data Type – TWTeam.............................................................................................................783
Data Type – TWTimePeriod...................................................................................................784
Data Type – TWTimeSchedule...............................................................................................785
Data Type – TWTimerInstance...............................................................................................786
Data Type – TWUser..............................................................................................................787
Data Type – XMLDocument..................................................................................................787
Data Type – XMLElement......................................................................................................788
Data Type – XMLNodeList....................................................................................................789
JavaScript Libraries.....................................................................................................................789
JavaScript package - tw.system.*...........................................................................................789
Method: executeServiceByName(name, inputValues)......................................................791
Method: tw.system.retrieveTaskList()...............................................................................791
JavaScript Package - tw.system.step.*....................................................................................792
JavaScript Package - tw.system.org.*.....................................................................................792
JavaScript Package - tw.system.model.*................................................................................793
Getting a list of Process Apps............................................................................................793
JavaScript Package - tw.object.*.............................................................................................794
JavaScript Package - tw.system.model...................................................................................794
Creating Business Object instances in JavaScript.......................................................................797
Variables in a service...................................................................................................................797
The Dojo Toolkit for JavaScript..................................................................................................797
Searching for processes and tasks from JavaScript.....................................................................798
Calling Java through LiveScript..................................................................................................801
Page 14
15. Working with XML in JavaScript...............................................................................................801
Working with document attachments in JavaScript....................................................................802
Working with JSON in IBPM......................................................................................................803
JavaScript Fragments...................................................................................................................804
Starting a new process.............................................................................................................805
Getting the current process instance.......................................................................................805
Getting the current userid........................................................................................................805
Starting an external application...............................................................................................805
Returning the owner of a task.................................................................................................805
Extracting a managed file.......................................................................................................806
Generating a Random Number or string.................................................................................806
Key Performance Indicators (KPIs).................................................................................................807
Custom KPIs................................................................................................................................807
Associating KPIs with BPD activities.........................................................................................809
Service Level Agreements (SLAs)...................................................................................................809
Creating SLAs..............................................................................................................................810
Dash-boarding..................................................................................................................................813
Architecture.................................................................................................................................813
Tracking data...............................................................................................................................813
Tracking Groups Overview.....................................................................................................817
Database Structure for a Tracking Group...............................................................................819
Database Structure for TRACKINGGROUPS view..............................................................820
Database Structure for TRACKINGPOINTS view................................................................820
Database Structure for TASKS view......................................................................................820
Database Structure for PROCESSFLOWS view....................................................................821
Miscellaneous Tracking Data Notes............................................................................................822
Removing tracking data tables................................................................................................822
Minimizing Tracking Group entries.......................................................................................823
Timing Intervals...........................................................................................................................823
Performance Data Warehouse (PDW) SQL Snippets.............................................................826
How many have started but not finished (in progress).......................................................826
Number of items of different types/day.............................................................................827
Getting the last state of a process.......................................................................................828
Breakdown of how many in which step.............................................................................828
Last Auto-tracked row........................................................................................................829
Calculating duration from two timestamps........................................................................829
Counts of processes started vs completed over an interval................................................829
General DB/SQL useful functions for reports........................................................................830
Date formatting...................................................................................................................830
Mapping BPM date types to DB TIMESTAMP types.......................................................830
Number of items in the current week.................................................................................830
Counting when a column equals a value............................................................................830
Selecting records within a date range.................................................................................830
Reporting with Microsoft Excel..............................................................................................830
Developing Custom Dash-boards................................................................................................831
A Sample Dashboard..............................................................................................................831
Generating sample data................................................................................................................835
Simulation and Optimization............................................................................................................836
Defining simulation values..........................................................................................................836
Fixed distribution type............................................................................................................837
Page 15
16. Uniform distribution type........................................................................................................837
Normal distribution type.........................................................................................................838
Gateways and simulation........................................................................................................838
Arrival rate of simulation items...................................................................................................839
Simulating the cost of execution..................................................................................................839
Available staff members for tasks...............................................................................................840
Simulation Analysis Scenarios....................................................................................................841
Simulation Profiles......................................................................................................................842
Running Simulations....................................................................................................................843
Optimizing a Process...................................................................................................................846
Simulation Tutorials....................................................................................................................849
Experiment 1 – A basic start...................................................................................................849
Experiment 2...........................................................................................................................852
Experiment 3...........................................................................................................................853
Experiment 4 – Path analysis..................................................................................................855
System Data Toolkit.........................................................................................................................857
IBM Supplied Business Process Definitions...............................................................................857
Send SLA Violation Email.....................................................................................................857
IBM Supplied General System Services......................................................................................857
Default BPD Event..................................................................................................................857
Default System Service...........................................................................................................857
Extract XML Validation Results.............................................................................................857
IBM Supplied Historical Analysis Scenarios..............................................................................857
IBM Supplied Human Services...................................................................................................857
Default Human Service...........................................................................................................857
lsw Conditional Activity Selection Coach..............................................................................858
Fire Default BPD Event..........................................................................................................859
IBM Supplied Integration Services..............................................................................................859
Read Text File.........................................................................................................................860
Send E-mail via SMTP...........................................................................................................860
SLA Send Alert Email............................................................................................................860
SQL*.......................................................................................................................................860
Update ALL SLA Statuses......................................................................................................860
Update SLA Status..................................................................................................................860
Write Text File........................................................................................................................860
IBM Supplied KPIs......................................................................................................................861
IBM Supplied Layouts.................................................................................................................861
IBM Supplied Participant Groups................................................................................................861
IBM Supplied Server Files..........................................................................................................861
Integration.jar..........................................................................................................................861
IBM Supplied Tracking Groups..................................................................................................861
IBM Supplied Undercover Agents..............................................................................................861
IBM Supplied User Attribute Definitions....................................................................................861
IBM Supplied Variable Types.....................................................................................................861
Cookbook Scenarios.........................................................................................................................862
Scenario - Asynchronously starting one process from another...................................................862
Scenario – Making a process extensible by others......................................................................863
Scenario – Starting a process from an external browser..............................................................863
Blueworks Live................................................................................................................................866
Creating a Space..........................................................................................................................867
Page 16