Kolbans ibpm-book-2014-09

1605
September 2014 Never memorize what you can look up in books. - Albert Einstein Page 1

Transcript of Kolbans ibpm-book-2014-09

  • September 2014

    Never memorize what you can look up in books. - Albert Einstein

    Page 1

  • Table of ContentsAbout this book .................................................................................................................................32Book Release History.........................................................................................................................33What is Business Process Management?............................................................................................35Overview of IBM Business Process Manager....................................................................................35

    History of IBM Business Process Manager...................................................................................35IBPM Usage...................................................................................................................................36Modeling a process........................................................................................................................37Integrating with IT Systems...........................................................................................................37

    Architecture........................................................................................................................................37Process Applications......................................................................................................................37

    Process Instances.......................................................................................................................39Archiving Process Applications................................................................................................39Process Applications state management...................................................................................40Changing Process Application settings.....................................................................................40

    Toolkits..........................................................................................................................................41Tasks..............................................................................................................................................43

    Task Priority..............................................................................................................................44IBPM Components........................................................................................................................44Component Process Server.........................................................................................................44Component Process Center.........................................................................................................45

    Starting Process Center.............................................................................................................48Component Process Designer.....................................................................................................48

    Play back sessions.....................................................................................................................49Starting IBPM Process Designer...............................................................................................49Working in the Designer view..................................................................................................53Working with the Library.........................................................................................................54Adding managed files...............................................................................................................56Tagging.....................................................................................................................................58Smart Folders............................................................................................................................61Validation errors.......................................................................................................................63Working as part of a team.........................................................................................................64

    Component Web Process Designer.............................................................................................66Component Performance Data Warehouse.................................................................................67Component Process Center Console...........................................................................................67Component Process Portal..........................................................................................................67Component Process Admin Console..........................................................................................67

    IBPM Knowledge...............................................................................................................................68Product Documentation.................................................................................................................68Web Sites.......................................................................................................................................68Public Forums................................................................................................................................68IBM RedBooks..............................................................................................................................69IBM Community............................................................................................................................69developerWorks on IBM BPM......................................................................................................69TechNotes......................................................................................................................................71Requirements and Enhancements..................................................................................................73

    Product Installation and Configuration..............................................................................................75Part Numbers.................................................................................................................................75Prerequisites...................................................................................................................................76

    Page 2

  • Installing Integration Designer......................................................................................................76Installing Business Process Manager Advanced in typical mode..................................................83Performing a custom Install of Process Manager Advanced.........................................................89Using BPMConfig to create servers............................................................................................111

    Editing the BPMConfig properties file graphically................................................................112Generating ONLY the DDL using BPMConfig..........................................................................114Using the PMT to create servers..................................................................................................114Using the command line to create server profiles........................................................................133Installing to (DBA) managed databases......................................................................................135

    DB2.........................................................................................................................................135MSSQL...................................................................................................................................137Common for all Databases......................................................................................................140

    Installing Process Designer..........................................................................................................142Starting BPM...............................................................................................................................147Stopping BPM..............................................................................................................................147Resetting the databases................................................................................................................148Un-configuring BPM...................................................................................................................148Hiding the sample applications....................................................................................................148Frequently Asked installation Installation Questions..................................................................149

    Business Process Definition - BPDs.................................................................................................150Pools and Lanes...........................................................................................................................153Sequence Lines............................................................................................................................155BPD Overview settings................................................................................................................158

    Exposing the Process..............................................................................................................158Process Instance Name............................................................................................................159

    BPD Views Settings.....................................................................................................................159Activities......................................................................................................................................159

    Activity Appearance in the BPD diagram...............................................................................163Data Mapping..........................................................................................................................163Conditional Activities.............................................................................................................164Activity Behavior....................................................................................................................165

    Start Event....................................................................................................................................172End Event.....................................................................................................................................173Message Start Event.....................................................................................................................173Content Start Event......................................................................................................................174User Task.....................................................................................................................................175

    Automatic Flow.......................................................................................................................177Assigning Activities Mapping staff to work........................................................................178

    Re-Assigning Tasks and changing group members...........................................................181Assignment Examples........................................................................................................181The Four Eyes Example.....................................................................................................181Assigning a task to a named user.......................................................................................182Assignment based on user attribute....................................................................................182

    Timer Events................................................................................................................................183Tracking Intermediate Event.......................................................................................................186Ad-hoc Start Event.......................................................................................................................186Message Intermediate Event........................................................................................................187Message End Event......................................................................................................................191Terminate Event...........................................................................................................................191Error Intermediate Event.............................................................................................................191

    Page 3

  • Error End Event...........................................................................................................................193Gateways, Conditionals and Joins...............................................................................................193Modeling sub-processes...............................................................................................................199Modeling Linked Processes.........................................................................................................200Modeling Event Sub-processes....................................................................................................200Script Activities...........................................................................................................................202External Implementation..............................................................................................................203

    Completing an External Implementation REST API...........................................................205Completing an External Implementation Web Service API................................................207

    Application Loops........................................................................................................................210Simple Looping.......................................................................................................................210Multi-Instance Looping...........................................................................................................211

    Looping through a map data type.......................................................................................213BPD Diagram Notes....................................................................................................................213Due dates for process and activities.............................................................................................214

    Time and Holiday Schedules..................................................................................................214Generating Reports......................................................................................................................215BPD and BPMN...........................................................................................................................216

    Concept of a Token.................................................................................................................216Deviations from BPMN..........................................................................................................217

    BPD Flow Control.......................................................................................................................218Rework a set of steps..............................................................................................................219

    Case Management............................................................................................................................221Case Activities.............................................................................................................................222

    No precondition event.............................................................................................................226A document is filed in the case...............................................................................................226A case property or variable is updated....................................................................................226A precondition expression is met............................................................................................227

    Case Variables.............................................................................................................................227Services.............................................................................................................................................231

    Caching the results of a service...................................................................................................233Human Service.............................................................................................................................234

    Exposing the Human Service for starting...............................................................................234Canceling outstanding Human Tasks......................................................................................236Informing a user that their task has been canceled.................................................................238Timing out a Human Service..................................................................................................239Escalating a Human Task........................................................................................................239Notifying a user that a task is ready for work.........................................................................241Semantics of closing a browser window.................................................................................242

    Human Service (Client Side).......................................................................................................243Scripting in Client Side Human Services................................................................................245Saving state in a Client Side Human Service..........................................................................246End Event Navigation.............................................................................................................246Differences between Heritage and Client Side Human Services............................................247

    Ajax Service.................................................................................................................................247Integration Service.......................................................................................................................253Advanced Integration Service......................................................................................................253General System Service...............................................................................................................254Decision Service..........................................................................................................................254

    Business Action Language (BAL) Rule..................................................................................256

    Page 4

  • Decision Table........................................................................................................................257Integrating with WODM.........................................................................................................259

    Service Components....................................................................................................................259Coaches...................................................................................................................................261Server Scripts..........................................................................................................................261Server Scriptlet........................................................................................................................262Modify Task............................................................................................................................262Postpone Task.........................................................................................................................263Decision Gateway...................................................................................................................264End Event................................................................................................................................264Note.........................................................................................................................................264Error End Event......................................................................................................................265Error Intermediate Event.........................................................................................................265Invoke UCA............................................................................................................................266Catch Exception......................................................................................................................266Intermediate Tracking Event...................................................................................................267Stay On Page Event.................................................................................................................267Nested Service.........................................................................................................................267Send Alert...............................................................................................................................268Web Service Integration..........................................................................................................269Java Integration.......................................................................................................................271Stay on Page Event.................................................................................................................271

    Variables Process and Service.......................................................................................................272System of Record data vs Business Intelligence data..................................................................273Creating new Data structures.......................................................................................................274

    Simple Types...........................................................................................................................275Business Object Types............................................................................................................276

    List Variables...............................................................................................................................278Setting defaults on variables........................................................................................................279Making variables search-able......................................................................................................280Defining and using shared objects...............................................................................................280BPD Variables and Service Variables - Mapping.......................................................................283Variable identity and UUID.........................................................................................................284Exposing Business Data for Searches..........................................................................................286Accessing variables from JavaScript...........................................................................................287Environment Variables................................................................................................................288Exposed Process Values (EPVs)..................................................................................................289Pre and Post Assignments............................................................................................................292Variables and XML.....................................................................................................................292Using Variables............................................................................................................................294Determining the type of a variable..............................................................................................295The case of the mysteriously changing variables........................................................................295

    User Interfaces and User Interaction................................................................................................300Coach Views................................................................................................................................301

    General Coach View settings..................................................................................................301Positioning Coach View Settings............................................................................................302Visibility Coach View Settings...............................................................................................303

    IBM supplied stock Coach Views Controls.................................................................................304Button......................................................................................................................................304Checkbox................................................................................................................................305

    Page 5

  • Date Time Picker....................................................................................................................306Decimal...................................................................................................................................307Horizontal Section...................................................................................................................308Image.......................................................................................................................................309Integer.....................................................................................................................................310Output Text.............................................................................................................................312Radio Buttons..........................................................................................................................312Select.......................................................................................................................................313

    Select Sample 1 Selection based on other selection........................................................315Table........................................................................................................................................317Tabs.........................................................................................................................................319Text.........................................................................................................................................320Text Area.................................................................................................................................321Vertical Section.......................................................................................................................322Content Box............................................................................................................................323Custom HTML........................................................................................................................325

    Styling with CSS..........................................................................................................................326Making Left Labels.................................................................................................................329Adding a TextBox icon...........................................................................................................331Styling a Dojo button for BPM...............................................................................................331

    Data Validation............................................................................................................................333Responsive Web design handling................................................................................................336Boundary Events..........................................................................................................................338Dynamically controlling visibility based on user........................................................................338IBM sample Coach Views...........................................................................................................339

    Data Change Boundary Trigger..............................................................................................339Data Change Boundary Trigger - Updating one list when another changes......................340

    Building new Coach View types.................................................................................................340Coach View Design Time visualization..................................................................................349Coach View Event Handlers...................................................................................................351

    Load event handler.............................................................................................................353View event handler.............................................................................................................353Unload event handler..........................................................................................................353Change event handler.........................................................................................................354Validate event handler........................................................................................................354

    Coach View Context...............................................................................................................355context.bindingType()........................................................................................................355context.bpm.system............................................................................................................355context.bpm.team...............................................................................................................355context.broadcastMessage()...............................................................................................356context.cancelBoundaryEvents()........................................................................................356context.containDiffLoopingContext()................................................................................356context.createView(domNode, index, parentView)...........................................................356context.deleteView(domNode)...........................................................................................356context.element...................................................................................................................356context.getDomNode().......................................................................................................356context.getInheritedVisibility()..........................................................................................356context.getSubview(viewId, requiredOrder)......................................................................356context.htmlEscape()............................................................................................356context.isTrustedSite().......................................................................................................356

    Page 6

  • context.parentView()..........................................................................................................356context.refreshView().........................................................................................................356context.setDisplay(isDisplay, domNode)...........................................................................356context.setUniqueViewId()................................................................................................357context.subscribeValidation().............................................................................................357context.subview[viewId]....................................................................................................357context.trigger(callback).....................................................................................................357context.triggerCollaboration(payload)...............................................................................357context.unsubscribeValidation().........................................................................................357context.viewid....................................................................................................................357

    Coach View global data..........................................................................................................358com_ibm_bpm_global.topLevelCoachViews....................................................................358com_ibm_bpm_global.coachView.byControlId()..............................................................358com_ibm_bpm_global.coachView.byDomId()..................................................................358

    Coach View data binding and configuration...........................................................................358Working with Coach View list data...................................................................................361Dis-allowed Coach Binding data types..............................................................................363

    IBM supplied Coach View utility functions...........................................................................363Custom Coach View and position data...................................................................................363Generated HTML....................................................................................................................364Custom JavaScript in Coach Views........................................................................................365Using JavaScript libraries other than Dojo.............................................................................365

    Using jQuery to build Coach Views...................................................................................365Generated content in a control................................................................................................366Making Ajax and REST requests from a Coach View...........................................................366Navigating and access to Coach Views on a Coach page.......................................................368Learning resources to build new Coach Views.......................................................................369Debugging Coach Views........................................................................................................370Coach View Construction Tips...............................................................................................373

    DOM root access in a Coach View....................................................................................373Editing JavaScript for Coach Views..................................................................................373Adding a label....................................................................................................................374Working with visibility......................................................................................................374Using a Dijit Widget in a Coach View...............................................................................375Including a custom Dijit Widget in a Coach View............................................................375Describing a Dojo based page declaratively......................................................................377Accessing images by CSS..................................................................................................378Commonly used AMD loaders...........................................................................................379

    Sample Coach Views..............................................................................................................379Sample Coach View trivial "hello world".......................................................................379Sample Coach View Data Change Boundary Trigger.....................................................381

    Coach View Templates...........................................................................................................383Dashboard Coach Views..............................................................................................................383

    Batch Modify Dialog Control.................................................................................................384Breadcrumb Control................................................................................................................385Category Selection Control.....................................................................................................385Chart Control...........................................................................................................................385Chart with Time Selector Control...........................................................................................392Dashboard Layout template....................................................................................................394Data Control............................................................................................................................394

    Page 7

  • Data Section Control...............................................................................................................394Dialog Control.........................................................................................................................394Default Instance Details template...........................................................................................395Floating Layout Control..........................................................................................................395Follow Button Control............................................................................................................395Gantt Chart Instance Details Control......................................................................................395Gantt Chart Process Overview Control...................................................................................397Icon Button Control................................................................................................................398Instance Activities List Control..............................................................................................398Instance Activities Section Control.........................................................................................398Instance Details UI Service template......................................................................................398Instance List Control...............................................................................................................398Instance Summary Section Control.........................................................................................398Navigation Controller Control................................................................................................398Process Diagram Control........................................................................................................398Process Due Date Control.......................................................................................................400Process Instances List Control................................................................................................400Process Summary Control.......................................................................................................401Refresh Button Control...........................................................................................................402Search Control.........................................................................................................................402Service Controller Control......................................................................................................403Split-Panes Section Control....................................................................................................403Stream Control........................................................................................................................403Task List Control....................................................................................................................403Tasks Due Control..................................................................................................................406Team Roster Control...............................................................................................................406Team Summary Control..........................................................................................................408Text Filter Control..................................................................................................................408Two-Column Section Control.................................................................................................409Zoom Control..........................................................................................................................409

    Exposing a Human Service as a portlet.......................................................................................409Page Flow/ Screen Flow Solutions..............................................................................................411

    Screen Flow using BPD..........................................................................................................412User Interface fragments..............................................................................................................412

    Embedding another HTML page............................................................................................413Error Handling..................................................................................................................................413

    Error Handling in JavaScript.......................................................................................................415BPD Events......................................................................................................................................416Undercover Agents (UCAs).............................................................................................................417

    Event Initiated UCAs...................................................................................................................418Schedule initiated UCAs..............................................................................................................420UCAs and queued events.............................................................................................................421Disabling UCA processing..........................................................................................................421UCAs and Toolkits......................................................................................................................421

    Token Management..........................................................................................................................423Security.............................................................................................................................................428

    Security Groups...........................................................................................................................428Teams...........................................................................................................................................430Securing Access to the repository................................................................................................434Securing development of a Process Application.........................................................................434

    Page 8

  • Securing the ability to start an application...................................................................................437Securing ability to work with tasks (Human Services)................................................................437Securing Process Portal capabilities............................................................................................437Securing access to publish Integration Designer projects...........................................................440Lightweight Directory Access Protocol - LDAP.........................................................................441

    Tivoli Directory Server...........................................................................................................441Apache Directory Server.........................................................................................................446

    Installation of Apache Directory Server.............................................................................446Apache Directory Server Studio.............................................................................................451

    Installation of Apache Directory Studio.............................................................................451Installation of Apache Directory Server Studio Eclipse Plugins.......................................453

    Installation of JXplorer...........................................................................................................458Getting locked out of WAS.....................................................................................................460Configuring WAS for LDAP..................................................................................................460Configuring LDAP for IBPM.................................................................................................464Debugging LDAP...................................................................................................................465

    Security and browser sessions.....................................................................................................465User Attribute Definitions................................................................................................................468Process Admin Console....................................................................................................................471

    Process Admin - IBM BPM Admin.............................................................................................472Task Cleanup...........................................................................................................................473

    Process Admin - User Management............................................................................................473Group Management.................................................................................................................475Bulk User Attribute Assignment.............................................................................................475

    Process Admin - Monitoring.......................................................................................................477Process Admin - Event Manager.................................................................................................477

    Event Manager > Monitor.......................................................................................................477Event Manager > Blackout Periods........................................................................................477Event Manager > Synchronous Queues..................................................................................478Event Manager > Event Managed JMS Error Queue.............................................................478Admin Tools > Manage EPVs................................................................................................478

    Process Admin Saved Search Admin.......................................................................................480Process Admin Process Inspector.............................................................................................481Process Admin - Installed Apps...................................................................................................483Customizing the Process Admin Console....................................................................................483

    Process Portal...................................................................................................................................485Process Portal My Tasks...........................................................................................................488Process Portal Saved Searches..................................................................................................494Starting Ad-Hoc entry points.......................................................................................................495In-line Tasks in process portal.....................................................................................................496Team Performance.......................................................................................................................497

    Team Tasks.............................................................................................................................498Process Performance....................................................................................................................499

    Quick Stats..............................................................................................................................500Turnover Rate.........................................................................................................................500Average Duration....................................................................................................................501Instances In Progress...............................................................................................................501Diagram View.........................................................................................................................502Gantt View..............................................................................................................................502Set Path View..........................................................................................................................503

    Page 9

  • Searching in Process Portal..........................................................................................................503The data used to populate the Process Performance dashboard..................................................504Customizing Process Portal look and feel...................................................................................504

    Customizing the login screen..................................................................................................507Versioning Solutions........................................................................................................................509

    Snapshots.....................................................................................................................................509Managing Snapshots...............................................................................................................510

    BPMDeleteSnapshot..........................................................................................................510BPMSnapshotCleanup........................................................................................................510BPMShowProcessApplication...........................................................................................511

    Migration of in-flight BPMN process instances..........................................................................512BPD Integrations..............................................................................................................................517

    Outbound Web Services..............................................................................................................517Setting up security for outbound Web Services......................................................................525

    Inbound Web Services.................................................................................................................525Testing an Inbound Web Service with soapUI.......................................................................528Invoking a BPD as a Web Service..........................................................................................531Invoking an IBPM Web Service from a Java POJO...............................................................532Web Services and data types...................................................................................................535

    Simple Data Type...............................................................................................................536Complex Data Type............................................................................................................537Nested Complex Data Type...............................................................................................538Array of Complex Data Type.............................................................................................539

    Java Message Service JMS.......................................................................................................547JMS Sending and receiving from queues.............................................................................547JMS Triggering a UCA........................................................................................................549JMS Client Tools....................................................................................................................551

    Hermes JMS.......................................................................................................................557WebSphere Default Messaging...............................................................................................565

    REST Integration.........................................................................................................................566The REST Functions...............................................................................................................567Handling REST errors.............................................................................................................569The REST API Tester.............................................................................................................569Working with REST Search Queries......................................................................................572Working with REST Task Instance Queries...........................................................................576Working with REST Task Instances.......................................................................................578

    Getting Task and Instance details through REST..............................................................578Getting a template for a task...............................................................................................581Finishing a Task.................................................................................................................582Starting a Task....................................................................................................................582Claiming a task...................................................................................................................583Re-assigning a task.............................................................................................................584Getting Task variable values..............................................................................................584Setting Task variable values...............................................................................................585Getting the client details of a task......................................................................................585

    Working with REST Processes...............................................................................................585Starting a process from REST............................................................................................585Getting details of a process instance using REST..............................................................586Getting details of a process model from REST..................................................................588Starting a UCA from REST................................................................................................588

    Page 10

  • Moving a token within a process using REST...................................................................589Retrying a failed instance...................................................................................................589Listing and starting Ad-Hoc Events from REST (pre-8.5.5).............................................589

    Working with REST Adhoc activities....................................................................................589Working with REST Services.................................................................................................590

    Starting a service from REST.............................................................................................590Getting data from a Service................................................................................................591Setting data into a Service..................................................................................................592Getting a Service Model using REST................................................................................592

    Working with Exposed Items..................................................................................................595Getting Exposed Processes.................................................................................................595

    Working with REST Users and Groups..................................................................................595Working with Process Apps....................................................................................................596Working with REST and heritage process document attachments.........................................597

    Heritage - Adding a document to a process instance using REST.....................................598Heritage Getting a list of attached documents.................................................................598

    Working with REST Asset Lists.............................................................................................598Getting Project branchIds and Snapshots...........................................................................600Getting Business Object definitions...................................................................................601

    Working with REST performance queries..............................................................................601Working with REST retrieved diagrams.................................................................................602

    Process Visual Model.........................................................................................................602Executing JavaScript in the context of a process from a REST request.................................610Calling REST from Java.........................................................................................................610REST encoded UUIDs/GUIDs...............................................................................................612REST input and output data types...........................................................................................612REST Security.........................................................................................................................613

    Database Integration....................................................................................................................615Integration with supplied DB connectors................................................................................615Using LiveConnect and JDBC................................................................................................617Example Selecting rows from a table..................................................................................618Security with Database Interaction.........................................................................................618JDBC definitions needed to access databases.........................................................................618Service to Insert a row............................................................................................................619Service to Delete a row...........................................................................................................619Service to Update a row..........................................................................................................620Calling stored procedures........................................................................................................620Mapping IBM BPM Data types to DB data types..................................................................621

    Dates/times.........................................................................................................................622Java Integration............................................................................................................................622

    Java source level Debugging...................................................................................................627eMail............................................................................................................................................630

    Sending an email.....................................................................................................................630Receiving an email..................................................................................................................631Send an email and receive a response.....................................................................................633Installing hMailServer as a test EMail provider.....................................................................634

    WPS and SCA..............................................................................................................................642Asynchronous Invocation of an SCA Module........................................................................642

    Process Scheduling with Job Scheduler...........................................................................................649The nature of a IBPM Job............................................................................................................649

    Page 11

  • The Job Scheduler Java API........................................................................................................649An illustrative solution.................................................................................................................649

    Debugging........................................................................................................................................665Debugging with Inspector............................................................................................................665Debugging the environment.........................................................................................................671Browser tabs and Process Inspector.............................................................................................671Logging........................................................................................................................................672Tracing Web Service SOAP traffic.............................................................................................673Working with IBM Defect Support.............................................................................................674Raising defects with IBM............................................................................................................674

    Development.....................................................................................................................................675Sharing projects with others........................................................................................................675Naming conventions and recommendations................................................................................675Documentation.............................................................................................................................676

    Operations.........................................................................................................................................678Configuration Files......................................................................................................................678Networking..................................................................................................................................679WAS Server.................................................................................................................................679

    Stopping the server..................................................................................................................679Windows Services...................................................................................................................679Port Numbers..........................................................................................................................679WAS Admin Console..............................................................................................................679JDBC Resources.....................................................................................................................680WAS Security.........................................................................................................................680The wsadmin command..........................................................................................................680

    Java programming for admin commands...........................................................................680Java Client programming for admin commands................................................................681

    JMX Programming..................................................................................................................682Changing Passwords....................................................................................................................682File Structures..............................................................................................................................682Operational Databases.................................................................................................................682

    Process Server Database.........................................................................................................682Performance Data Warehouse Database.................................................................................683Defining custom databases......................................................................................................683

    SI Bus Resources.........................................................................................................................687Cleaning/removing completed processes.....................................................................................688Adding and removing Process Servers from Process Center......................................................690Deployment of applications to servers.........................................................................................690

    Offline Application Deployment............................................................................................690Un-Deployment of applications from servers.........................................................................694Governance of deployment.....................................................................................................695

    Governance Install Snapshot...........................................................................................697Governance Cancel Snapshot Installation.......................................................................697Governance Get All Process Servers...............................................................................697Governance Set Installation Status..................................................................................698Governance Get Installation Status.................................................................................698Applying Governance to a Process App to be governed....................................................698Snapshot change notification..............................................................................................699

    Modification of Process Instance data.........................................................................................700Web Servers and Load Balancing................................................................................................701

    Page 12

  • Performance.................................................................................................................................701The Event Manager - Tuning attributes..................................................................................702Monitoring using the Process Admin Console.......................................................................703

    Process Admin Console Monitoring > Instrumentation..................................................703Process Admin Console Monitoring > Process Monitor.................................................704

    DB2 Database Performance....................................................................................................706Monitoring DB2......................................................................................................................706

    Useful scripts and tools................................................................................................................708Viewing database table contents.............................................................................................708

    Importing Browser Certificates...................................................................................................710Recovery options.........................................................................................................................714

    JavaScript in IBPM...........................................................................................................................716Editing JavaScript........................................................................................................................716IBPM JavaScript name spaces.....................................................................................................716Reusing JavaScript.......................................................................................................................717BPD Data Types..........................................................................................................................717

    Data Type ActivitySummary...............................................................................................717Data Type ConditionalActivity............................................................................................717Data Type Map.....................................................................................................................718Data Type NameValuePair..................................................................................................718Data Type ProcessSummary................................................................................................718Data Type Record................................................................................................................719Data Type SQLResult..........................................................................................................720Data Type String..................................................................................................................720Data Type TaskListData......................................................................................................721Data Type TaskListItem.......................................................................................................721Data Type TaskListInteactionFilter.....................................................................................722Data Type TaskListProperties..............................................................................................723Data Type Team...................................................................................................................723Data Type TeamDashboardSupport.....................................................................................724Data Type TWAdhocStartingPoint......................................................................................724Data Type TWDate..............................................................................................................724Data Type TWDocument.....................................................................................................727Data Type TWHolidaySchedule..........................................................................................728Data Type TWLink..............................................................................................................729Data Type TWManagedFile.................................................................................................729Data Type TWModelNamespace.........................................................................................729Data Type TWObject...........................................................................................................730Data Type TWParticipantGroup..........................................................................................731Data Type TWProcess.........................................................................................................731Data Type TWProcessApp...................................................................................................732Data Type TWProcessAppSnapshot....................................................................................733Data Type TWProcessInstance............................................................................................733Data Type TWProcessPerformanceMetric..........................................................................735Data Type TWReport...........................................................................................................735Data Type TWRole..............................................................................................................736Data Type TWSearchColumn..............................................................................................737Data Type TWSearchColumnMetaData..............................................................................738Data Type TWSearchCondition...........................................................................................739Data Type TWSearchOptions..............................................................................................739

    Page 13

  • Data Type TWSearchResults...............................................................................................740Data Type TWSearchResultRow.........................................................................................740Data Type TWService..........................................................................................................740Data Type TWServiceTypes................................................................................................740Data Type TWStep...............................................................................................................741Data Type TWTask..............................................................................................................741Data Type TWTeam.............................................................................................................743Data Type TWTimePeriod...................................................................................................744Data Type TWTimeSchedule...............................................................................................744Data Type TWTimerInstance...............................................................................................746Data Type TWUser..............................................................................................................747Data Type XMLDocument..................................................................................................747Data Type XMLElement......................................................................................................748Data Type XMLNodeList....................................................................................................748

    JavaScript Libraries.....................................................................................................................749JavaScript package - tw.system.*...........................................................................................749

    Method: executeServiceByName(name, inputValues)......................................................751Method: retrieveTaskList().................................................................................................751

    JavaScript Package - tw.system.step.*....................................................................................752JavaScript Package - tw.system.org.*.....................................................................................752JavaScript Package - tw.system.model.*................................................................................753

    Getting a list of Process Apps............................................................................................753JavaScript Package - tw.object.*.............................................................................................754JavaScript Package - tw.system.model...................................................................................754

    Creating Business Object instances in JavaScript.......................................................................756Variables in a service...................................................................................................................757The Dojo Toolkit for JavaScript..................................................................................................757Searching for processes and tasks from JavaScript.....................................................................758Calling Java through LiveScript..................................................................................................761Working with XML in JavaScript...............................................................................................761Working with document attachments in JavaScript....................................................................762Working with JSON in IBPM......................................................................................................763JavaScript Fragments...................................................................................................................764

    Starting a new process.............................................................................................................765Getting the current process instance.......................................................................................765Getting the current userid........................................................................................................765Starting an external application...............................................................................................765Returning the owner of a task.................................................................................................765Extracting a managed file.......................................................................................................766Generating a Random Number or string.................................................................................766

    Key Performance Indicators (KPIs).................................................................................................767Custom KPIs................................................................................................................................767Associating KPIs with BPD activities.........................................................................................769

    Service Level Agreements (SLAs)...................................................................................................769Creating SLAs..............................................................................................................................770

    Dash-boarding..................................................................................................................................773Architecture.................................................................................................................................773Tracking data...............................................................................................................................773

    Tracking Groups Overview.....................................................................................................777Database Structure for a Tracking Group...............................................................................779

    Page 14

  • Database Structure for TRACKINGGROUPS view..............................................................780Database Structure for TRACKINGPOINTS view................................................................780Database Structure for TASKS view......................................................................................780Database Structure for PROCESSFLOWS view....................................................................781

    Miscellaneous Tracking Data Notes............................................................................................782Removing tracking data tables................................................................................................782Minimizing Tracking Group entries.......................................................................................783

    Timing Intervals...........................................................................................................................783Performance Data Warehouse (PDW) SQL Snippets.............................................................786

    How many have started but not finished (in progress).......................................................786Number of items of different types/day.............................................................................787Getting the last state of a process.......................................................................................788Breakdown of how many in which step.............................................................................788Last Auto-tracked row........................................................................................................789Calculating duration from two timestamps........................................................................789Counts of processes started vs completed over an interval................................................789

    General DB/SQL useful functions for reports........................................................................790Date formatting...................................................................................................................790Mapping BPM date types to DB TIMESTAMP types.......................................................790Number of items in the current week.................................................................................790Counting when a column equals a value............................................................................790Selecting records within a date range.................................................................................790

    Reporting with Microsoft Excel..............................................................................................790Developing Custom Dash-boards................................................................................................791

    A Sample Dashboard..............................................................................................................791Generating sample data................................................................................................................795

    Simulation and Optimization............................................................................................................796Defining simulation values..........................................................................................................796

    Fixed distribution type............................................................................................................797Uniform distribution type........................................................................................................797Normal distribution type.........................................................................................................798Gateways and simulation........................................................................................................798

    Arrival rate of simulation items...................................................................................................799Simulating the cost of execution..................................................................................................799Available staff members for tasks...............................................................................................800Simulation Analysis Scenarios.................................................................................