TIBCO ActiveMatrix® BPM Concepts · TIBCO ActiveMatrix BPM can be used to develop, deploy, execute...

88
TIBCO ActiveMatrix ® BPM Concepts Software Release 4.0 November 2015 Document Update: December 2015 Two-Second Advantage ®

Transcript of TIBCO ActiveMatrix® BPM Concepts · TIBCO ActiveMatrix BPM can be used to develop, deploy, execute...

TIBCO ActiveMatrix® BPM ConceptsSoftware Release 4.0November 2015Document Update: December 2015

Two-Second Advantage®

Important Information

SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCHEMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY(OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THEEMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANYOTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.

USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS ANDCONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTEDSOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THECLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOADOR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE)OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USERLICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THESOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, ANDYOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BEBOUND BY THE SAME.

This document contains confidential information that is subject to U.S. and international copyright lawsand treaties. No part of this document may be reproduced in any form without the writtenauthorization of TIBCO Software Inc.

TIBCO, Two-Second Advantage, TIBCO ActiveMatrix BPM, TIBCO Administrator, TIBCO BusinessStudio, TIBCO Enterprise Message Service, TIBCO General Interface, TIBCO Hawk, TIBCO iProcess,TIBCO JasperReports, TIBCO Spotfire, TIBCO Spotfire Server, and TIBCO Spotfire Web Player areeither registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or othercountries.

Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform EnterpriseEdition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks ofOracle Corporation in the U.S. and other countries.

All other product and company names and marks mentioned in this document are the property of theirrespective owners and are mentioned for identification purposes only.

THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOTALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASEDAT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWAREVERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.

THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.

THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICALERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESECHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCOSOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S)AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.

THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY ORINDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE,INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.

Copyright © 2005-2015 TIBCO Software Inc. ALL RIGHTS RESERVED.

TIBCO Software Inc. Confidential Information

2

TIBCO ActiveMatrix® BPM Concepts

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

TIBCO Documentation and Support Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

Introduction to TIBCO ActiveMatrix BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

TIBCO ActiveMatrix BPM Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

TIBCO Business Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

TIBCO ActiveMatrix BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix BPM Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

TIBCO ActiveMatrix Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

TIBCO ActiveMatrix BPM Logical Nodes and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

High Availability and Fault Tolerance - Clustered Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Specialization and Scalability - Logical Node Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

Developer Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Shared Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Monitoring and Managing Distributed Applications and Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Multiple TIBCO ActiveMatrix BPM Systems in an Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

TIBCO ActiveMatrix BPM Web Service APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Processes as Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Workflow Patterns Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Model Driven Architecture and Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Role-Based User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

A Single Design Time Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

Flexible Runtime Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

System Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

Base and Overlay Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Time Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

Deadlines and Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Exclusions in Overlay Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Calendar References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Work Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Work View Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Creating a Work View for an Organizational Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Process Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Standards-Based Process Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Process Design - Business Process Model and Notation (BPMN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3

TIBCO ActiveMatrix® BPM Concepts

Process Interchange - XML Process Definition Language (XPDL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Process Deployment and Execution - Business Process Execution Language (BPEL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Data Type Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Using Processes as Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Correlation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Workflow Process and Data Pattern Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Pageflow Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

Business Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Example 1 - Starting a Business Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Example 2 - Updating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Process Instance Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Example of Process Instance Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

Organization Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Modeling the Workforce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Organization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

Organizations Organization Units and Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Resources (Users) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Creating the Organization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

Use of LDAP and Dynamic Organization Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Organization Model Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

Organization Model Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Example - Phase 1 Deploying an Initial Organization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Example - Phase 2 Making an Additive Update to the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

Example - Phase 3 Making a Destructive Update to the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

Example - Phase 4 Extending the Organization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

Example - Phase 4 An Alternative Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Work Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Distributing Work to Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Offering and Allocating Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Distribution Strategies and Offer Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Resource Query Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Dynamic Organization Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Push and Pull Distribution Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Presenting Work to Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

TIBCO ActiveMatrix BPM Client Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Work Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4

TIBCO ActiveMatrix® BPM Concepts

Work Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Forms and Presentation Channels - Separating Presentation from Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

Pageflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Modeling and Implementing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Deployment of Project Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Administration of TIBCO ActiveMatrix BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Platform Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Application Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Organization Model and Resource Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

The tibco-admin User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

System Calendar Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Logging and Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Managed Objects and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Logging Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Workspace Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Correlation and Sequencing of Audit Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Workspace and Openspace Audit Trail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Publishing Audit Data to a Java Message Service (JMS) Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

Security Features Provided by TIBCO ActiveMatrix BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Authenticating Logins from Openspace and Workspace Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Single Sign On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Authenticating Access to TIBCO ActiveMatrix BPM Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68

Privilege-Based Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

System Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

Scope of System Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

Example of using System Actions to Control Users’ Access to System Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

System Actions and Organization Model Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Example of using System Actions to Control Users’ Access to System Functions (Continued) . . . . . . . . . . . . . . . . . . . . . .75

Workflow Patterns Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Workflow Resource Patterns Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Workflow Process Patterns Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80

Workflow Data Patterns Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5

TIBCO ActiveMatrix® BPM Concepts

Figures

Business process management applications and TIBCO ActiveMatrix BPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Example of a distributed TIBCO ActiveMatrix BPM configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

TIBCO ActiveMatrix BPM process notations and their relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Processes as Services- an Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Main TIBCO ActiveMatrix BPM Organization Model Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

Creating the Organization Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Allocating a work item to a specific user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

Offering a work item to many users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

How TIBCO ActiveMatrix BPM displays work to a user. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Project artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

TIBCO ActiveMatrix BPM Logging and Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

The XYZ Insurance Claims Management Department . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6

TIBCO ActiveMatrix® BPM Concepts

TIBCO Documentation and Support Services

Documentation for this and other TIBCO products is available on the TIBCO Documentation site:

https://docs.tibco.com

Documentation on the TIBCO Documentation site is updated more frequently than any documentationthat might be included with the product. To ensure that you are accessing the latest available helptopics, please visit https://docs.tibco.com.

Product-Specific Documentation

Documentation for TIBCO products is not bundled with the software. Instead, it is available on theTIBCO Documentation site. To directly access documentation for this product, double-click thefollowing file:

TIBCO_HOME/release_notes/TIB_amx-bpm_version_docinfo.html

where TIBCO_HOME is the top-level directory in which TIBCO products are installed. On Windows,the default TIBCO_HOME is C:\tibco. On UNIX systems, the default TIBCO_HOME is /opt/tibco.

The following documents for this product can be found on the TIBCO Documentation site:

● TIBCO ActiveMatrix BPM SOA Concepts● TIBCO ActiveMatrix BPM Concepts● TIBCO ActiveMatrix BPM Developer's Guide● TIBCO ActiveMatrix BPM Web Client Developer's Guide● TIBCO ActiveMatrix BPM Tutorials● TIBCO ActiveMatrix BPM Business Data Services Developer Guide● TIBCO ActiveMatrix BPM Case Data User Guide● TIBCO ActiveMatrix BPM Event Collector Schema Reference● TIBCO ActiveMatrix BPM - Integration with Content Management Systems● TIBCO ActiveMatrix BPM SOA Composite Development● TIBCO ActiveMatrix BPM Java Component Development● TIBCO ActiveMatrix BPM Mediation Component Development● TIBCO ActiveMatrix BPM Mediation API Reference● TIBCO ActiveMatrix BPM WebApp Component Development● TIBCO ActiveMatrix BPM Administration● TIBCO ActiveMatrix BPM Performance Tuning Guide● TIBCO ActiveMatrix BPM SOA Administration● TIBCO ActiveMatrix BPM SOA Administration Tutorials● TIBCO ActiveMatrix BPM SOA Development Tutorials● TIBCO ActiveMatrix BPM Application Management Guide● TIBCO ActiveMatrix BPM Client Application Developer's Guide● TIBCO Openspace User's Guide● TIBCO Openspace Customization Guide● TIBCO ActiveMatrix BPM Organization Browser User's Guide (Openspace)

7

TIBCO ActiveMatrix® BPM Concepts

● TIBCO ActiveMatrix BPM Organization Browser User's Guide (Workspace)● TIBCO ActiveMatrix BPM Spotfire Visualizations● TIBCO Workspace User's Guide● TIBCO Workspace Configuration and Customization● TIBCO Workspace Components Developer Guide● TIBCO ActiveMatrix BPM Troubleshooting Guide● TIBCO ActiveMatrix BPM Deployment● TIBCO ActiveMatrix BPM Hawk Plug-in User's Guide● TIBCO ActiveMatrix BPM Installation: Developer Server● TIBCO ActiveMatrix BPM Installation and Configuration● TIBCO ActiveMatrix BPM Log Viewer● TIBCO ActiveMatrix BPM Single Sign-On● Using TIBCO JasperReports for ActiveMatrix BPM

How to Contact TIBCO Support

For comments or problems with this manual or the software it addresses, contact TIBCO Support:

● For an overview of TIBCO Support, and information about getting started with TIBCO Support,visit this site:

http://www.tibco.com/services/support

● If you already have a valid maintenance or support contract, visit this site:

https://support.tibco.com

Entry to this site requires a user name and password. If you do not have a user name, you canrequest one.

How to Join TIBCOmmunity

TIBCOmmunity is an online destination for TIBCO customers, partners, and resident experts. It is aplace to share and access the collective experience of the TIBCO community. TIBCOmmunity offersforums, blogs, and access to a variety of resources. To register, go to the following web address:

https://www.tibcommunity.com

8

TIBCO ActiveMatrix® BPM Concepts

Introduction to TIBCO ActiveMatrix BPM

This section provides a high-level overview of TIBCO ActiveMatrix BPM concepts.

TIBCO ActiveMatrix BPM ApplicationsTIBCO ActiveMatrix BPM can be used to develop, deploy, execute and manage business processmanagement applications.

The term is used in this context to encompass applications that primarily automate both:

● business processes (sequences of tasks) to be executed by human users, and● technical processes (the flow of data) to be executed by enterprise applications.

Business process management applications and TIBCO ActiveMatrix BPM shows the different elementsof TIBCO ActiveMatrix BPM software that are involved in supporting business process managementapplications.

Business process management applications and TIBCO ActiveMatrix BPM

TIBCO Business StudioTIBCO Business Studio provides a common modeling, implementation and deployment environmentfor different types of applications.

TIBCO Business Studio provides an Eclipse-based design environment in which:

● Business analysts can capture, design and model all aspects of a business process, including theorganization and data models that underpin it.

● Solution designers can implement the process as an executable application, then deploy theapplication to the TIBCO ActiveMatrix BPM runtime for execution.

9

TIBCO ActiveMatrix® BPM Concepts

TIBCO ActiveMatrix BPMTIBCO ActiveMatrix BPM is a TIBCO ActiveMatrix product application that provides the runtimeexecution environment for business process management applications.

TIBCO ActiveMatrix BPM is deployed to the TIBCO ActiveMatrix runtime. Business processmanagement applications can then also be deployed to the TIBCO ActiveMatrix runtime, where theyare executed by TIBCO ActiveMatrix BPM.

A TIBCO ActiveMatrix BPM system is a single instance of the TIBCO ActiveMatrix BPM productapplication deployed to the TIBCO ActiveMatrix runtime. Multiple TIBCO ActiveMatrix BPM systemscan be deployed to a single TIBCO ActiveMatrix enterprise.

TIBCO ActiveMatrix BPM also provides two web client applications - Openspace and Workspace -which users can use to access TIBCO ActiveMatrix BPM and business process managementapplications that have been deployed to it. See Flexible Runtime Clients for more information.

TIBCO ActiveMatrix AdministratorTIBCO ActiveMatrix Administrator is the utility used to create, configure, monitor, and manage objectsin the TIBCO ActiveMatrix runtime.

TIBCO ActiveMatrix Administrator allows users to deploy, configure, and manage both the TIBCOActiveMatrix BPM application itself and the business process management applications that use it.

TIBCO ActiveMatrix BPM ArchitectureTIBCO ActiveMatrix BPM has a multi-layer architecture which provides flexibility and enables yourbusiness to adopt the configuration that suits its needs.

TIBCO ActiveMatrix EnterpriseThe enterprise is, in TIBCO ActiveMatrix terms, the top-level object in the hierarchy of administration.

The enterprise contains the hierarchy of environments, hosts, and nodes; and also contains SharedObjects.

TIBCO ActiveMatrix EnvironmentsThe environments are the next level down in the hierarchy. An environment is a logical grouping ofapplications and nodes, and the enterprise can have multiple environments.

Environments enable you to isolate one group of applications and nodes from another. This can beuseful for security, for optimizing network traffic (each environment can have its own TIBCO EMSserver for messaging), and for visual organization in the Administrator.

When you install TIBCO ActiveMatrix BPM two environments are created:

● a system environment (always called SystemEnvironment), which is used by TIBCO ActiveMatrixAdministrator

● a BPM environment, which is used by the TIBCO ActiveMatrix BPM application.

TIBCO ActiveMatrix HostsWithin the enterprise, hosts are used to manage nodes. A host can contain nodes from more than oneenvironment. Hosts are responsible for deploying applications and for other administrative tasks.

Each host has a software repository that contains the application templates, features, and resourceadapters available to the nodes managed by that host.

TIBCO ActiveMatrix NodesNodes provide a discrete runtime environment for applications or application fragments. Nodes existwithin an environment, and are managed by hosts. When a node is managed by a host, the node runs

10

TIBCO ActiveMatrix® BPM Concepts

in its own operating system process and JVM. A host can manage multiple nodes, and these can befrom multiple environments. You can also distribute an application, such as TIBCO ActiveMatrix BPM,to multiple nodes.

An enterprise using TIBCO ActiveMatrix BPM will have one or more BPM nodes, and at least oneSystemNode that runs TIBCO ActiveMatrix Administrator. (The SystemNode is replicated if you use ahigh-availability configuration. See High Availability and Fault Tolerance - Clustered Operation.)

There is no fixed limit to the number of BPM nodes you can have. In practice, performance limitationson your particular system are likely to dictate the practical maximum number of nodes:

● Available memory limits the number of nodes you can practicably use on a single machine.● If you distribute multiple BPM nodes over different machines, then since TIBCO ActiveMatrix BPM

makes heavy use of the database, the capabilities of your database will be the main limiting factor.● Nodes used to distribute stateless applications (such as mediation components) will be less affected

by database constraints.

The reasons to use multiple nodes include:

● Increasing throughput.● Enabling high availability, load balancing, and fault tolerance: see High Availability and Fault

Tolerance - Clustered Operation.

Node names must be unique, within the enterprise, within an environment and within a host.

TIBCO ActiveMatrix BPM Logical Nodes and ServicesTIBCO ActiveMatrix BPM is implemented as a number of independent components that exposeservices, exploiting the benefits of the Service Component Architecture (SCA) provided by the TIBCOActiveMatrix runtime.

These components are grouped into a set of TIBCO ActiveMatrix logical nodes (of type Client, Server orBPM), each of which provides a set of services. (An ActiveMatrix logical node is a heterogeneous groupof application fragments that must be deployed to the same physical node.)

11

TIBCO ActiveMatrix® BPM Concepts

The BPM logical node type provides a complete TIBCO ActiveMatrix BPM system, combining the fullcapabilities of the Server and Client logical node types.

The sections High Availability and Fault Tolerance - Clustered Operation and Specialization andScalability - Logical Node Distribution provide additional information on how this logical nodearchitecture can be used to configure a TIBCO ActiveMatrix BPM system to meet enterpriserequirements in areas such as scalability, high-availability and fault tolerance, load balancing orperformance.

For more information about how to install, deploy and configure TIBCO ActiveMatrix BPM in differentconfigurations, see TIBCO ActiveMatrix BPM Installation and Configuration.

Services

Service DescriptionFor moreinformation see...

Process services Execute business process management applicationsthat have been designed in TIBCO Business Studioand deployed to the TIBCO ActiveMatrix BPMruntime.

Process Management

12

TIBCO ActiveMatrix® BPM Concepts

Service DescriptionFor moreinformation see...

Event Collectionservices

Collect and correlate business process events. Logging andAuditing

Calendar services Provide services such as working time, workingavailability, and deadline information for TIBCOActiveMatrix BPM entities.

System Calendars

Business ResourceManagementservices

Responsible for distributing and managing work tousers.

Work Management

Directory services Maintain the runtime organization model andprovide all authentication and authorizationservices.

OrganizationManagement

Work presentationservices

Get work presentation details for and performactions on work items.

Presenting Work toUsers

Pageflow services Get information about and interact with deployedpageflows.

Pageflow Processes

Business services Get information about and interact with deployedbusiness services.

Business Services

Business Dataservices

Manage business data and case data. Data Type Support

Client ApplicationFramework

Provides application management services. TIBCO ActiveMatrixBPM ClientApplication FrameworkDeveloper's Guide andTIBCO ActiveMatrixBPM ApplicationManagement Guide

High Availability and Fault Tolerance - Clustered OperationTIBCO ActiveMatrix BPM can be deployed to provide a high-availability, fault-tolerant configuration,using active-active clustering.

This type of configuration requires the following:● an underlying high-availability machine and software architecture● a high-availability database system● external load balancing software for SOAP/HTTP connections (if required)● homogenous software configuration. Each member of the cluster must use the same TIBCO

ActiveMatrix BPM logical node type.

The service virtualization capabilities provided by the TIBCO ActiveMatrix BPM runtime manage androute traffic between the nodes as required.

If a node, host or cluster member fails - whether that failure is caused by a hardware or software failure- messages are automatically re-routed to the remaining nodes in the cluster. Although execution

13

TIBCO ActiveMatrix® BPM Concepts

capacity is reduced, service is not interrupted and no data or messages are lost. Outstandingtransactions associated with the failed node are rolled back.

HTTP clients (including browsers logged into Workspace/Openspace) communicate with the BPMClient logical node, so will be logged out if the web application dies. Any pageflows in progress inthose clients will be lost, and clients will need to log in again.

To prevent this problem, an external load balancer can be used in front of HTTP clients to manage androute traffic from clients between BPM nodes.

TIBCO ActiveMatrix client applications (those running on the same TIBCO ActiveMatrix runtime)communicate with TIBCO ActiveMatrix BPM using service virtualization, so they are not affected.

Specialization and Scalability - Logical Node DistributionLogical nodes can also be distributed to different physical nodes, to provide specialization andhorizontal scalability capabilities according to the enterprise’s needs.

A distributed configuration requires homogenous software configuration. Each member of the clustermust use the same TIBCO ActiveMatrix BPM logical node type.

The figure shows an example of a distributed configuration. (For simplicity, host instances are notshown in this figure - each Node is assumed to be running on its own host instance.)

Example of a distributed TIBCO ActiveMatrix BPM configuration

In this example, TIBCO ActiveMatrix BPM is distributed between three sets of clustered machines,Clusters 1, 2 and 3.

● Cluster 1 runs two logical nodes of type Server.

14

TIBCO ActiveMatrix® BPM Concepts

● Cluster 2 runs three logical nodes of type Server.● Cluster 3 runs two logical nodes of type Client.

Note that:

● The capacity of each part of the system - client or server - can be scaled up or down as requirementschange, simply by adding or removing further logical nodes to the relevant cluster (subject of courseto the underlying capabilities of the cluster itself).

● Although this example hosts the nodes on individual clusters, it would also be valid to host singleor all parts of the system on non-clustered machines.

● Users do not need to be aware of the topology of TIBCO ActiveMatrix BPM when deployingapplications. An application is simply deployed to the TIBCO ActiveMatrix BPM runtime, whichautomatically deploys the relevant parts of the application to all the logical nodes where it isrequired.

Developer ServerA Developer Server configuration of ActiveMatrix BPM is intended for quickly performing developmentand testing on a developer's machine of a BPM application, which has been designed in TIBCOBusiness Studio.

The Developer Server configuration is intended only for rapid development and testing purposes. It isnot intended for use in a production environment and TIBCO recommends that you do not use it in aproduction environment.

The configuration is a simple one in which the following components are all installed on the samemachine:

● ActiveMatrix BPM● ActiveMatrix BPM database● ActiveMatrix Administrator

In addition, to enable you to model processes and deploy them, it is required that TIBCO BusinessStudio - BPM Edition is installed on the same machine.

The Developer Server configuration has been designed to be easy to install on a developer's desktop orlaptop machine, with minimal system requirements. As a result, the configuration has some limitations:

● All TIBCO software must be installed on the same machine because it cannot be accessed remotelyin this configuration.

● Only one instance of Developer Server can be installed on a machine.● It cannot be reconfigured when it has been installed.● It cannot be used to provide a high-availability, fault-tolerant system, nor to provide specialization

and scalability.● It uses only an internal Apache LDAP server, which is bundled with the installer. To use a corporate

LDAP server instead, you must add and configure new shared resources for the new LDAPconnections, using ActiveMatrix Administrator.

● Upgrading is not supported. To use a later version of ActiveMatrix BPM, you must uninstall theinstalled version, and then install the later version.

For information about installing a Developer Server configuration, see the TIBCO ActiveMatrix BPMInstallation: Developer Server guide.

Shared Objects

Shared objects include:

15

TIBCO ActiveMatrix® BPM Concepts

● Resource templates and resource instances based on those templates. There are several types of suchshared resource. Commonly-used ones include:

— JDBC resource instances for connection to an external database.— HTTP clients to provide connection to a web service.— SMTP resources to provide connection to an SMTP mail server.— JMS resource instances enable applications to access objects maintained in JMS servers.— LDAP connections define the connection details of the LDAP directory you intend to use.— Keystore providers. These provide a reference to a keystore that contains the keypair required

to invoke a secured web service.— Identity providers. These provide a reference to a specific keypair required to invoke a secured

web service.

Resource templates are defined with a scope, which can be at enterprise level,environment level, or application level. TIBCO ActiveMatrix BPM resources arescoped at application level, thus allowing different TIBCO ActiveMatrix BPM systemsto use their own set of shared resources.

● Substitution variables can be used to map a shared resource value in a business process - the fieldsthat appear on the Shared Resource section of the Properties view for a Business Studio objectwithin a business process— to a resource available at runtime on the node where the BPMapplication is deployed. See the use of the substitution variable AddressService_Consumer1 in theHow to Call an External Web Service From a Process tutorial for an example of how substitutionvariables work.

● Logging appenders define the output targets to which log statements are output. They can be:

— File Appends events to a log file.● Clear Text The log file is stored in clear text format.● CBE The log file is stored in TIBCO BEF (Base Event format), which is the TIBCO implementation

of CBE (Common Base Event) format.

— JMS Appends events to a log service instance, which in turn stores the events to a database.

See "Appenders" in TIBCO ActiveMatrix BPM - BPM Administration for more information onlogging appenders.

Monitoring and Managing Distributed Applications and Operating Systems

TIBCO Hawk is a tool for monitoring and managing distributed applications and operating systems.

When you configure an TIBCO ActiveMatrix BPM system or create an additional BPM node, theconfiguration process installs a set of TIBCO Hawk rulebases tailored to the nodes in your installation.You can import these rulebases into TIBCO Hawk and use them to monitor your ActiveMatrix BPMinstallation, issuing alerts when any of the rules are broken.

See "Monitoring ActiveMatrix BPM Using TIBCO Hawk Rulebases" in TIBCO ActiveMatrix BPM - BPMAdministration for more information on using TIBCO Hawk.

Multiple TIBCO ActiveMatrix BPM Systems in an EnterpriseMultiple TIBCO ActiveMatrix BPM version 2.2 systems can be installed in the same TIBCOActiveMatrix enterprise. (TIBCO ActiveMatrix BPM version 2.2 is coupled with version 3.3 of theTIBCO ActiveMatrix Platform and TIBCO ActiveMatrix Administrator.)

If a TIBCO ActiveMatrix enterprise is managed by a version 3.3 (or later) TIBCO ActiveMatrixAdministrator server, multiple TIBCO ActiveMatrix version 2.2 (or later) BPM systems can be installed:

16

TIBCO ActiveMatrix® BPM Concepts

● in the same TIBCO ActiveMatrix environment, or in separate TIBCO ActiveMatrix environments.● on the same physical machine or on different physical machines.● using any combination of basic or distributed architectures - see TIBCO ActiveMatrix BPM

Architecture● on the same TIBCO Host instance or on different TIBCO Host instances.

TIBCO ActiveMatrix BPM systems that share a TIBCO Host instance cannot beindependently lifecycled or upgraded at the host level. For example, if (on a MicrosoftWindows system) the TIBCO Host instance is installed as a service, stopping that servicewould stop all TIBCO ActiveMatrix BPM systems hosted by that service.

As a result, TIBCO recommend that each discrete BPM system should use its own set ofTIBCO Host instances. (If BPM systems do need to share a TIBCO Host instance, theymust be upgraded at the same time.)

When multiple TIBCO ActiveMatrix BPM systems are installed in the same TIBCO ActiveMatrixenterprise, the following rules must be observed:

● Each instance of the TIBCO ActiveMatrix BPM application must have a unique name within aTIBCO ActiveMatrix environment. This name identifies that TIBCO ActiveMatrix BPM systemwithin that TIBCO ActiveMatrix environment. (The combination of the environment name andapplication name uniquely identifies that TIBCO ActiveMatrix BPM system within the TIBCOActiveMatrix enterprise.)

● A TIBCO ActiveMatrix node can only host a single TIBCO ActiveMatrix BPM system (or part of adistributed TIBCO ActiveMatrix BPM system).

TIBCO ActiveMatrix BPM Web Service APIsTIBCO ActiveMatrix BPM exposes its functionality through comprehensive work management andprocess management APIs, which are exposed as web services.

See TIBCO ActiveMatrix BPM Logical Nodes and Services.

TIBCO ActiveMatrix BPM provides the following APIs that a client application can use to invoke BPMservices:

● The Web Service API allows a client application to directly invoke BPM services using SOAPmessages.

● The Java Service Connector API enables a client application to invoke BPM services using local Javacalls.

● The BPM Representational State Transfer (REST) API provides RESTful interfaces to BPM webservices. Using the REST API, a client application can invoke BPM services using simple HTTPmethods and intuitive URIs that identify BPM resources and the operations to be performed onthem.

For more information about these APIs and how to use them, see the TIBCO ActiveMatrix BPM - BPMDeveloper’s Guide.

Processes as ServicesTIBCO ActiveMatrix BPM applications conform to a service-oriented architecture. Business processmanagement applications can expose their functionality as a set of services.

These services can both consume other services, and be consumed by other services.

Any service can be consumed at any point by any other service, no matter if it is defined through abusiness process, an integration process or as part of the underlying SOA architecture.

17

TIBCO ActiveMatrix® BPM Concepts

See Using Processes as Services for more information about how application processes are provided asservices.

Workflow Patterns SupportTIBCO ActiveMatrix BPM implements many of the workflow patterns defined by the WorkflowPatterns initiative, giving it the capability to handle the widest range of possible scenarios for businessprocess modeling and execution.

(The Workflow Patterns initiative is a joint effort of Eindhoven University of Technology andQueensland University of Technology that provides a conceptual basis for business processmanagement systems. Their research identifies numerous patterns that it is desirable for a workflowlanguage or a business process modeling language to support.)

The workflow patterns are grouped into different perspectives, which provide different ways ofanalyzing workflow:

● Resource: Resource patterns capture the various ways in which resources are represented andutilized in workflows. For more information about how TIBCO ActiveMatrix BPM supports thesepatterns, see Workflow Resource Patterns Support.

● Control-flow: Control-flow (or process) patterns capture the various ways in which activities arerepresented and controlled in workflows. For more information about how TIBCO ActiveMatrixBPM supports these patterns, see Workflow Process Patterns Support.

● Data: Data patterns capture the various ways in which data is represented and utilized inworkflows. For more information about how TIBCO ActiveMatrix BPM supports these patterns, see Workflow Data Patterns Support.

For more information about the Workflow Patterns initiative, see:

http://www.workflowpatterns.com/index.php

Model Driven Architecture and DevelopmentTIBCO Business Studio provides a model-driven development environment in which to createapplications.

The following types of model are used:

Process modelthe formal representation of a business process designed to be run by TIBCO ActiveMatrix BPM. Forexample, a claims management, recruitment or car hire process.

Organization modelthe formal representation of the organization against which the process will be run. For example, theEasyAs Insurance company.

Business object modelthe formal representation of the business domain data that will be used by the process. For example, acustomer record or an order line.

(optionally) user interfacethe formal representation of how a particular user task in a process is to be displayed at runtime. Forexample, a TIBCO Form or a pageflow process.

(optionally) business servicea specific version of a pageflow process, used to provide an interactive "process starter" mechanismfor Workspace and Openspace users.

See Modeling and Implementing Applications for more information about these models.

18

TIBCO ActiveMatrix® BPM Concepts

Role-Based User InterfacesTIBCO ActiveMatrix BPM provides tools that enable both non-technical and technical users to interactwith the product in a manner and language that is natural to them and the role that they perform.

A Single Design Time EnvironmentTIBCO Business Studio provides different perspectives for the business analyst, whose role is toidentify and capture a business process as an abstract model, and the solution designer, who elaboratesthe process captured by the business analyst so that it can be executed in the TIBCO ActiveMatrix BPMruntime.

Each perspective provides the appropriate language, tools and level of detail for each user, and hidesthose aspects with which the user is not concerned. For example, the business analyst’s perspectiveallows them to define a task, but hides all details about how that task is to be implemented.

However, each perspective is not a separate design entity, which has to be integrated with the other.TIBCO ActiveMatrix BPM uses (internally) a common model of the business process, and eachperspective provides a view onto that model that is appropriate for the associated user role.

The use of a common model and different views/perspectives has the following benefits:

● It facilitates consistency. Changes in one perspective are automatically reflected in the other.Different parts of TIBCO ActiveMatrix BPM do not work in isolation and so do not requirecumbersome crossover points.

● It provides familiarity when working with different parts of the system.● It provides an improved "end-to-end" user experience.

Flexible Runtime ClientsTIBCO ActiveMatrix BPM provides two different client applications (Openspace and Workspace)which meet different end-user requirements.

Both client applications also provide administrative and management interfaces - see Administration ofTIBCO ActiveMatrix BPM.

Openspace

Openspace is a highly customizable web client application that users can use as a gateway to theirfrequently used services. Users can add web content from different sources - for example, news websites or corporate portal content. Users add content as gadgets and customize how that content isdisplayed.

Openspace users can:

● interact with their work lists and with processes.● add native gadgets that are developed, contributed and published by TIBCO developers.● add third party gadgets that are published as social gadgets.● render third party web content within a gadget and add it to Openspace.

Openspace also provides access to the Organization Browser, which is used to perform variousorganization model and resource management tasks.

Workspace

Workspace provides an "out of the box" web client application that allows users to interact with theirwork lists and with processes.

Workspace is a component-based application that can be easily configured or customized according tothe requirements of a particular enterprise. For example:

19

TIBCO ActiveMatrix® BPM Concepts

● Users’ access to different parts of the Workspace user interface can be controlled by the use andinteraction of privileges, system actions and user access sets.

● Workspace components provide a set of data-aware user interface components that may be used toquickly develop full-screen web applications, embed functionality in web pages, or serve as portletsin a portal application.

System CalendarsTIBCO ActiveMatrix BPM supports calendars that maintain information about working times. You canhave multiple calendars, which you can use to express working time and calculate deadlines forlocations in different timezones, and so on.

Base and Overlay CalendarsBase calendars maintain basic information regarding working times (for example, hours in the standardworking week), and overlay calendars define non-working time exclusions (for example, public holidays)which can be applied to a base calendar at runtime.

A base calendar is associated with a particular timezone, while an overlay calendar is timezone-neutral,and so can be applied to modify different base calendars. A default base calendar is provided with theTIBCO ActiveMatrix BPM system, and you can create additional base calendars.

TIBCO ActiveMatrix BPM uses the working and non-working times defined in these system calendarswhen performing date calculations on system objects. For example, when TIBCO ActiveMatrix BPMschedules a user task, it uses the system calendars to calculate the work item’s duration and anydeadline.

Maintaining these Calendars is an administrative function, which is carried out in TIBCO Openspace -see System Calendar Management.

Time ZonesParticularly in a multi-national organization, scheduling needs to cope with different timezones. InTIBCO ActiveMatrix BPM, a base calendar is associated with a timezone.

The default base calendar uses the timezone set by the TIBCO ActiveMatrix BPM server’s operatingsystem, but you can create other base calendars that use other timezones. Overlay calendars are notassociated with timezones at all, but take their timezone from whichever base calendar they areassociated with.

If the timezone of a base calendar is changed, that does not cause any adjustments to existing or futureentries defined in that calendar. For example, suppose the timezone on a base calendar is set toGreenwich Mean Time (GMT), and the base calendar defines:

● the working week as from 09.00 to 17.30 from Monday to Friday inclusive.● with an exclusion to the working week defined as non-working time from 16.00 to 17.30 on Friday

17 September 2010.

If the timezone associated with the base calendar is then changed to Pacific Daylight Time (PDT):

● future working weeks are now from 09.00 to 17.30 from Monday to Friday inclusive PDT.● the working time exclusion is now from 16.00 to 17.30 on Friday 17 September 2010 PDT.

BPM stores all date-time entries, whether on a base or an overlay calendar, with a timezone of UTCattached. This does not mean that they are necessarily intended to represent UTC times; in effect timesare treated as timezone-neutral.

Deadlines and Localization

When calculating deadlines, start times are specified as actual UTC times. An examination of theorganization model determines which base and which (if any) overlay calendar to use. Then, the

20

TIBCO ActiveMatrix® BPM Concepts

available working hours are calculated from the information in the calendar entries. The combination ofthe start time, the duration of the work item, and the working hours available is used to calculate theearliest date and time at which the given work item can be completed.

Where more than one timezone is involved, the timezone to use for deadlines is determined locally. Forexample, assume that TIBCO ActiveMatrix BPM offers a work item to the users in an organization unit,and that the calendar for that organization unit is based upon the London timezone. However, thework item being offered resides on a TIBCO ActiveMatrix BPM node based in New York. The deadlinecalculation is based on the timezone and the working times of the London organization unit, and not onthe New York timezone of the BPM node.

Note that deadlines of less than one hour are calculated without using calendars or invoking theCalendar services components. BPM simply adds the work item’s duration to its start time.

Exclusions in Overlay CalendarsOverlay calendars define exclusions to the normal working hours defined in the base calendar. Whilesome exclusions are one-off, many will repeat over a defined period of time.

For example, you can define such exclusions as:

● Every Friday from 14:00 to 18:00● The first Monday of the month, for the next six monthsThese exclusions are defined using a recurrence rule that sets out how the start datetime of eachoccurrence of the exclusion is calculated. The rule is given in the standard notation set out in theindustry standard RFC-5545.

Calendar ReferencesIn TIBCO Business Studio, you can assign a calendar reference to a business process, or a timer eventwithin a process.

A calendar reference links the process or event to the appropriate calendars that should be used tocalculate the duration and deadline for that object. A calendar reference consists of either:

● a calendar alias (free text that identifies a calendar), enabling a user to map the reference to the mostappropriate base or overlay calendar, using the Calendar gadget in Openspace, or

● a reference to a process data field that will provide the calendar alias at runtime.In TIBCO Openspace, calendar references (also called calendar aliases in Openspace) are used to mapcalendars to organizational entities. In the Calendar gadget in TIBCO Openspace, you can create acalendar reference that maps to the base or overlay calendar that you want to use. You can then mapthe calendar reference to an organizational entity. This associates the calendar represented by thatreference with the organizational entity, and as such the calendar can be used in calculating deadlines.

See "Using the Calendar Gadget" in the TIBCO Openspace User’s Guide for more information.

Work ViewsWork views allow you to display your work items according to your requirements. You can set filtersso that only work items that match specific criteria are displayed.

For example, you may only want to view work items of a certain priority or that have arrived today.You can also sort work items so that they are displayed in the order you want them displayed. Workviews are created in TIBCO Openspace using the Work View gadget.

Public Work Views

You can specify whether or not a work view is public when you create it. If a work view is public everyuser can view the work view.

Note that:

21

TIBCO ActiveMatrix® BPM Concepts

● Users cannot automatically edit a public view unless they are the Owner or Author.● If a public view is for a different organizational entity (in other words, not the your own work list),

then you must have the viewWorkList privilege for that organizational entity to load the view.

Temporary Work Views

When using the search feature in the Work View gadget, a temporary view is created for each search.

For example, searching for id=123 would create a temporary view called id=123 to allow the searchresults to be viewed. Temporary views are automatically deleted once you log out of TIBCOOpenspace. You cannot make a temporary view permanent. You must create it using the Create newview wizard.

Work View PermissionsYou can assign permissions to your work view when you create it using the work view wizard.

You can make your work views available to either of the following:

● individual users● specific organizational entities. If you assign an organizational entity permission to a work view, all

the child organizational entities in the parent entity inherit that permission, but the individual usermust have the viewWorkList system action for the child organizational entities.

Creating a Work View for an Organizational EntityYou can create work views that display work items offered to an individual resource or a particularentity in a organization model.

This is useful, for example, if you are supervisor and wish to create work views of all the users that yousupervise. However, you must have the viewWorkList system action for the organization entity yourequire. You can create work views for:

● an individual resource● an organizational entity such as an organization unit, group or position.

22

TIBCO ActiveMatrix® BPM Concepts

Process Management

This section describes the process management capabilities provided by the TIBCO ActiveMatrix BPMProcess Manager.

Standards-Based Process NotationsTIBCO ActiveMatrix BPM uses different standards-based notations to describe processes, dependingon where they are being used.

TIBCO ActiveMatrix BPM process notations and their relationships shows the different notations usedand their relationship to each other.

TIBCO ActiveMatrix BPM process notations and their relationships

Process Design - Business Process Model and Notation (BPMN)BPMN is the de facto standard graphical notation for business process modeling. BPMN is designed foruse by business users and is intended to be completely runtime-platform-independent.

This release of TIBCO Business Studio (the TIBCO ActiveMatrix BPM design environment) is based onthe BPMN Version 2.0 specification (with some modifications).

For more information about BPMN Version 2.0 see the Object Management Group/Business ProcessModel and Notation website at http://www.bpmn.org/ .

Process Interchange - XML Process Definition Language (XPDL)Process designs are stored in TIBCO Business Studio using XPDL 2.1 (typically through the use of aconfiguration control system such as Subversion). Processes can be interchanged between differentTIBCO ActiveMatrix BPM implementations using this notation.

For more information about XPDL 2.1 see the Workflow Management Coalition website at http://www.wfmc.org/standards/xpdl.

Process Deployment and Execution - Business Process Execution Language (BPEL)Processes are deployed and executed using an enhanced version of BPEL 2.0.

Conventional BPEL (WS-BPEL) is an execution language that defines how services can be orchestratedin order to provide further, higher level, services. Although it is a very powerful method for definingcertain classes of Straight-Through Processing (STP) process, it is not sufficiently flexible to deal with allthe requirements of a business process management process. For example, the language contains nodefinition of a user task, and cannot represent all required workflow patterns.

TIBCO ActiveMatrix BPM therefore implements a superset of BPEL 2.0, which contains enhancementsand extensions to support the required business process management functionality and workflowpatterns.

23

TIBCO ActiveMatrix® BPM Concepts

For more information about WS-BPEL 2.0 see the OASIS website at http://www.oasis-open.org/home/index.php.

Data Type SupportTIBCO ActiveMatrix BPM supports the use of two main types of data (basic data or business data) inprocesses.

● Basic data - simple data types such as text, decimal, integer, boolean, date and time.● Business data - structured data that contains information about real-world entities that an

organization deals with, for example Customer, Order, Orderline. Each of these entities will have anumber of attributes for example, name, address, date. These objects will also be related to eachother in different relationships and with different multiplicities.

Business data can also include derived types, which are types derived from basic types. Forexample, an index type that can only contain positive integers in the range 10 to 20.

With the introduction of version 3.0, ActiveMatrix BPM supports two sorts of businessdata - normal (or local) business data, and case data. For information about normalbusiness data see TIBCO ActiveMatrix BPM Business Data Services. Additional informationabout case data is provided in the TIBCO ActiveMatrix BPM Case Data User's Guide.

Arrays of basic and business types are also supported.

At design time, these data types can be used in the process design. For example:

● as fields and parameters in processes and forms● in scripts● as input or output parameters on service tasks.

Business data and derived data types must first be defined (as business object model classes) using theTIBCO Business Studio Business Object Modeler. A business object is an instantiation of a type definedin a business object model.

See the TIBCO Business Studio Modeling User’s Guide for more information.

At runtime, business data objects are managed and stored locally by TIBCO ActiveMatrix BPM.(Business data objects are propagated through the system as copies - they are not passed by reference.)

For more information about how to use different data types with TIBCO ActiveMatrix BPM, see thefollowing guides:

● TIBCO Business Studio BPM Implementation● TIBCO ActiveMatrix BPM Business Data Services Guide● TIBCO ActiveMatrix BPM Case Data User's Guide

Using Processes as ServicesA process can expose service operations that external clients or other processes can invoke - forexample, to start an instance of a process, to inject a piece of data into an existing process instance, or totrigger an event in an existing process instance.

Exposed services are defined by Web Service Definition Language (WSDL) documents, which describethe services offered by a supplier and the messages that a client must use to access those services.

An external client can use the WSDL to consume the service provided by the process, without requiringany knowledge of the process itself - such as the process name or process id.

24

TIBCO ActiveMatrix® BPM Concepts

TIBCO Business Studio supports both contract-first and contract-last styles of service development forprocesses● Contract-last - TIBCO Business Studio automatically generates a WSDL document for any process

that exposes a service operation.● Contract-first - A process can import a WSDL document and define/map events and tasks for the

operations and messages defined in the WSDL.

See the TIBCO Business Studio BPM Implementation guide for more information about how to expose orinvoke service operations from a process.

This facilitates the easy integration of processes into enterprise-wide SOA solutions, as shown in theexample below.

Processes as Services- an Example

In this example, MortgageManager is an external application that provides web-based mortgageservices to customers. ValidateApp and ProcessApp are process-based applications hosted by TIBCOActiveMatrix BPM.

Communication between MortgageManager, ValidateApp and ProcessApp is controlled by WSDLdocuments.

When a customer applies for a mortgage online:

1. A customer fills in the forms provided by MortgageManager.

25

TIBCO ActiveMatrix® BPM Concepts

2. MortgageManager passes the details of the application to ValidateApp.

3. The WSDL file that defines the required message exchange is provided by the ValidateApp process.For example:

Note that MortgageManager requires no internal knowledge of the ValidateApp process. It caninteract with the process by using familiar business concepts (Application, Customer and Status)and business operations (RequestMortgage).

4. ValidateApp determines if the application is valid and returns the status to MortgageManager. Ifthe application is valid, ValidateApp passes it to ProcessApp, which processes the application,generates a mortgage offer and sends that to the customer.

5. Similarly, ValidateApp communicates withProcessApp using the WSDL file provided byProcessApp. Neither process requires any internal knowledge of the other process.

All access to TIBCO ActiveMatrix BPM must be by an authenticated user. This means thatwhen MortgageManager invokes the ValidateApp service, and when ValidateApp invokesthe ProcessApp service, the message header in each case must include the encodedusername and password of an authenticated user. If it does not, the service invocation willfail. (See Authentication .)

Correlation DataTIBCO ActiveMatrix BPM supports the use of correlation data, which allows a process instance to beidentified by some arbitrary, process-specific piece of business data - thus avoiding the requirement tostore a special process instance identifier as part of the business data.

When a process is invoked by an external client or process, a unique element of the incoming data canbe extracted and used to initialize a correlation data field in the process.

If a subsequent input message is received, the same unique element of the incoming data can beextracted and used to compare with and identify a specific process instance via its previously storedcorrelation data.

In the following example, the RenewSub process is part of an order management application thathandles subscription renewals. The process receives details of an order which are checked andconfirmed in the Confirm Details user task. The Receive Authorization task then waits for authorizationfrom the external application, after which the Renew user tasks handles renewal of the subscription.

26

TIBCO ActiveMatrix® BPM Concepts

Part of the incoming data that is submitted by the external application is an "Order Reference" thatuniquely identifies a customer. The process designer creates a correlation data field called OrderRef:

● In the Start Event, OrderRef is initialized with the value of the incoming Order Reference dataelement.

● In the Receive Authorization task, OrderRef is assigned the value of the incoming Order Referencedata element. This value is then correlated against the list of current OrderRef values (maintainedinternally by TIBCO ActiveMatrix BPM) to identify the process instance to which the incomingmessage refers.

The following diagrams show how this works. The order management application calls the RenewSubprocess to start two instances of the process. In each case, the OrderRef correlation data field is set tothe value of the incoming Order Reference data element - Cust1 and Cust2 respectively.

Subsequently, the order management application sends an authorization message for Order ReferenceCust1. This value is extracted into the OrderRef correlation data field. TIBCO ActiveMatrix BPM usesthis value to identify that the message should be directed to process instance 1.

27

TIBCO ActiveMatrix® BPM Concepts

See the TIBCO Business Studio Modeling User’s Guide for more information about correlation and how touse it.

Workflow Process and Data Pattern SupportControl-flow (or process) patterns capture the various ways in which activities are represented andcontrolled in process workflows, ranging from basic control patterns to advanced multi-instancepatterns.

Data patterns capture the various ways in which data is represented and utilized in workflows.

TIBCO ActiveMatrix BPM provides in-built support for many of these patterns - see Workflow PatternsReference - giving it the capability to handle the widest range of possible scenarios for modeling andexecuting processes and process data.

Pageflow ProcessesA pageflow process is a special type of business process that can be used to provide an animated userinterface for a single work item to the same user - that is, a sequence of forms rather than just a singleform.

See Pageflows for more information about how pageflows can be used to provide user interfaces.

A pageflow process can also include other activities - such as service or database calls, scripts andconditional logic - which can be used to drive the interaction with the user.

Unlike a normal business process, a pageflow process is stateless and non-transactional. If the process isnot completed in full, any data set earlier in the process is lost. If a pageflow process performs a statefulaction - something that cannot be reversed, such as writing to a database or starting a process instance -it should be the final action performed by the pageflow process.

28

TIBCO ActiveMatrix® BPM Concepts

Business ServicesA pageflow process can be published as a business service.

A business service provides a user with direct access to a set of actions that accomplishes some sort ofbusiness function. A business service can (but does not have to) be used as a "process starter"mechanism to trigger an instance of a stateful business process.

The following sections provide two simple examples of how business services can be used:

Example 1 - Starting a Business Process

Example 2 - Updating a Database

Example 1 - Starting a Business Process

This example shows how a business service can be used to gather data for and start an instance of abusiness process.

29

TIBCO ActiveMatrix® BPM Concepts

Procedure

1. Using Workspace or Openspace, a user selects and clicks the Submit claim business service. Thisstarts the Submit claim business service.

2. The user immediately sees the Get user’s name and policy number form, enters their name andpolicy number, then clicks Submit.

3. The Start FNOL process send task starts an instance of the First Notification of Loss businessprocess, passing the name and policy number as inputs to the process. The Submit Claim businessservice terminates.

4. The First Notification of Loss business process uses the received name and policy number to obtainthe customer’s full details from the customer database, then generates a Handle claim work itemfor a Customer Service Representative, as the first step in processing the claim.

During the design phase of the First Notification of Loss business process, the businessanalyst or solution designer can automatically generate the Submit Claim businessprocess - there is no requirement to design and implement it from scratch.

Example 2 - Updating a Database

This example shows how a business service can be used to provide a simple business function,independent of any business process.

Procedure

1. Using Workspace or Openspace, a user selects and clicks the Update Customer Details businessservice. The Collect customer data form is displayed.

2. The user completes the form and clicks Submit.

3. The Update customer database service task updates the customer database with the new data.

4. The business service terminates.

Result

For more information about business services and how to use them, see the following references:

● "Business Services", in the TIBCO ActiveMatrix Workspace User’s Guide● "Working with the Business Services Gadget", in the TIBCO ActiveMatrix Openspace User’s Guide● "Using Pageflow Processes and Business Services", in the TIBCO Business Studio BPM Implementation

Guide

30

TIBCO ActiveMatrix® BPM Concepts

Process Instance MigrationProcess instance migration is the ability to migrate a long running process instance to a differentversion of the process template from which it was generated. Process instance migration is controlledby the use of migration points and migration rules.

● A migration point is a task in the process template at which a process instance can be migrated to adifferent version. Not all tasks are valid migration points - for example, tasks that have a parallelpath, or tasks that may have parallel executions due to multiple tokens flowing on a single path.Valid migration points are automatically identified by TIBCO Business Studio at design time andare denoted by an icon next to the task in the Process Modeler.

● A migration rule defines when, how and to what version a process instance will migrate. A migrationrule identifies the migration point in the process template from which a process instance willmigrate, and the process template version to which it will migrate.

See "Design Considerations for Process Migration" in the TIBCO Business Studio Modeling User’s Guide.

At runtime, when a process instance task that is defined as a migration point executes, TIBCOActiveMatrix BPM checks if a migration rule is set. If a migration rule is set, TIBCO ActiveMatrix BPM:

● migrates the process instance to the new version of the process template defined in the migrationrule.

● continues execution of the task using the migrated to version of the process instance.

Process instance migration can be performed in two ways:

● using Openspace. See "Working with the Process Templates Gadget" in theTIBCO ActiveMatrixOpenspace User’s Guide for more information about how to do this.

● using the TIBCO ActiveMatrix BPM web service API. See "Process Migration" in the TIBCOActiveMatrix BPM Developer’s Guide for more information about how to do this.

Example of Process Instance MigrationThe following figure shows version 1 of a process.

In this process:

● an icon next to a task shows that it is a valid migration point.

● the Pre-Mortgage Application Check, Mortgage Application Submitted and Decide tasks are validmigration points.

● The tasks Application Approved and Application Failed following the Decide gateway are notvalid migration points (as more than one task at a time could be active).

The following figure shows version 2 of the same process. A new task called Credit Check has beenadded to the process.

31

TIBCO ActiveMatrix® BPM Concepts

To migrate the process instances from Version 1 to Version 2, a migration rule is created that specifiesthe Mortgage Application Submitted task as the migration point.

A migration point must exist in both the source and destination versions of the process template.Credit Check is therefore not a valid migration point for migration between these two versions.

Note that:

● Process instances that have started executing against version 1 will migrate to Version 2 when theyhave finished executing the Pre-Mortgage Application task but not yet started to execute theMortgage Application Submitted Task.

● Process instances that have already started executing the Mortgage Application Submitted taskwill continue with Version 1 of the process.

This means that all process instances that have started executing against Version 1 of the processtemplate will migrate to Version 2 unless they have reached the Mortgage Application Submittedtask.

32

TIBCO ActiveMatrix® BPM Concepts

Organization Management

This section describes the organization management capabilities provided by the TIBCO ActiveMatrixBPM Work Manager.

Modeling the WorkforceEvery enterprise uses an organization model. This is typically a hierarchical structure that identifies theresources - people - who work for the organization, their structural relationships to one another and(possibly) other data about the resources. The model is typically maintained in one or more enterprisedirectories.

TIBCO ActiveMatrix BPM uses the enterprise’s own organization model as the basis for workdistribution. TIBCO ActiveMatrix BPM maintains its own model of the enterprise’s organizationalstructure. This organization model is based on the enterprise directory, augmented with additionalbusiness process management-related information required to manage work for users - for example, anemployee’s role (their job title or function), technical capabilities and so on.

Organization ModelThe main elements used in the organization model maintained by TIBCO ActiveMatrix BPM are asfollows: Organization Unit, Position, Resource, Capability, Group and Privilege.

Main TIBCO ActiveMatrix BPM Organization Model Elements

Organizations Organization Units and PositionsOrganizations, organization units and positions are structural elements that define the organizationalstructure of the enterprise:

● Organizations denote the overall container for an organizational hierarchy. Typically this means acompany.

● Organizational units represent structural associations of people in the context of the organization.Organizational units can represent traditional, hierarchical entities such as a division, department orteam. They can also represent functional or ad-hoc groupings, such as committee, a task force, aproject management organization, a class (for education) and so on.

● Positions define the membership roles of an organization unit. For example, a Customer Servicesdepartment may define the positions of manager, team leader and customer services representative.A position can be filled by any number of human resources.

33

TIBCO ActiveMatrix® BPM Concepts

Organizations, organization units and positions are defined in TIBCO Business Studio’s OrganizationModeler. Once defined, they can be used as process participants to define who a user task should bedistributed to.

GroupsGroups define the work that a particular group of users are capable of doing. They provide a functionalview of the organization, unrelated to the enterprise’s formal, structural organization.

For example, groups can define:

● a job title or function, such as Customer Service Representative or Loss Adjuster.● a technical skill set, such as Java software architects.

Groups can also be related in a hierarchical, tree-like structure (like structural elements) that refines thenature of the group as it deepens. In other words a Sub Group can be created from a parent Group, orexist along side each other. All members of a sub-group are members of the parent Group. For example,an insurance company could use a general Customer Services Representatives group, with sub-groupsfor those CSRs who specialize in motor or travel insurance. Specialization may be on any basisrequired, such as location, skills or the ability to speak a particular language.

Groups are defined in TIBCO Business Studio’s Organization Modeler. Once defined, they can be usedas process participants to define who a user task should be distributed to.

Resources (Users)Resources represent users - explicitly named individuals to whom work items can be distributed.Information on users is held in the LDAP-compliant corporate directories used by the enterprise.

Unlike other elements in the organization model, users are not defined in TIBCO Business Studio’sOrganization Modeler. Instead, users are added to TIBCO ActiveMatrix BPM at runtime from theenterprise’s LDAP-compliant corporate directories. They can then be assigned to positions and/orgroups. A user can be assigned to many groups/positions, and a group/position can be associated withmany users.

Once added to the system, users can access TIBCO ActiveMatrix BPM by logging in to a TIBCOActiveMatrix BPM client application. They can access their own work list, which contains all the workitems assigned to them. The privileges that they hold determine what parts of the system they can seeand what they can do.

PrivilegesPrivileges represent authorities - what a user is authorized to do, either with respect to TIBCOActiveMatrix BPM functionality or with respect to an application.

For example, being authorized to:

● approve expense claims● start process instances or business services● see the work lists of other users

Privileges can be further qualified - for example, to be allowed to approve expense claims up to a limitof $1000.

Using TIBCO Business Studio’s Organization Modeler, privileges can be defined and then assigned togroups, organization units and positions.

Users are not assigned privileges directly - instead, they inherit privileges based on their membershipof groups, organization units and positions.

Privileges can be used to control what a user can do in the following ways:

34

TIBCO ActiveMatrix® BPM Concepts

● They can be assigned to system actions. These are tasks that a user may wish to perform that mightneed to be authorized in some way - for example, re-allocating or skipping work-items. Only userswho hold that privilege are then allowed to execute that system action. See System Actions for moreinformation.

● They can be assigned to user access sets, which are used to control access to different components ofthe Workspace user interface. See the Workspace Configuration and Customization guide for moreinformation.

● They can be used as process participants to define who a user task should be distributed to. Forexample, a work item to issue a payment claim could be distributed only to users who have theprivilege to sign off final payments.

CapabilitiesCapabilities represent abilities, skills or aptitudes - what a user is capable of doing.

For example, a user may:

● speak a foreign language● hold professional qualifications in a particular area of business expertise● hold a driving license

Capabilities can be further qualified - for example, to be able to speak French, German or both.

Using TIBCO Business Studio’s Organization Modeler, capabilities can be defined and then assigned togroups and positions.

Users do not inherit capabilities based on their membership of groups and positions. Instead,capabilities must be assigned directly to users at runtime using the Organization Browser. See"Viewing/Editing Resource Information" in the Organization Browser User’s Guide for more informationabout how to do this.

Capabilities can be used in the following ways:

● They can define the entry criteria for a group or position. At runtime, an administrator can ensurethat they only add users to particular groups or positions who have the necessary skills. Forexample, only adding users who hold a particular qualification to a group of specialist motor claimshandlers.

TIBCO ActiveMatrix BPM does not enforce any defined entry criteria. The administratorcan, if they wish, add users who do not have the necessary skills to a group or position.

● They can be used as process participants to define who a user task should be distributed to. Forexample, in an insurance claims process, a work item to capture initial claim details could bedistributed only to call handlers who speak the language requested by the person reporting theclaim.

35

TIBCO ActiveMatrix® BPM Concepts

Creating the Organization ModelThis section covers the steps involved in creating the organization model.

Creating the Organization Model

Procedure

1. At design-time, the business analyst and solution designer create an organization model and deployit to TIBCO ActiveMatrix BPM.

The design-time model is an abstract view that does not include resources (users).

2. At runtime, an administrator uses the Organization Browser to perform the following tasks:a) Create LDAP containers. An LDAP container defines a collection of LDAP sources, which are

aliases for connections to LDAP-compliant corporate directories. These directories containdetails of potential resources (users) who may need to use or participate in TIBCO ActiveMatrixBPM applications.

The connection represented by an LDAP source must be defined in the TIBCO ActiveMatrixruntime using LDAP connection and LDAP authentication shared resources. (This can be donewhen TIBCO ActiveMatrix BPM is installed, or later using TIBCO Administrator.)

Both an LDAP source and an LDAP connection shared resource can (optionally) be configuredto define a base Distinguished Name (DN) to use as their search base for all searches. With thisflexibility, an administrator can create as many or as few LDAP containers as they need, eachproviding access to the desired subset of information available from the corporate directories.

b) Add resources (users) to TIBCO ActiveMatrix BPM from the LDAP containers.c) Assign those resources to positions and/or groups in the deployed organization model.

36

TIBCO ActiveMatrix® BPM Concepts

Result

For more detailed information about these steps, see the following references.

Topic Reference

Creating and deploying anorganization model ● TIBCO Business Studio Modeling User’s Guide

● TIBCO Business Studio BPM Implementation

Creating LDAP Connection and LDAPAuthentication shared resources/applications

● TIBCO ActiveMatrix BPM Installation and Configuration● TIBCO ActiveMatrix BPM Administration● TIBCO ActiveMatrix Administration

Add resources and assign them topositions and/or groups ● Organization Browser User’s Guide

Use of LDAP and Dynamic Organization ModelsFrom an Organization Unit extension point (places in a static organization model where you want theDynamic Organizations to appear) you need to perform an LDAP query.

The extension point is the holder of the LDAP Query configuration, and the point within the model atwhich Dynamic Organization Model instances resulting from that LDAP Query will be located andassigned.The LDAP Query is the search filter, used to identify LDAP entries by their attribute values.An attribute commonly used within these queries is ObjectClass: for example, where objectClass =organizationalUnit .

The LDAP Alias (LDAP Connection Shared Resource), Base-DN and Search Scope properties determinethe start position and depth of the search within the LDAP Directory.

There is a named LDAP attribute from which the name of the Dynamic Organization Model instanceswill be derived.

You need to map the Dynamic Organization Identifier fields to named LDAP attributes. The values ofthe named LDAP attributes, taken from the LDAP entry from which each instance is generated, will beused, by a process task, to uniquely identify the instance as a Participant of that task. It is, therefore,important that these named LDAP attributes hold values unique to each instance.

Any Base-DN, specified in the extension point configuration, will be appended to any Base-DN appliedto the URL of the selected LDAP Connection Shared Resource.

From each LDAP entry, returned by the LDAP Query, the values of the named LDAP Attribute will beread; and, for each value, a new instance of the Dynamic Organization Model will be created. Also, foreach new Dynamic Organization Model instance, the values of the LDAP Attributes mapped to theDynamic Organization Identifier fields will be read from the same LDAP entry and recorded againstthat instance.

See Dynamic Organization Participants for a graphic showing an Organization Unit extension pointwhere you want the Dynamic Organizations to appear in an Organization Model.

In TIBCO Business Studio you usually allocate work to a position. With a Dynamic Organization allthat exists is the template. The Dynamic Organization Identifier is used to map LDAP attributes(Attribute/LDAP attribute). This is likely to be the same LDAP Attribute from which the DynamicOrganization Model instance derives its name. See "Dynamic Organization Identifier Mapping" in theTIBCO Business Studio Modeling Guide.

37

TIBCO ActiveMatrix® BPM Concepts

See "Creating LDAP Containers" in the Organization Browser User's Guide.

Organization Model PartitioningTIBCO ActiveMatrix BPM’s approach to organization modeling provides a powerful and flexible wayof modeling an organization.

Using TIBCO Business Studio, analysts and developers can produce and use organization models thatprovide a view of the organization tailored to the needs of their specific application. An organizationmodel can encompass multiple organizations, the whole organization or just specific parts of it, asrequired.

An organization model can contain multiple organizations. In this case, it may be desirable for privacyreasons to ensure that users can only browse, edit and allocate work within the confines of theorganization(s) to which they have been given access.

An LDAP container can be associated with zero, one or more organization model organizations. Whenan LDAP container is associated with an organization, a user derived from that LDAP container canonly access (or be assigned to) organizations that are either associated with the same LDAP container,or not associated with any LDAP container. (The user cannot access organizations that are associatedonly with other LDAP containers.)

Organization Model VersioningVersioning is used to control the interaction of different organization models. When an organizationmodel is deployed, TIBCO ActiveMatrix BPM manages all updates (additions, deletions and changes)and resolves any conflicts caused by those updates.

Design Time

At design time, in TIBCO Business Studio:

● A project containing an organization model is given a version number, of the formmajor.minor.micro.qualifier.

● If a process participant is defined as an external reference to that organization model, the processdefinition records (internally) the major version number of the referenced organization model. Allreferences within a project must be to the same major version of the organization model.

If a project contains only additions to an existing runtime organization model, the version number maybe changed as required.

If a project contains a destructive change to an existing runtime organization model, the project’s majorversion number must be incremented. A destructive change is one that changes, or is intended toremove, an existing organization model entity. For example:● deleting a position (as opposed to simply not including it in the project - which is a partial

deployment)● changing the name of an organization unit

If a destructive change is made and the major version number is not incremented:● If an organization model entity has been changed, when the project is deployed TIBCO

ActiveMatrix BPM treats this as a destructive change to the referenced major version of theorganization model and raises an error. The deployment is rejected and no changes are made to theorganization model.

● If an organization model entity has been deleted, when the project is deployed TIBCO ActiveMatrixBPM treats this as an additive update to the referenced major version of the organization model. Thedeployment is accepted, but assumed to be only a partial deployment, so the entity is not deletedfrom the organization model.

38

TIBCO ActiveMatrix® BPM Concepts

Deployment

When an application that contains an organization model is deployed, TIBCO ActiveMatrix BPM eithercreates a new runtime organization model version, or modifies an existing one:

● An organization model with a new major version number is treated as a complete and separateruntime organization model.

● An organization model with a major version number that already exists is treated as an additiveupdate to the existing runtime organization model with that major version number.

An additive update does not need to contain all the entities defined in the originalorganization model of the same major version. (This is termed a partial deployment.) Anyorganization model entities not defined in the additive update remain in the model, theyare not deleted.

● The qualifier part of the version number, by default, becomes a timestamp recording the date andtime on which the application was deployed.

When you undeploy an organization model, the model's organization entities are removedimmediately if the same organization entities are not also part of another organization modeldeployment within the same major version. This happens even if another organization model, of thesame major version, was deployed after that organization model.

For example, deploy three organization models to the same major version: organization modelsv1.2.0 and v1.1.0 are deployed, in that order, and v1.2.0 contains entities 'a', 'b' and 'c', and v1.1.0contains entities 'a', 'b' and 'd'. If v1.2.0 is un-deployed, only entity 'c' would be removed, as 'a' and'b' are also in v1.1.0. Minor version numbers do not affect the order of deployment orundeployment.

Runtime

At runtime:

● When an application containing an organization model is deployed, if its name matches that of anexisting application, the TIBCO ActiveMatrix platform treats it as an upgrade. (The platform ignoresthe project’s version number when determining if the application is new or an upgrade.)

The platform deploys the new version and deletes the existing version of the application. (This hasimplications for existing process instances - see "Application Upgrade" in TIBCO Business Studio -BPM Implementation for more information.)

● TIBCO ActiveMatrix BPM manages deployed organization model artifacts, combining them to buildup the runtime organization model.

User Application Dependencies

At runtime:

● A process application has a dependency on the application that contains the referenced organizationmodel. The dependency can be resolved by a version of that application that has the same majorversion number, and a later minor and/or micro version number.

If a deployed process application has a dependency that cannot be resolved (because arequired organization model application version has been deleted), it will be left unable toexecute. In TIBCO ActiveMatrix Administrator, the application will be shown with a"Waiting for dependency" state.

● A user task in a process executes against the major version of the runtime organization model that isreferenced in the process definition.

These dependencies must be borne in mind when considering issues such as:

39

TIBCO ActiveMatrix® BPM Concepts

● naming conventions and version numbering schemes to be used for organization models.● the impact of upgrading an organization model - both on dependent process applications and on the

runtime organization model.● the impact of deleting an organization model - either directly, or indirectly as a result of an

application upgrade. - both on dependent process applications and on the runtime organizationmodel.

When you want to upgrade an organization model to a new major version, you should use the sameapplication name only if you are certain that the previous version is no longer needed.

If the previous organization model version is (or may be) still required, deploy the new version as anew application (that is, using a different application name). Both versions of the runtime organizationmodel will then continue to be available. Deployed processes can then be either left to run against theold version or upgraded to use the new one as required.

The following sections provide a series of examples that show how organization model versioningworks and how it can be used:

● Example - Phase 1 Deploying an Initial Organization Model● Example - Phase 2 Making an Additive Update to the Model● Example - Phase 3 Making a Destructive Update to the Model● Example - Phase 4 Extending the Organization Model● Example - Phase 4 An Alternative Implementation

Example - Phase 1 Deploying an Initial Organization ModelEasyAs Insurance is rolling out an implementation of a new application, starting with the CustomerServices division.

The initial implementation defines two applications:

● ClaimProc1 involves department a.● ClaimProc2 involves department b.

Design Time

The solution designer:

40

TIBCO ActiveMatrix® BPM Concepts

(1) Produces V1.0.0.qual of the ClaimsOrg organization model (in its own project).

(2) Adds participants from department a to ClaimProc1, and from department b to ClaimProc2. Eachparticipant is defined as an external reference to the ClaimsOrg organization model.

ClaimsOrg’s major version number (1) is recorded (internally) in the ClaimProc1 and ClaimProc2process definitions as part of the participant definitions.

Deployment

The solution designer:

(1) Deploys the ClaimsOrg organization model as the easyAsOrg1 application, version 1.0.0.ts.

(2) Deploys the ClaimProc1 and ClaimProc2 projects as the correspondingly named applications,version 1.0.0.ts.

Runtime

As the deployed ClaimsOrg organization model has a new major version number, TIBCO ActiveMatrixBPM creates it as a new runtime organization model.

Directory Services uses the deployment artifact from the 1.0.0.ts version of the easyAsOrg1 applicationto create a new V1 organization model.

User Application Dependencies

In the following diagram, application dependencies are shown using the convention [Min,Max):● Min is the version referenced when the process application is initially deployed. The square bracket

denotes that the value is inclusive.● Max is the next major version. The round bracket denotes that the value is exclusive.

For example, [1.0.0.ts,2.0.0.ts) denotes any version from 1.0.0.ts (inclusive) to 2.0.0.ts (exclusive). (The tsis not used in the comparison.)

ClaimProc1 and ClaimProc2 both:

(1) have a dependency on the easyAsOrg1 application, version 1.0.0.ts (inclusive) to version 2.0.0.ts(exclusive).

41

TIBCO ActiveMatrix® BPM Concepts

(2) execute against V1 of the runtime organization model.

Example - Phase 2 Making an Additive Update to the ModelFollowing some user testing, EasyAs decide that they need to change one of the processes to involve anadditional department, c.

Design Time

The solution designer:

(1) Adds department c to the ClaimsOrg organization model.

(2) Changes the ClaimsOrg project’s version number to 1.1.0.ts. (As this is an extension to the existingorganization model, the version number can be changed on the minor or micro level.)

(3) Modifies ClaimProc2 to use participants from departments b and c.

(4) Leaves ClaimProc1 unchanged, as it still just uses participants from department a.

Deployment

The solution designer:

(1) Deploys the ClaimsOrg organization model as an upgrade to the easyAsOrg1 application, as version1.1.0.ts.

(2) Upgrades the ClaimProc2 application to version 1.1.0.ts.

Runtime

TIBCO ActiveMatrix BPM merges the changes from the deployed ClaimsOrg organization model - theaddition of department c - into the existing V1 runtime organization model.

42

TIBCO ActiveMatrix® BPM Concepts

(1) Directory Services adds the deployment artifact from the 1.1.0.ts version of the easyAsOrg1application to the V1 organization model.

(2) The platform deletes the 1.0.0.ts version of the easyAsOrg1 application.

This is because the deployed application has the same name as an existing application. The versionnumber is irrelevant.

(3) Directory Services deletes the deployment artifact from the 1.0.0.ts version of the easyAsOrg1application.

(4) Directory Services uses the deployment artifact from the 1.1.0.ts version of the easyAsOrg1application as the V1 organization model.

User Application Dependencies

In the following diagram, application dependencies are shown using the convention [Min,Max):● Min is the version referenced when the process application is initially deployed. The square bracket

denotes that the value is inclusive.● Max is the next major version. The round bracket denotes that the value is exclusive.

For example, [1.0.0.ts,2.0.0.ts) denotes any version from 1.0.0.ts (inclusive) to 2.0.0.ts (exclusive). (The tsis not used in the comparison.)

(1) ClaimProc1 has not been upgraded, so still has a dependency on the easyAsOrg1 application,version 1.0.0.ts (inclusive) to version 2.0.0.ts (exclusive).

(2) ClaimProc2 has a dependency on the easyAsOrg1 application, version 1.1.0.ts (inclusive) to version2.0.0.ts (exclusive).

43

TIBCO ActiveMatrix® BPM Concepts

(3) ClaimProc1 and ClaimProc2 both execute against V1 of the runtime organization model (which nowincludes departments a, b and c.)

If the organization model 1.0.0.ts had more entities that the one deployed in 1.1.0.ts, the un-deploymentof 1.1.0.ts removes those additional entities.

So, if 1.0.0.ts contained a, b and d, and 1.1.0.ts contained a, b and c, entity d would be removed after1.1.0.ts is deployed (causing 1.0.0.ts to be un-deployed).

To avoid this, change the name of the application when deploying the updated model (and deploy as anew application and not as an upgrade).

Example - Phase 3 Making a Destructive Update to the ModelA company reorganization now occurs which results in department b being broken up.

Design Time

The solution designer:

(1) Removes department b from the ClaimsOrg organization model.

(2) Changes the ClaimsOrg project’s version number to 2.0.0.qual. (As this is a destructive change to theexisting organization model, the major part of the version number must be changed.)

(3) Modifies ClaimProc2 to remove participant references to department b.

(4) Updates ClaimProc1 so that ClaimsOrg’s updated major version number (2) is reflected (internallyin the process definition) in its participant references to department a.

If ClaimProc1 is not updated, at runtime it will continue to try and use participants defined in V1 of theorganization model.

Deployment

The solution designer:

(1) Deploys the ClaimsOrg organization model as an upgrade to the easyAsOrg1 application, as version2.0.0.ts.

Using the same application name (that is, upgrading) undeploys the V1 runtime organization model.(This is why ClaimProc1 must also be updated as described above - see User ApplicationDependencies .)

44

TIBCO ActiveMatrix® BPM Concepts

(2) Upgrades the ClaimProc1 and ClaimProc2 applications to, respectively, version 1.1.0.ts and version2.0.0.ts.

Runtime

TIBCO ActiveMatrix BPM:

(1) creates a V2 runtime organization model.

(2) deletes the V1 runtime organization model.

(1) Directory Services uses the deployment artifact from the 2.0.0.ts version of the easyAsOrg1application to create a new V2 organization model.

(2) The platform deletes the 1.1.0.ts version of the easyAsOrg1 application (because it has the samename as the deployed application).

(3) Directory Services deletes the deployment artifact from the 1.1.0.ts version of the easyAsOrg1application. As there are no longer any deployment artifacts contributing to the V1 organization model,it is deleted.

User Application Dependencies

In the following diagram, application dependencies are shown using the convention [Min,Max):● Min is the version referenced when the process application is initially deployed. The square bracket

denotes that the value is inclusive.● Max is the next major version. The round bracket denotes that the value is exclusive.

For example, [1.0.0.ts,2.0.0.ts) denotes any version from 1.0.0.ts (inclusive) to 2.0.0.ts (exclusive). (The tsis not used in the comparison.)

ClaimProc1 and ClaimProc2 both:

45

TIBCO ActiveMatrix® BPM Concepts

(1) have a dependency on the easyAsOrg1 application, version 2.0.0.ts (inclusive) to version 3.0.0.ts(exclusive).

Although ClaimProc1 does not reference department b, its participant references (to department a)must be updated to use the new version. If this is not done, ClaimProc1 would still have a dependencyon the easyAsOrg1 application, version 1.0.0.ts (or later 1.x.x.ts).

As the 1.1.0.ts application has now been deleted, this dependency cannot be resolved and theClaimProc1 application would enter a "Waiting for dependencies" state.

(2) execute against V2 of the runtime organization model (which now includes only departments a andc.)

Example - Phase 4 Extending the Organization ModelFinally, the project is rolled out to include other parts of the company.

The initial Finance division implementation defines a single application, FinanceProc1, which involvedepartments d, e and f.

Design Time

The solution designer:

(1) Creates a FinanceOrg organization model with a version number of V2.1.0.ts.

(2) Adds participants from departments d, e and f to FinanceProc1. Each participant is defined as anexternal reference to the FinanceOrg organization model.

FinanceOrg’s major version number (2) is recorded (internally) in the FinanceProc1 process definitionas part of the participant definitions.

The FinanceOrg organization model does not need to include departments a and c - it simply providesa view of those parts of the organization that are relevant to the Finance department and theFinanceProj1 application.

Because this will be an extension to the existing runtime organization model (which does not impactdepartments a and c) the same major version number can be used with an update to the minor versionnumber.

Deployment

The solution designer:

46

TIBCO ActiveMatrix® BPM Concepts

(1) Deploys the FinanceOrg organization model as the easyAsOrg2 application, version 2.1.0.ts.

(2) Deploys the FinanceOrg project as the FinanceProc1 application, version 1.0.0.ts.

Runtime

TIBCO ActiveMatrix BPM merges the changes from the deployed FinanceOrg organization model - theaddition of departments d, e and f - into the existing V2 runtime organization model.

(1) Directory Services adds the deployment artifact from the 2.1.0.ts version of the easyAsOrg2application to the V2 organization model.

This establishes a dependency on the deployment artifact from the 2.0.0.ts version of the easyAsOrg1application.

(2) The platform does not delete the 2.0.0.ts version of the easyAsOrg1 application (because it has adifferent name from the deployed application).

(3) The V2 organization model is the combination of both deployment artifacts.

User Application Dependencies

In the following diagram, application dependencies are shown using the convention [Min,Max):● Min is the version referenced when the process application is initially deployed. The square bracket

denotes that the value is inclusive.● Max is the next major version. The round bracket denotes that the value is exclusive.

For example, [1.0.0.ts,2.0.0.ts) denotes any version from 1.0.0.ts (inclusive) to 2.0.0.ts (exclusive). (The tsis not used in the comparison.)

47

TIBCO ActiveMatrix® BPM Concepts

(1) FinanceProc1 has a dependency on the easyAsOrg2 application, version 2.1.0.ts (inclusive) toversion 3.0.0.ts (exclusive).

(2) ClaimProc1 and ClaimProc2 have a dependency on the easyAsOrg1 application, version 2.0.0.ts(inclusive) to version 3.0.0.ts (exclusive).

(3) ClaimProc1, ClaimProc2 and FinanceProc1 all execute against V2 of the runtime organization model(which includes departments a, c, d, e and f).

If the FinanceOrg organization model was instead deployed as version 3.0.0.ts of the easyAsOrg1application:● Version 2.0.0.ts of the easyAsOrg1 application would be deleted.● This would undeploy the V2 runtime organization model. The ClaimProc1 and ClaimProc2

applications would then enter a "Waiting for Dependencies" state, as they would be unable toresolve their references to departments a and c.

Alternative Scenario

Instead of using a new application name, the FinanceOrg project could have been deployed as version2.1.0.ts of the easyAsOrg1 application. This would have resulted in the scenario shown below.

In this case:

(1) FinanceProc1 has a dependency on the easyAsOrg1 application, version 2.1.0.ts (inclusive) toversion 3.0.0.ts (exclusive).

(2) ClaimProc1 and ClaimProc2 have a dependency on the easyAsOrg1 application, version 2.0.0.ts(inclusive) to version 3.0.0.ts (exclusive).

Although version 2.0.0.ts of this application has been deleted, the dependency is still resolved byversion 2.1.0.ts.

(3) ClaimProc1, ClaimProc2 and FinanceProc1 execute against V2 of the runtime organization model(which now includes only departments a, c, d, e and f).

Example - Phase 4 An Alternative ImplementationThe preceding example showed how the separate ClaimsOrg and FinanceOrg organization modelscould be merged into a single runtime model, by using the same major version number.

However, the Finance division could equally have kept their organization model completely separateby using a different major version number.

48

TIBCO ActiveMatrix® BPM Concepts

Design Time

The solution designer:

(1) Creates a FinanceOrg organization model with a version number of V3.0.0.qual.

(2) Adds participants from departments d, e and f to FinanceProc1. Each participant is defined as anexternal reference to the FinanceOrg organization model.

FinanceOrg’s major version number (3) is recorded (internally) in the FinanceProc1 process definitionas part of the participant definitions.

Deployment

The solution designer:

(1) Deploys the FinanceOrg organization model as the easyAsOrg2 application, version 3.0.0.ts.

(2) Deploys the FinanceOrg project as the FinanceProc1 application, version 1.0.0.ts.

Runtime

TIBCO ActiveMatrix BPM creates the deployed FinanceOrg organization model as a new V3 runtimeorganization model.

49

TIBCO ActiveMatrix® BPM Concepts

(1) Directory Services uses the deployment artifact from the 3.0.0.ts version of the easyAsOrg2application to create a new V3 organization model.

(2) The platform does not delete the 2.0.0.ts version of the easyAsOrg1 application (because it has adifferent name from the deployed application).

(3) Both the V2 and V3 organization models are available.

User Application Dependencies

In the following diagram, application dependencies are shown using the convention [Min,Max):● Min is the version referenced when the process application is initially deployed. The square bracket

denotes that the value is inclusive.● Max is the next major version. The round bracket denotes that the value is exclusive.

For example, [1.0.0.ts,2.0.0.ts) denotes any version from 1.0.0.ts (inclusive) to 2.0.0.ts (exclusive). (The tsis not used in the comparison.)

(1) FinanceProc1 has a dependency on the easyAsOrg2 application, version 3.0.0.ts (inclusive) toversion 4.0.0.ts (exclusive).

(2) FinanceProc1 executes against the V3 runtime organization model.

(3) ClaimProc1 and ClaimProc2 have a dependency on the easyAsOrg1 application, version 2.0.0.ts(inclusive) to version 3.0.0.ts (exclusive).

(4) ClaimProc1 and ClaimProc2 continue to execute against V2 of the runtime organization model(which includes departments a and c).

Alternative Scenario

If the FinanceOrg project was instead deployed as a new major version of the easyAsOrg1 application -version 3.0.0.ts - the resulting scenario would be as shown below.

50

TIBCO ActiveMatrix® BPM Concepts

In this case:

(1) FinanceProc1 has a dependency on the easyAsOrg1 application, version 3.0.0.ts (inclusive) toversion 4.0.0.ts (exclusive).

(2) FinanceProc1 executes against V3 of the runtime organization model (which now includes onlydepartments d, e and f).

(3) ClaimProc1 and ClaimProc2 have a dependency on the easyAsOrg1 application, version 2.0.0.ts(inclusive) to version 3.0.0.ts (exclusive).

(4) ClaimProc1 and ClaimProc2 still reference V2 of the runtime organization model, which has beendeleted.

51

TIBCO ActiveMatrix® BPM Concepts

Work Management

Work management can be defined as the distribution and control of work that needs to be performedby human resources.

It involves:

● distributing the right tasks to the right people at the right time.● managing what happens when work doesn’t go to plan.● presenting a user with an appropriate user interface to a piece of work.● integrating work with business processes.

Work items are managed separately from the process that created them.

Distributing Work to UsersWhen an item of work is ready to be processed, TIBCO ActiveMatrix BPM has to determine whichuser(s) to distribute it to.

The initial stage in assigning a piece of work is carried out at design time, in TIBCO Business Studio.When a process designer creates a user task they must identify who that task will be performed by atruntime, by specifying organization model entities as participants for the user task.

At runtime, the design-time work distribution is resolved by TIBCO ActiveMatrix BPM, which resolvesthe specified organization model entities into a user or set of users who will receive the work item.

Numerous workforce management patterns also impact the way in which work is distributed to users.See Workflow Resource Patterns Support for more information.

Offering and Allocating WorkWork items can be either allocated to users, or offered to them. Allocated work is specifically given to asingle user to perform. Offered work is made available to a single user or to a group of users.

The following diagrams show the difference between these methods.

Allocating a work item to a specific user

52

TIBCO ActiveMatrix® BPM Concepts

Offering a work item to many users

Distribution Strategies and Offer Sets

At runtime, TIBCO ActiveMatrix BPM determines who a work item should be distributed to, andwhether it should be allocated or offered. What happens depends on how the user task that generatedthe work item was defined at design-time.

Offer Sets

An offer set is the set of valid resources who can execute a user task.

At design-time, the user task's participant definition defines the offer set.

At run-time, TIBCO ActiveMatrix BPM determines which users belong to that offer set.

Distribution Strategy

A distribution strategy determines how a work item should be distributed to the users who make upthe offer set.

At design-time, a user task's distribution strategy must be defined as one of:

● Offer to all: At run-time, TIBCO ActiveMatrix BPM offers the work item to all users who aremembers of the offer set.

● Allocate to one: At run-time, TIBCO ActiveMatrix BPM allocates the work item to a single user whois a member of the offer set. It determines which user to use by selecting an allocation method.These include:

— Round-robin. Work items are allocated to members in strict rotational order.— Random. Work items are allocated to members in random order.

Allocation methods can be assigned to organizational entities using TIBCO Business Studio’sOrganization Modeler. TIBCO ActiveMatrix BPM uses the allocation method assigned to therequisite organizational entity. If that entity does not have an allocation method, it usesRandom allocation instead.

53

TIBCO ActiveMatrix® BPM Concepts

● Allocate to offer-set member: A Performer Field must also be specified with this option, which theprocess must populate with the GUID of a specific member of the offer set. (For example, the userwho started the process.)

At run-time, TIBCO ActiveMatrix BPM allocates the work item to the user identified by the value ofthe Performer Field, who should be a member of the offer set. If that user is not a valid member ofthe offer set, the work item is instead offered to the remaining members of the offer set, as if theOffer to all distribution strategy had been used instead.The Allocate to offer-set member strategy allows you to support, for example, a case handler/account manager pattern, so that although the work item is originally allocated to a member of ateam, the team manager can still:

— see all items that were originally offered to the team.— re-allocate the work item to another member if required - for example, if the user who started

the case is off work due to sickness.— report on work from a team perspective.

The Allocate to offer-set member distribution strategy cannot be used with the ChainedExecution, Separation of Duties or Retain Familiar workflow patterns.

Resource Query Language

Resource Query Language (RQL)is a textual query syntax. It is used to identify resources within theBPM destination environment that meet a defined set of criteria. An RQL query returns a set ofresources that match the criteria expressed in the query. Work can then either be allocated to one ofthose resources, or offered to multiple individual resources.

RQL is dynamic, and is evaluated when the work item is created and whenever it changes. This meansthat if the items referred to by the RQL change in some way (for example if the resources mapped to anorganizational position are changed) then this will be reflected in the set of resources associated withthe work item.

For details of how RQL is used, see the TIBCO Business Studio Modeling User’s Guide and "AssigningParticipants to a User Task" in the TIBCO Business Studio BPM Implementation Guide.

You may want to consider whether to use Resource Query Language or Dynamic OrganizationParticipants. See Dynamic Organization Participants

ParticipantsWhen a process designer creates a user task, they can define the participant(s) who will perform thetask at runtime.

Participants are defined in the following ways:

● statically, by specifying one or more organizational entities - groups, positions, organization unitsor organizations.

● dynamically, by using runtime data to identify the required organizational entities.● using expressions, by building a query that interrogates the organization model to identify the

required organizational entities.This flexibility allows a process designer to handle both simple and complex distribution scenarioswithout impact on the overall process design. For example:

● offer a user task to all Customer Service Representatives.● allocate a user task to an accountant if the value to be signed off is less than $5000, but allocate it to

an Accounts Manager if the value is $5000 or more.● allocate a user task to a single loss adjuster who holds at least level 2 motor insurance certification

and is based in the Chicago office.

54

TIBCO ActiveMatrix® BPM Concepts

Dynamic Organization ParticipantsDynamic Organization Participants allow the creation of references to dynamic organization entities,that will only be completed when the organization model is deployed.

The User Task component passes a reference (Organization Entity Reference) to the OrganizationParticipant for work allocation.

Organization Entity References consist of:

● an OrganizationModel Major Version - the major version of the Organization Model in which theentity resides.

● an Entity Type - the type of Organization Entity expected; for example, GROUP, POSITION,ORGANISATION_UNIT.

● a GUID - the unique identifier of the Organization Entity (only unique within a given major versionof the Organization Model).

● The value of the Dynamic Organization Identifier fields.

The Organization Entity Reference is used to locate the Dynamic Organization Model, and use theDynamic Organization Identifier field values to identify the Dynamic Organization Model instance,under which it will locate the corresponding entity.

As an example; the figure below shows an Organization Model with a Dynamic Organization Model,the root node of which is named Branch. Branches is the name of the extension point. There are twoDynamic Organization Model instances, named Boston, and New York. A Dynamic OrganizationParticipant references the sales person Position within the Dynamic Organization Model (the GUIDwould actually be a generated value, but the name has been used here for clarity).

At runtime, the values of Dynamic Organization Identifiers Country and State will identify theparticular instance of the Dynamic Organization Model as the New York instance. It is from thatinstance that the Position sales person will be selected for the work allocation.

55

TIBCO ActiveMatrix® BPM Concepts

Push and Pull Distribution ModelsWork can either be "pulled" by users or "pushed" to them.

The usual model is pulled distribution. In this model, when a work item is generated it is added to auser’s work list. When the user is ready to work on the work item, they open - or pull - it from theirwork list. A user needs to login to Workspace or Openspace to access their work list.

TIBCO ActiveMatrix BPM also supports pushed distribution. In this model, when a work item isgenerated it is sent to a user as an email. The email contains the URL of the work item, which the usercan click to open and process the work item. The user does not need to login to Workspace orOpenspace to access a pushed work item, though they are required to authenticate themselves beforethey can open the work item.

The ability to receive pushed work items can be enabled for specific organizational entities and/orusers.

Pushed distribution is useful for occasional TIBCO ActiveMatrix BPM users - for example, managerswho only need to become involved in a process when some form of higher level approval is required.These users will typically not be logged into Workspace or Openspace all the time and so couldotherwise miss the arrival of high priority work items.

Presenting Work to UsersTIBCO ActiveMatrix BPM uses a number of different methods, tools and artifacts to present work tousers.

TIBCO ActiveMatrix BPM Client ApplicationsTIBCO ActiveMatrix BPM provides two default client applications - Workspace and Openspace - whichprovide users with a user interface to work generated by TIBCO ActiveMatrix BPM.

Users can use these clients to access and perform the functions they need to complete their daily tasks.For example, they can:

● log in to TIBCO ActiveMatrix BPM.● see the contents of their work list.● open work items and complete and submit the forms that are displayed.● apply filter and/or sort parameters so that only the desired work items are listed in the desired

order in their work list.● start business services.

TIBCO ActiveMatrix BPM client applications can be easily configured and customized to suit therequirements of a particular enterprise - see Flexible Runtime Clients.

Users’ access to individual client application functions can be controlled, based on the privileges thatthey hold.

Work ListsWhen a user logs into a TIBCO ActiveMatrix BPM client application, they are presented with a singleview of their work - the work list - that allows them to view and process all the work items currentlyassigned to them (whether offered or allocated, and however generated).

The work list:

● is maintained by TIBCO ActiveMatrix BPM.● is unique to each user.● is dynamically created.

56

TIBCO ActiveMatrix® BPM Concepts

● can also be retrieved using the TIBCO ActiveMatrix BPM web service API. See TIBCO ActiveMatrixBPM Web Service APIs for more information.

An offered work item appears in the work list of every qualifying user. When a user first opens it, thework item becomes allocated to them and is removed from all other users’ work lists. An allocatedwork item appears only in the work list of the user that it has been allocated to.

Tools are provided to allow users to sort and filter the contents of their work list according to differentcriteria, and to configure the work list display according to their preferences.

Users who have the privileges to perform specific system actions can also, for example, view the worklist for a particular organization unit or position.

Work ItemsWork items are the individual pieces of work that a user needs to perform.

When a user opens a work item they are presented with a user interface - typically a form - that allowsthem to process and complete the task. As soon as the user edits any information in the form, the workitem becomes allocated to them.

Once a work item has been allocated to a user, that user must complete it (although in some cases theycan re-offer or reallocate it).

Forms and Presentation Channels - Separating Presentation from ContentA work item’s content is the data that is presented to the user for them to process. A work item’spresentation is how that data appears to the user. A work item can be presented to a user using differenttechnologies - for example, as TIBCO Forms, as pageflows, or using email messages.

TIBCO ActiveMatrix BPM separates a work item’s presentation from its content. TIBCO BusinessStudio further separates the abstract design of a form from the details of how to implement that designin a particular technology.

This separation greatly simplifies both the design and runtime administration of user tasks/work itemsand their associated forms. The following artifacts are involved:

● A form (or a pageflow process) defines a user interface for a work item.● A channel type defines a technical method employed to deliver and display a form to a user. The

specification of a channel type defines both a delivery mechanism (for example, web client or email)and a rendering technology such as GWT (Google Web Toolkit).

● A presentation channel is a container for a selection of available channel types; it defines the waysin which a form can be delivered and presented to users.

At design time, process designers can design different presentation channels and assign them toprojects as they require. TIBCO Business Studio automatically generates an implementation of eachform defined in the project for each channel type defined in the project’s presentation channel(s).

When the project is deployed, all the generated forms and presentation channels are deployed toTIBCO ActiveMatrix BPM.

Client applications are configured to use a specific deployed presentation channel.

At runtime, TIBCO ActiveMatrix BPM determines which form it should use when it receives a requestto display a work item. Figure 3 illustrates how this works.

57

TIBCO ActiveMatrix® BPM Concepts

How TIBCO ActiveMatrix BPM displays work to a user.

(1) A user opens a work item in a client application, such as Workspace or Openspace.

(2) The client passes the request to open the work item to TIBCO ActiveMatrix BPM. The client’sconfiguration identifies the presentation channel that it uses.

(3) TIBCO ActiveMatrix BPM locates the form deployed for this work item and presentation channel,and displays it to the user.

If a form has not been created and deployed for a work item on the specified channel, TIBCOActiveMatrix BPM displays a default form instead. Process designers may find this feature useful forrapid prototyping, as it allows them to concentrate on the process and data aspects of their designwithout having to worry about presentation.

PageflowsA pageflow is a specialized version of a normal business process that can be used to provide ananimated user interface - a sequence of forms rather than just a single form - for a single work item tothe same user.

A pageflow process can also include other activities - such as web service or database calls, scripts andconditional logic - which can be used to drive the interaction with the user. Pageflows can also bechained together.

For example, an insurance company process includes a user task to capture claim details from acustomer. Instead of a form, the process designer creates a pageflow and associates it with the user task.The pageflow process:

● presents an initial form which allows the user to enter the claimant’s policy number.● calls a policy database to obtain the policy details.● presents a second form to the user which displays the policy details and allows them to continue

with the remaining claim information. (The pageflow would most likely contain an extendedsequence of forms, rather than just the two used in this simplified example.)

The process designer defines forms for the Get Policy Number and Get Claim Details usertasks in the pageflow process, in the same way as they would define a form for a businessprocess.

At runtime, when a user opens the Capture Claim Details work item, TIBCO ActiveMatrix BPM runsthe Capture Claim pageflow process. The user sees the Get Policy Number and Get Claim Details formsas a continuous dialogue - the second form is displayed as soon as they submit the first one. They donot have to open separate work items from their work list, and there is no possibility of the forms beinghandled by different users.

When the user submits the Get Claim Details work item, the pageflow process completes and controlreturns to the main business process, which then proceeds to the Capture Initial Reserve script step.

58

TIBCO ActiveMatrix® BPM Concepts

Unlike a normal business process, a pageflow process is stateless. If the process is not completed in full,any data set earlier in the process is lost. In the example above, if the user chose to cancel the Get ClaimDetails form, the data entered into the Get Policy Number form and retrieved from the Get PolicyDetails task would be lost.

59

TIBCO ActiveMatrix® BPM Concepts

Modeling and Implementing Applications

This section provides a brief overview of the steps required to model, implement and deploy anapplication that is to be executed by TIBCO ActiveMatrix BPM.

TIBCO Business Studio provides TIBCO ActiveMatrix BPM’s process modeling, implementation anddeployment environment.

Using TIBCO Business Studio’s Eclipse-based design environment:

● Business analysts can capture, design and model a business process.● Corporate developers can implement the process as an executable model for subsequent

deployment to the TIBCO ActiveMatrix BPM runtime.

TIBCO Business Studio can be used to design, model and implement applications for a variety of targetplatforms, TIBCO ActiveMatrix BPM being one of them.

The output of the modeling and implementation phases is a number of project artifacts (models):

● process - the formal representation of a business process that is to be run in TIBCO ActiveMatrixBPM. For example, claims management, recruitment or car hire.

● organization model - the formal representation of the organization (for example, the EasyAsInsurance company) against which the process will be run.

● business object model - the formal representation of the business domain data that will be used bythe process.

● (optionally) form or pageflow process - the formal representation of how a particular user task in aprocess is to be displayed at runtime.

● (optionally) business service - a specific type of a pageflow process, used to provide a "processstarter" mechanism for Workspace and Openspace users. See Business Services.

Project artifacts shows the relationship between these elements.

60

TIBCO ActiveMatrix® BPM Concepts

Project artifacts

Deployment of Project ArtifactsThe project artifacts that comprise an application are deployed on a per-project basis.

Project artifacts can be deployed in two ways:

● They can be deployed directly to TIBCO ActiveMatrix BPM, using Deployment Servers. Adeployment server defines a connection to TIBCO ActiveMatrix BPM.

● They can be saved as a distributed application archive (DAA) file, which can subsequently beuploaded to and deployed from TIBCO ActiveMatrix Administrator.

A previously deployed application can be upgraded using the same methods.

Once an application has been initially deployed to TIBCO ActiveMatrix BPM, it can only besubsequently upgraded if its service interface (defined by the WSDLs used to expose its services) hasnot changed. See "Application Upgrade" in TIBCO Business Studio - BPM Implementation for moreinformation.

61

TIBCO ActiveMatrix® BPM Concepts

Administration of TIBCO ActiveMatrix BPM

This section describes the administration and management features of TIBCO ActiveMatrix BPM.

Platform AdministrationPlatform administration involves the administration of TIBCO ActiveMatrix BPM itself, and of theunderlying platform elements that TIBCO ActiveMatrix BPM makes use of.

For example:

● managing additional configuration such as logging, threads or memory usage.● creating and managing shared resources (resource templates and resource instances) that are used

by TIBCO ActiveMatrix BPM, such as LDAP, SMTP and HTTP server connections.

Platform administration tasks are performed using TIBCO ActiveMatrix Administrator. See the TIBCOActiveMatrix Administrator documentation for more information.

Application ManagementApplication management involves the management of deployed business process managementapplications.

Some application management tasks can be performed using TIBCO ActiveMatrix Administrator. Forexample, deploying and undeploying an application.

Some application management tasks are performed using Workspace or Openspace. For example,managing deployed process templates and process instances.

Organization Model and Resource ManagementOrganization model and resource management involves the management of users who need to interactwith business process management applications.

Organization model and resource management tasks are performed using the Organization Browser.

At design-time, the business analyst and solution designer create an organization model view anddeploy it to TIBCO ActiveMatrix BPM - see Creating the Organization Model. The design-time model isan abstract view that does not include resources (users).

An administrator must manage the deployed organization model, using the Organization Browser to:

● add resources (users) to TIBCO ActiveMatrix BPM from LDAP containers. LDAP containers are acollection of one or more LDAP sources, which contain candidate resources for use with TIBCOActiveMatrix BPM.

● assign resources obtained from the LDAP sources to groups and/or positions in the deployedorganization model.

The tibco-admin UserTIBCO ActiveMatrix BPM is configured with a single internal user, called tibco-admin. This is an aliasto a user in an LDAP source.

This is the only user who is authorized to login until another user is configured (by using theOrganization Browser to create LDAP containers and create and map resources).

The name of the internal user can be changed if desired, by adding (or changing) the AdminLdapNameproperty in the de.properties file. See the TIBCO ActiveMatrix BPM Administration guide for moreinformation.

62

TIBCO ActiveMatrix® BPM Concepts

System Calendar ManagementSystem calendar management tasks are performed using the Calendar gadget in Openspace.

An administrator can define the following for the system calendar:

● the working week and associated daily working times.● working week exceptions - such as public holidays - as date-based working and non-working times.

The system calendar is intended to model working weeks and, for example, public holidays. It cannotmodel free/busy periods for individual resources (for example, meetings). See System Calendars formore information about calendars.

63

TIBCO ActiveMatrix® BPM Concepts

Logging and Auditing

This section describes the auditing and logging facilities provided by TIBCO ActiveMatrix BPM.

TIBCO ActiveMatrix BPM Logging and Auditing

(1) TIBCO ActiveMatrix BPM generates events recording its activity, which it logs to local log files.

(2) Selected events are forwarded to and stored in central event database tables.

(3) TIBCO ActiveMatrix BPM client application users can access the event database tables to displayaudit information for managed objects - processes, work items and so on.

(4) External products and utilities can access TIBCO ActiveMatrix BPM’s event database tables. Forexample:

● Products such as TIBCO Spotfire™ can use the data to perform enterprise analysis tasks by directlyaccessing the event collection tables of the database. See the TIBCO ActiveMatrix BPM Event CollectorSchema Reference for details of the database schema for the event collection tables.

● External applications can use the reporting API to generate custom reports.

(5) TIBCO ActiveMatrix BPM can publish audit data to a JMS topic hosted by a TIBCO EnterpriseMessage Service (EMS) server. A business activity monitoring (BAM) or other JMS reportingapplication can subscribe to the JMS topic to retrieve all TIBCO ActiveMatrix BPM audit messages.

Managed Objects and EventsManaged objects are tracked by TIBCO ActiveMatrix BPM in the runtime environment. Managedobjects include process templates, process instances, work items, organization model entities, resourcesand TIBCO ActiveMatrix BPM components.

Events are things that happen to managed objects that need to be recorded for logging and/or auditingpurposes. For example:

64

TIBCO ActiveMatrix® BPM Concepts

● when a process template is created, deleted or updated.● when a process instance is started, suspended, resumes or completes.● when a work item is opened, closed, suspended, submitted or completed.● when a resource is created, mapped to a group, updated or deleted.

An event records what happens to a managed object, when it happened, and the context that the eventhappened in.

The event format used by BPM is the TIBCO Base Event Format. This format is TIBCO’simplementation of the Common Base Event format defined in Canonical Situation Data Format: TheCommon Base Event v1.0.1.

You can configure whether TIBCO ActiveMatrix BPM purges all process instance data when theinstance completes, or whether it stores this information. See "Purging Processes through theCommand Line Interface" in TIBCO ActiveMatrix BPM Administrator's Guide for more information.

MeasuresTIBCO ActiveMatrix BPM provides various measures that can be queried to obtain statisticalinformation about process instances and work items.

For example:

● total number of process instances by their current status.● total number of work items for a process instance by work item status.● average duration of a process instance or work item

Measures can be:

● queried for all process templates, for an individual process template or for a group of processtemplates, according to requirements.

● categorized by hours, days, weeks, months or years, over a specified period of time.

For more information about measures and how to access them:

● using TIBCO ActiveMatrix Openspace, see "Using the Process Instances Related Measures Gadget"in the TIBCO ActiveMatrix Openspace User’s Guide.

● programmatically, see the following references in the TIBCO ActiveMatrix BPM Developer’s Guide:

— "Using Attributes in Query Filters", in "Working with Events".— description of the EventCollectorMeasuresService, in "EventCollectorMeasuresService".

LoggingLogging involves the recording of all events generated by TIBCO ActiveMatrix BPM to local log files.

Logging data can be used for numerous purposes, ranging from debugging within a system, through tostorage for non-repudiation logs, and all messaging in between.

Logging administration tasks are performed using TIBCO ActiveMatrix Administrator. See the TIBCOActiveMatrix Administrator documentation for more information.

Logging LevelsEvery logged event is categorized with one of a number of severity levels.

● DEBUG or TRACE events provide low-level diagnostic information about the system, which can beused to assist in diagnosing a process or system that is not behaving as expected. DEBUG or TRACEevents can generate high volumes of low level output, so is typically turned on and off as required.

65

TIBCO ActiveMatrix® BPM Concepts

● INFO and AUDIT events provide information about what is happening on a normally runningsystem. AUDIT events are those which you may wish to audit centrally, whereas INFO events arenot expected to need central auditing.

● SERVICE events are start and end messages from particular services.● WARN, ERROR or FATAL events provide warnings or errors about the system that need to be

relayed to system administrators and/or users.

Workspace LoggingWorkspace uses a different logging architecture from TIBCO ActiveMatrix BPM. Workspace providestwo types of logs, Application Log and Application Monitor.

Application LogThis log provides detailed debug information, as well as communications between the clientapplication and TIBCO ActiveMatrix BPM.

Application MonitorThis log provides debug information on error conditions and exceptions encountered.

For more information about these logs, see the Workspace documentation.

AuditingTIBCO ActiveMatrix BPM auditing involves the collection, correlation and central storage of selectedlogged events. Administrators can configure which events are forwarded to the central event databasetables.

Audit data can be used for numerous purposes - for example, displaying audit trail information tousers, or statistical analysis by external tools.

You can configure the level of auditing, using the BPM_CONFIG_FOLDER/bpm/configuration/ec-probe-rules.xml and BPM_CONFIG_FOLDER/bpm/configuration/ec-event-rules.xmlconfiguration files. These files define rules for selecting messages and processes that define what isdone with the messages eligible under those rules, both for local logging and for auditing in the centralevent database tables. By editing the files you can configure what messages are to be audited. TIBCOActiveMatrix BPM is delivered with the file set up to forward all ERROR messages and a defined list ofAUDIT messages to the event database tables. You can change the audit rules file to forward all AUDITevents, or you can change the specifications of exactly which messages are forwarded.

You can also define whether any or all of the 40 available user-defined work item attributes are to beaudited, either for all audited events or for particular events.

See TIBCO ActiveMatrix BPM Administration for more information.

Correlation and Sequencing of Audit DataTIBCO ActiveMatrix BPM uses a distributed, component-based application architecture. Related eventscan therefore be generated by different sources and at different times.

To account for this, events are logged with:

● a timestamp that includes a standard UTC offset.● a correlation identifier, which is shared by all events that are part of the same service call.● correlatable data, such as a managed object ID.

TIBCO ActiveMatrix BPM uses this information to correlate and sequence the events in the eventdatabase, so that the data can be meaningfully interpreted.

66

TIBCO ActiveMatrix® BPM Concepts

Workspace and Openspace Audit TrailUsers and system administrators can use Workspace or Openspace to view the audit trail for differentmanaged objects. For example, to see how a particular process instance is progressing.

TIBCO ActiveMatrix BPM provides a query API (Event Collection Services API) that external systemscan use to access the data in the central event database tables.

The API provides methods to execute ad-hoc and stored queries against the central event databasetables. See the TIBCO ActiveMatrix BPM - BPM Developer’s Guide for more information about the EventCollection Services API.

Publishing Audit Data to a Java Message Service (JMS) TopicTIBCO ActiveMatrix BPM can publish audit data to a JMS topic hosted by a TIBCO Enterprise MessageService (EMS) server.

Messages can be published using the following formats:

● TIBCO ActiveMatrix BPM Event format. These conform to the definition of the Event element in theec-basetypes schema.

● Common Base Event format. These conform to the Canonical Situation Data Format: The CommonBase Event v1.0.1.

The rules file ec-event-rules.xml is used to control whether messages and their attributes arewritten to the database and/or published to a JMS topic. It provides the same level of control as the ec-probe-rules.xml file which governs the level of auditing, and defines the connection details for theEMS server that hosts the topic, and the name and output format of the JMS topic to which audit datamessages will be published. You can only publish events and attributes that have been centrallyaudited, so the list of events and attributes in ec-event-rules.xml must be a subset of (or the same as)that in the ec-probe-rules.xml file.

This file replaces the rules that were in the ECPublicationJMS.properties in previous versions ofBPM.

A business activity monitoring (BAM) or other JMS reporting application can subscribe to the JMS topicto retrieve all TIBCO ActiveMatrix BPM audit messages.

The rules file allows you to enable and disable JMS publication, and also to configure what auditedmessages are to be published. TIBCO ActiveMatrix BPM is delivered with the file set up to publish adefined subset of messages, and a defined subset of attributes. You can change the rules file so that allaudited messages are published, or you can change the specifications of exactly which messages arepublished. You can make similar changes to the level of attribute publishing within published events.

See TIBCO ActiveMatrix BPM Administration for more information.

67

TIBCO ActiveMatrix® BPM Concepts

Security Features Provided by TIBCO ActiveMatrix BPM

This section describes the security features provided by TIBCO ActiveMatrix BPM.

AuthenticationAll access to TIBCO ActiveMatrix BPM requires the use of an authenticated user, whether that access isthrough run-time user interfaces, web service APIs, deployment or other supported access mechanisms.

Users must be registered with TIBCO ActiveMatrix BPM via the Organization Browser - see Organization Model and Resource Management.

TIBCO ActiveMatrix BPM uses the underlying security features provided by the TIBCO ActiveMatrixruntime to authenticate users.

Authenticating Logins from Openspace and Workspace UsersHTTP Basic Access Authentication (username/password) is used to authenticate logins from Openspaceand Workspace users.

HTTP or HTTPS can be used for the connection between the user’s browser and the TIBCOActiveMatrix runtime. However, using HTTP can present a security risk because the password will besent unencrypted over the connection. It is therefore essential for a secure system to use HTTPS.

See "Enabling SSL Communication with TIBCO ActiveMatrix BPM Runtime", in TIBCO ActiveMatrixBPM Administration for more information.

Single Sign On

Once a user has successfully logged in to Workspace or Openspace, and therefore been successfullyauthenticated, their security credentials are automatically maintained by TIBCO ActiveMatrix BPM.

They can access all services provided by TIBCO ActiveMatrix BPM without having to re-authenticate(until they log out again).

Authenticating Access to TIBCO ActiveMatrix BPM Web ServicesAt runtime, security policies are enforced on the endpoint of every TIBCO ActiveMatrix BPM service toensure that access is restricted to authenticated users.

Every API call to a TIBCO ActiveMatrix BPM web service must include an appropriate token in theSOAP header that can be used to authenticate the calling user. The token must:

● identify a valid TIBCO ActiveMatrix BPM user.● comply with one of the following WS-Security token validation protocols:

— Web Services Security UsernameToken Profile 1.0. This profile provides direct authentication,via a username and password.

— Web Services Security X.509 Certificate Token Profile, or Web Services Security: SAML TokenProfile 2.0 (using the "sender-vouches" subject confirmation method). These profiles enable theuse of single sign-on authentication. This means that a user who already has a login sessionwith the client application does not need to provide their login credentials again when calling aTIBCO ActiveMatrix BPM service (provided that their credentials are also valid for logging into TIBCO ActiveMatrix BPM).

An API call that does not meet this requirement will be rejected.

See the TIBCO ActiveMatrix BPM - BPM Developer’s Guide for more information.

68

TIBCO ActiveMatrix® BPM Concepts

Privilege-Based AuthorizationTIBCO ActiveMatrix BPM uses privilege-based authorization.

Privileges represent authorities - what a user is authorized to do, either with respect to TIBCOActiveMatrix BPM functionality or with respect to an application. See Privileges for more information.

System ActionsSystem actions are predefined system tasks that users may wish to perform, but which an organizationmay wish to control access to.

System actions provide access to a wide range of functions - for example, work list and work itemmanagement, process management and user administration. The following list contains a small sampleof the available system actions.

User AdminAdminister users (resources) using the Organization Browser.

View Work ListView another user’s work list.

Open Other Resources’ ItemsOpen work items that are currently allocated to other users.

Open Work Item Audit TrailOpen the audit trail for a work item.

Each system action has a system-wide default value, which is either:

● Allowed - The system action can be performed by any user without authorization.● Denied - The system action cannot be performed by any user unless they have the correct

authorization.

This default value can be overridden for individual users by using privileges. In TIBCO BusinessStudio, an analyst can assign privileges required to execute a particular system action against specificentities in the organization model. At runtime, only users who hold the required privileges will be ableto perform that system action.

See System Actions and Organization Model Versions for the effect of changing the assignment ofprivileges between versions of the organization model.

If a set of required privileges for a given system action is assigned to an organizational entity, thatsetting will apply to all users. Any users not holding those required privileges will be denied access tothat system action, for that organizational entity. The default will not be applied.

Scope of System ActionsThe scope of a system action is defined by where in the organization model the privilege required toperform that system action is assigned:

● The default scope of a system action is system-wide. (Either any user or no user can perform thesystem action.)

● Privileges can be assigned to any system action at the organization model level.● Privileges can also be assigned to some system actions at the level of the organization unit, position

or group.● A user can always perform certain actions (for example - View Work List and Set Resource Order

Filter Criteria) if they are themselves the explicit scope of that action - that is, if they are not justrelated by position or group.

69

TIBCO ActiveMatrix® BPM Concepts

For example, the following table shows the default value and the possible scope for the system actionsmentioned in the preceding section.

System Action

Permitted for allusers bydefault?

Assign a privilege required to perform thissystem action to:

- an OrganizationModel?

- an Organization Unit,Position or Group?

User Admin Yes Yes No

View Work List No Yes Yes

Open Other Resources’Items

No Yes Yes

Open Work Item AuditTrail

Yes Yes No

If different privileges are assigned to the same system action at different levels in the organizationmodel, each level is checked when determining whether a user has the necessary privilege to be able toperform a particular system action. If the lowest level has no required privileges assigned, the parententity is checked, and so on up the organization model hierarchy to the default, system-wide value.

For example, in the following diagram the "View work list" system action has been associated withthree different privileges, "X", "Y" and "Z", at three different level - the organization model,organization unit A, and position 2.

This means that a user must hold privilege "X", "Y" or "Z" to view the work list of a user who holdsPosition 2.

If a user wants to view the work list of a user who holds Position 1, they must hold privilege "X" or "Y".This is because no privilege has been associated with Position 1, so any privileges associated with theparent entity are used instead. If privilege "Y" had not been associated with Organization Unit A, theuser would instead need privilege "X", defined in the parent Organization Model.

As well as assigning different privileges at different levels, as shown above, qualifiers on the sameprivilege can be used to refine how access to a particular system action is controlled. (When comparinga required privilege to a held privilege, if either side is not qualified the comparison is positive. If bothsides are qualified, the qualifications must match for the comparison to be positive.)

70

TIBCO ActiveMatrix® BPM Concepts

Controlling access to system actions by the application of (user-defined) privileges within theorganization model provides an organization with a powerful and completely flexible way tocustomize and tailor users’ access to system functions.

Example of using System Actions to Control Users’ Access to System FunctionsThe following example presents a very simple scenario that illustrates how system actions can be usedto control users’ access to system functions.

The XYZ Insurance Claims Management Department shows the organization model of the XYZInsurance company’s Claims Management department. The department contains two sub-departments,Customer Service and Claims Handling. Each has a managerial position (Call Supervisor and ClaimsManager respectively) and a staff position (Call Handler and Claims Handler). The department isheaded overall by a VP Claims Management.

The XYZ Insurance Claims Management Department

To assist in processing work efficiently, the department has the following requirements:

● The VP Claims Management should be able to view the work list of anybody in the department.● The Call Supervisor should be able to view the work list of all Call Handlers.● The Claims Manager should be able to view the work list of all Claims Handlers.● The Claims Manager and Call Supervisor should not be able to view the work list of anybody in the

other department.

The system action View Work List can be used to implement these requirements. By default, no user isallowed to perform this action, so its use must be authorized at the appropriate levels. This is achievedin the following way:

● Using the TIBCO Business Studio Organization Modeler, the business analyst defines a privilegecalled Manage Work. This will be used to control access to other users’ work lists. He also defines aDepartment qualifier for this privilege, the value of which will be used to identify whichdepartment the privilege applies to.

71

TIBCO ActiveMatrix® BPM Concepts

● The analyst assigns the Manage Work privilege to the View Work List system action for differententities in the organization model, as shown below.

This defines the privilege that will be required to view the work lists of users in the department, asfollows:

● To view a work list of a user in the Customer Service or Claims Handling organization unit, auser will need to hold the Manage Work privilege.

● To view a work list of a user who holds the Call Handler position, a user will need to hold eitheran unqualified Manage Work privilege, or hold the privilege with the Department qualifier setto CustServ.

● To view a work list of a user who holds the Claims Handler position, a user will need to holdeither an unqualified Manage Work privilege, or hold the privilege with the Departmentqualifier set to Claims.

72

TIBCO ActiveMatrix® BPM Concepts

● The analyst assigns the Manage Work privilege to the organization model entities that need it, asshown below.

This defines the privileges that will be inherited by users who are assigned to the followingpositions:

● The user who is the VP Claims Management will have the (unqualified) Manage Work privilege.● Call Supervisor users will have the Manage Work privilege, qualified with the value CustServ.● Claims Manager users will have the Manage Work privilege, qualified with the value Claims.

The organization model now contains the necessary information and is deployed to the TIBCOActiveMatrix BPM runtime.

● Using the Organization Browser, the administrator adds users from the company’s LDAP directoryto the appropriate positions in the organization model. These users inherit the privileges definedearlier, as shown below.

73

TIBCO ActiveMatrix® BPM Concepts

The following diagram shows how the system action and privilege settings interact at runtime, todetermine which users have access to which worklists.

(1) Sheila Morris, the VP Claims Management, can view the work lists of everybody in the CustomerServices and Claims Handling departments (Ed Young, Carol Watts, Phil Gregg, Jim Smith and TomJones).

(2) In the Customer Services department, Ed Young, the Call Supervisor, can view the work lists of hisCall Handler reports, Carol Watts and Phil Gregg. He cannot see the work lists of anybody in theClaims Handling department.

(3) In the Claims department, Jim Smith, the Claims Manager, can view the work list of his ClaimsHandler report, Tom Jones. He cannot see the work lists of anybody in the Customer Servicedepartment.

(4) The Call Handlers (Carol Watts and Phil Gregg) and Claims Handler (Tom Jones) cannot viewanybody else’s worklists, even in their own departments, as they have not been granted the ManageWork privilege.

74

TIBCO ActiveMatrix® BPM Concepts

(5) Nobody in the Customer Service or Claims Handling departments can view Sheila Morris’ work list.This is because no privilege has been assigned to the View Work List system action for either theClaims Management organization unit or the VP Claims Management position.

System Actions and Organization Model VersionsWhen testing whether a user has the authorization to perform a system action, that is that the userholds the required privileges, all major versions of the organization model are taken into account.

See "Organization Model Versioning" in TIBCO ActiveMatrix BPM - BPM Concepts for information onversions.

The privileges required to perform a system action are applied on a per-major-version basis. That is, thesame system action may require a different set of privileges in different major versions of theorganization model, and each set of required privileges is tested independently. Similarly, it is possiblethat a position to which a user is mapped may be granted different privileges in different versions ofthe organization model.

To use a system action, a user must be mapped to a position that has been granted all of the privilegesthat are required in any major version of the organization model.

To test for this, TIBCO ActiveMatrix BPM examines each major version of the organization model inturn. For each major version, BPM gathers the required privileges defined in that version for the systemaction. Then:

● If no required privileges have been defined in a given major version, that version is ignored.● If required privileges are found in a version, and the user does not hold all those privileges, BPM

proceeds to test other major versions.● If any required privileges are found in a version, and the user holds all those privileges in that

version, access to the system action is granted and the search stops: no further major versions of theorganization model are checked.

If BPM has checked all the major versions of the organization model that exist, then:

● If a required privilege is defined in any major version, but the user does not qualify for access (seethird bullet above), then access to the system action is denied.

● If there are no required privileges for the system action in any major version, access is granted ordenied using the default access for that system action. Some system actions are open to all users bydefault unless any required privileges have been defined to override this default, while othersystem actions are denied by default; see "System Actions Reference" in the TIBCO ActiveMatrixBPM - BPM Developer’s Guide.

Different Organization Models with the Same Major Version

All organization models of the same major version - for instance, versions 2.0, 2.1, 2.2, 2.2.1, and 2.3—are merged, and any required privileges set against any system action in any such version are similarlymerged. Therefore, to use a system action, a user must hold all the required privileges that are definedin all organization models of the same major version.

Example of using System Actions to Control Users’ Access to System Functions(Continued)

In the organization described in the example referred to below, changes in the business lead to theintroduction of a new version of the organization model. In this Version 2.0, the system action "ViewWork List" no longer requires the Manage Work privilege.

See Example of using System Actions to Control Users’ Access to System Functions

Carol Watts tries to view her colleague Phil Gregg’s worklist. In the current version of the organizationmodel, there are no required privileges to prevent her doing this. Therefore:

75

TIBCO ActiveMatrix® BPM Concepts

● TIBCO ActiveMatrix BPM examines each major version of the organization model in turn. It startswith the current Version 2.0. No required privileges have been defined in this major version, so thatversion is ignored.

● Testing Version 1.0. however, BPM finds that a required privilege has been defined, the ManageWork privilege. In that same version, Carol Watts does not hold this privilege.

● BPM therefore does not grant Carol access, but proceeds to look for other major versions to test.Finding none, it refuses Carol access to the "View Work List" system action, even though there is norestriction in the latest version of the organization model to prevent her.

76

TIBCO ActiveMatrix® BPM Concepts

Workflow Patterns Reference

This section describes the workflow patterns (Workflow Resource Patterns, Workflow Process Patterns,and Workflow Data Patterns) that are supported in this release of TIBCO ActiveMatrix BPM.

Sample projects demonstrating the use of some of these patterns with TIBCO ActiveMatrix BPM areavailable on the TIBCO Developer Network, in the TIBCO Business Studio Developer center, at http://developer.tibco.com/business_studio/samples.jsp.

Workflow Resource Patterns SupportWorkflow resource patterns capture the various ways in which resources are represented and utilizedin workflows. Implementing these patterns gives TIBCO ActiveMatrix BPM the capability to handle thewidest range of possible scenarios for modeling and executing business processes.

See Workflow Patterns Support.

The table lists the workflow resource patterns that are supported in this release of TIBCO ActiveMatrixBPM.

The pattern numbers, names and descriptions are those defined by the Workflow Patterns initiative.See:

● http://www.workflowpatterns.com/patterns/resource/index.php● N. Russell, W.M.P. van der Aalst, A.H.M. ter Hofstede, and D. Edmond. Workflow Resource

Patterns: Identification, Representation and Tool Support. (PDF, 206 Kb). In Proceedings of the 17thConference on Advanced Information Systems Engineering (CAiSE'05), volume 3520 of LectureNotes in Computer Science, pages 216-232. Springer-Verlag, Berlin, 2005.

Supported workflow resource patterns

PatternNumber Pattern Name Pattern Description

Creation Patterns

1 Direct Distribution The ability to specify at design time the identity of theresource(s) to which instances of this task will be distributedat runtime.

2 Role-Based Allocation The ability to specify at design time that a task can only beexecuted by resources which correspond to a given role.

3 Deferred Distribution The ability to specify at design-time that the identification ofthe resource(s) to which instances of this task will bedistributed will be deferred until runtime.

4 Authorization The ability to specify the range of privileges that a resourcepossesses in regard to the execution of a process. In themain, these privileges define the range of actions that aresource can initiate when undertaking work itemsassociated with tasks in a process.

5 Separation of Duties The ability to specify that two tasks must be executed bydifferent resources in a given case.

77

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

7 Retain Familiar Where several resources are available to undertake a workitem, the ability to allocate a work item within a given caseto the same resource that undertook a preceding work item.

8 Capability-BasedDistribution

The ability to distribute work items to resources based onspecific capabilities that they possess. Capabilities (and theirassociated values) are recorded for individual resources aspart of the organization model.

10 OrganizationalDistribution

The ability to distribute work items to resources based theirposition within the organization and their relationship withother resources.

11 Automatic Execution The ability for an instance of a task to execute withoutneeding to utilize the services of a resource.

Push Patterns

13 Distribution by Offer –Multiple Resources

The ability to offer a work item to a group of selectedresources.

14 Distribution byAllocation - SingleResource

The ability to distribute a work item to a specific resourcefor execution on a binding basis.

15 Random Allocation The ability to allocate work items to a selected resourcechosen from a group of eligible resources on a random basis.

16 Round RobinAllocation

The ability to allocate a work item to a selected resourcechosen from a group of eligible resources on a cyclic basis.

19 Distribution onEnablement

The ability to advertise and allocate work items to resourcesat the moment they are enabled for execution.

Pull Patterns

21 Resource-InitiatedAllocation

The ability for a resource to commit to undertake a workitem without needing to commence working on itimmediately.

22 Resource-InitiatedExecution - AllocatedWork Item

The ability for a resource to commence work on a work itemthat is allocated to it.

23 Resource-InitiatedExecution - OfferedWork Item

The ability for a resource to select a work item offered to itand commence work on it immediately.

78

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

24 System-DeterminedWork Queue Content

The ability of the workflow engine to order the content andsequence in which work items are presented to a resourcefor execution.

25 Resource-DeterminedWork Queue Content

The ability for resources to specify the format and content ofwork items listed in the work queue for execution.

26 Selection Autonomy The ability for resources to select a work item for executionbased on its characteristics and their own preferences.

Detour Patterns

27 Delegation The ability for a resource to allocate an unstarted work itempreviously allocated to it (but not yet commenced) toanother resource.

28 Escalation The ability of a system to distribute a work item to aresource or group of resources other than those it haspreviously been distributed to in an attempt to expedite thecompletion of the work item.

29 Deallocation The ability of a resource (or group of resources) torelinquish a work item which is allocated to it (but not yetcommenced) and make it available for distribution toanother resource or group of resources.

30 Stateful Reallocation The ability of a resource to allocate a work item that they arecurrently executing to another resource without loss of statedata.

31 Stateless Reallocation The ability for a resource to reallocate a work item that it iscurrently executing to another resource without retention ofstate.

32 Suspension-Resumption

The ability for a resource to suspend and resume executionof a work item.

33 Skip The ability for a resource to skip a work item allocated to itand mark the work item as complete.

Auto-Start Patterns

37 Commencement onAllocation

The ability to commence execution on a work item as soonas it is allocated to a resource.

79

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

38 Piled Execution The ability to initiate the next instance of a task (perhaps ina different case) once the previous one has completed withall associated work items being allocated to the sameresource. The transition to Piled Execution mode is at theinstigation of an individual resource. Only one resource canbe in Piled Execution mode for a given task at any time.

39 Chained Execution The ability to automatically start the next work item in acase once the previous one has completed. The transition toChained Execution mode is at the instigation of theresource.

Visibility Patterns

41 ConfigurableAllocated Work ItemVisibility

The ability to configure the visibility of allocated work itemsby process participants.

Multiple Resource Patterns

42 SimultaneousExecution

The ability for a resource to execute more than one workitem simultaneously.

Workflow Process Patterns SupportControl-flow patterns capture the various ways in which activities are represented and controlled inworkflows. Implementing these patterns gives TIBCO ActiveMatrix BPM the capability to handle thewidest range of possible scenarios for modeling and executing processes.

See Workflow Patterns Support.

The table lists the control-flow patterns that are supported in this release of TIBCO ActiveMatrix BPM.The pattern numbers, names and descriptions are those defined by the Workflow Patterns initiative.See:

● http://www.workflowpatterns.com/patterns/control/index.php● N. Russell, A.H.M. ter Hofstede, W.M.P. van der Aalst, and N. Mulyar. Workflow Control-Flow

Patterns: A Revised View. BPM Center Report BPM-06-22, BPMcenter.org, 2006.● W.M.P van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, and A.P. Barros. Workflow Patterns.

Distributed and Parallel Databases, 14(3), pages 5-51, July 2003

Supported control flow patterns

PatternNumber Pattern Name Pattern Description

Basic Control Flow Patterns

1 Sequence An activity in a workflow process is enabled after thecompletion of a preceding activity in the same process.

80

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

2 Parallel Split The divergence of a branch into two or more parallelbranches each of which execute concurrently.

3 Synchronization The convergence of two or more branches into a singlesubsequent branch such that the thread of control ispassed to the subsequent branch when all input brancheshave been enabled.

4 Exclusive Choice The divergence of a branch into two or more branches.When the incoming branch is enabled, the thread ofcontrol is immediately passed to precisely one of theoutgoing branches based on the outcome of a logicalexpression associated with the branch.

5 Simple Merge The convergence of two or more branches into a singlesubsequent branch. Each enablement of an incomingbranch results in the thread of control being passed to thesubsequent branch.

Advanced Branching and Synchronization Patterns

6 Multi-Choice The divergence of a branch into two or more branches.When the incoming branch is enabled, the thread ofcontrol is passed to one or more of the outgoing branchesbased on the outcome of distinct logical expressionsassociated with each of the branches.

7 StructuredSynchronizing Merge

The convergence of two or more branches (whichdiverged earlier in the process at a uniquely identifiablepoint) into a single subsequent branch. The thread ofcontrol is passed to the subsequent branch when eachactive incoming branch has been enabled.

8 Multi-Merge The convergence of two or more branches into a singlesubsequent branch such that each enablement of anincoming branch results in the thread of control beingpassed to the subsequent branch.

9 StructuredDiscriminator

The convergence of two or more branches into a singlesubsequent branch following a corresponding divergenceearlier in the process model. The thread of control ispassed to the subsequent branch when the first incomingbranch has been enabled. Subsequent enablements ofincoming branches do not result in the thread of controlbeing passed on. The discriminator construct resets whenall incoming branches have been enabled.

81

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

29 CancellingDiscriminator

The convergence of two or more branches into a singlesubsequent branch following one or more correspondingdivergences earlier in the process model. The thread ofcontrol is passed to the subsequent branch when the firstactive incoming branch has been enabled. Triggering theCancelling Discriminator also cancels the execution of allof the other incoming branches and resets the construct.

30 Structured Partial Join The convergence of two or more branches (say m) into asingle subsequent branch following a correspondingdivergence earlier in the process model such that thethread of control is passed to the subsequent branchwhen n of the incoming branches have been enabledwhere n is less than m. Subsequent enablements ofincoming branches do not result in the thread of controlbeing passed on. The join construct resets when all activeincoming branches have been enabled. The join occurs ina structured context, i.e. there must be a single ParallelSplit construct earlier in the process model with whichthe join is associated and it must merge all of thebranches emanating from the Parallel Split. Thesebranches must either flow from the Parallel Split to thejoin without any splits or joins or be structured in form(i.e. balanced splits and joins).

32 Cancelling Partial Join The convergence of two or more branches (say m) into asingle subsequent branch following one or morecorresponding divergences earlier in the process model.The thread of control is passed to the subsequent branchwhen n of the incoming branches have been enabledwhere n is less than m. Triggering the join also cancelsthe execution of all of the other incoming branches andresets the construct.

Multiple Instance Patterns

12 Multiple InstanceswithoutSynchronization

Within a given process instance, multiple instances of anactivity can be created. These instances are independentof each other and run concurrently. There is norequirement to synchronize them upon completion.

13 Multiple Instances witha priori Design TimeKnowledge

Within a given process instance, multiple instances of anactivity can be created. The required number of instancesis known at design time. These instances are independentof each other and run concurrently. It is necessary tosynchronize the activity instances at completion beforeany subsequent activities can be triggered.

82

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

14 Multiple Instances Witha priori Run-TimeKnowledge

Within a given process instance, multiple instances of anactivity can be created. The required number of instancesmay depend on a number of runtime factors, includingstate data, resource availability and inter-processcommunications, but is known before the activityinstances must be created. Once initiated, these instancesare independent of each other and run concurrently. It isnecessary to synchronize the instances at completionbefore any subsequent activities can be triggered.

15 Multiple Instanceswithout a priori Run-Time Knowledge

Within a given process instance, multiple instances of atask can be created. The required number of instancesmay depend on a number of runtime factors, includingstate data, resource availability and inter-processcommunications and is not known until the final instancehas completed. Once initiated, these instances areindependent of each other and run concurrently. At anytime, whilst instances are running, it is possible foradditional instances to be initiated. It is necessary tosynchronize the instances at completion before anysubsequent tasks can be triggered.

State-based Patterns

16 Deferred Choice A point in a process where one of several branches ischosen based on interaction with the operatingenvironment. Prior to the decision, all branches representpossible future courses of execution. The decision is madeby initiating the first task in one of the branches i.e. thereis no explicit choice but rather a race between differentbranches. After the decision is made, executionalternatives in branches other than the one selected arewithdrawn.

18 Milestone A task is only enabled when the process instance (ofwhich it is part) is in a specific state (typically a parallelbranch). The state is assumed to be a specific executionpoint (also known as a milestone) in the process model.When this execution point is reached the nominated taskcan be enabled. If the process instance has progressedbeyond this state, then the task cannot be enabled now orat any future time (i.e. the deadline has expired). Notethat the execution does not influence the state itself, i.e.unlike normal control-flow dependencies it is a testrather than a trigger.

Cancellation and Force Completion Patterns

19 Cancel Task An enabled task is withdrawn prior to it commencingexecution. If the task has started, it is disabled and, wherepossible, the currently running instance is halted andremoved.

83

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

20 Cancel Case A complete process instance is removed. This includescurrently executing tasks, those which may execute atsome future time and all sub-processes. The processinstance is recorded as having completed unsuccessfully.

25 Cancel Region The ability to disable a set of tasks in a process instance. Ifany of the tasks are already executing (or are currentlyenabled), then they are withdrawn. The tasks need not bea connected subset of the overall process model.

Iteration Patterns

10 Arbitrary Cycles The ability to represent cycles in a process model thathave more than one entry or exit point.

21 Structured Loop The ability to execute a task or sub-process repeatedly.The loop has either a pre-test or post-test conditionassociated with it that is either evaluated at the beginningor end of the loop to determine whether it shouldcontinue. The looping structure has a single entry andexit point.

22 Recursion The ability of a task to invoke itself during its executionor an ancestor in terms of the overall decompositionstructure with which it is associated.

Termination Patterns

11 Implicit Termination A given process (or sub-process) instance shouldterminate when there are no remaining work items thatare able to be done either now or at any time in thefuture.

43 Explicit Termination A given process (or sub-process) instance shouldterminate when it reaches a nominated state. Typicallythis is denoted by a specific end node. When this endnode is reached, any remaining work in the processinstance is cancelled and the overall process instance isrecorded as having completed successfully, regardless ofwhether there are any tasks in progress or remaining tobe executed.

Trigger Patterns

23 Transient Trigger The ability for a task instance to be triggered by a signalfrom another part of the process or from the externalenvironment. These triggers are transient in nature andare lost if not acted on immediately by the receiving task.A trigger can only be utilized if there is a task instancewaiting for it at the time it is received.

84

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

24 Persistent Trigger The ability for a task to be triggered by a signal fromanother part of the process or from the externalenvironment. These triggers are persistent in form andare retained by the process until they can be acted on bythe receiving task.

Workflow Data Patterns SupportData patterns capture the various ways in which data is represented and utilized in workflows.Implementing these patterns gives TIBCO ActiveMatrix BPM the capability to handle the widest rangeof possible scenarios for modeling and executing data.

See Workflow Patterns Support.

The table lists the data patterns that are supported in this release of TIBCO ActiveMatrix BPM. Thepattern numbers, names and descriptions are those defined by the Workflow Patterns initiative. See:

● http://www.workflowpatterns.com/patterns/data/index.php● N. Russell, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst. Workflow Data Patterns:

Identification, Representation and Tool Support. (PDF, 281Kb) In Proceedings of the 24thInternational Conference on Conceptual Modeling (ER 2005), volume 3716 of Lecture Notes inComputer Science, pages 353-368. Springer-Verlag, Berlin, 2005.

Supported Data Patterns

PatternNumber Pattern Name Pattern Description

Data Visibility

1 Task Data Data elements can be defined by tasks which areaccessible only within the context of individualexecution instances of that task.

2 Block Data Block tasks (i.e. tasks which can be described interms of a corresponding subprocess) are able todefine data elements which are accessible by eachof the components of the correspondingsubprocess.

5 Case Data Data elements are supported which are specific toa process instance or case. They can be accessedby all components of the process during theexecution of the case.

7 Workflow Data Data elements are supported which are accessibleto all components in each and every case of theprocess and are within the context of the processitself.

85

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

8 Environment Data Data elements which exist in the externaloperating environment are able to be accessed bycomponents of processes during execution.

Internal Data Interaction

9 Task to Task The ability to communicate data elementsbetween one task instance and another within thesame case. The communication of data elementsbetween two tasks is specified in a form that isindependent of the task definitions themselves.

10 Block Task to Sub-Workflow Decomposition

The ability to pass data elements from a blocktask instance to the corresponding subprocessthat defines its implementation. Any dataelements that are available to a block task are ableto be passed to (or be accessed) in the associatedsubprocess although only a specificallynominated subset of those data elements areactually passed to the subprocess.

11 Sub-WorkflowDecomposition to BlockTask

The ability to pass data elements from theunderlying subprocess back to the correspondingblock task. Only nominated data elementsdefined as part of the subprocess are madeavailable to the (parent) block task.

12 Data Interaction - toMultiple Instance Task

The ability to pass data elements from apreceding task instance to a subsequent taskwhich is able to support multiple executioninstances. This may involve passing the dataelements to all instances of the multiple instancetask or distributing them on a selective basis. Thedata passing occurs when the multiple instancetask is enabled.

13 Data Interaction - fromMultiple Instance Task

The ability to pass data elements from a taskwhich supports multiple execution instances to asubsequent task. The data passing occurs at theconclusion of the multiple instance task. Itinvolves aggregating data elements from allinstances of the task and passing them to asubsequent task.

14 Data Interaction - Case toCase

The passing of data elements from one case of aprocess during its execution to another case thatis executing concurrently.

External Data Interaction

86

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

15 Task to Environment -Push Oriented

The ability of a task to initiate the passing of dataelements to a resource or service in the operatingenvironment.

16 Environment to Task -Pull Oriented

The ability of a task to request data elements fromresources or services in the operationalenvironment.

19 Data Interaction - Case toEnvironment - Push-Oriented

The ability of a case to initiate the passing of dataelements to a resource or service in theoperational environment.

Note: Case in this situation means a TIBCOActiveMatrix BPM process instance.

20 Data Interaction -Environment to Case -Pull-Oriented

The ability of a case to request data from servicesor resources in the operational environment.

Note: Case in this situation means a TIBCOActiveMatrix BPM process instance.

21 Data Interaction -Environment to Case -Push-Oriented

The ability of a case to accept data elementspassed to it from services or resources in theoperating environment.

Note: Case in this situation means a TIBCOActiveMatrix BPM process instance.

22 Data Interaction - Case toEnvironment - Pull-Oriented

The ability of a case to respond to requests fordata elements from a service or resource in theoperating environment.

Note: Case in this situation means a TIBCOActiveMatrix BPM process instance.

23 Data Interaction -Workflow to Environment- Push-Oriented

The ability of a process environment to pass dataelements to resources or services in theoperational environment.

24 Data Interaction -Environment to Workflow- Pull-Oriented

The ability of a process environment to requestglobal data elements from external applications.

25 Data Interaction -Environment to Workflow- Push-Oriented

The ability of services or resources in theoperating environment to pass global data to aprocess.

26 Data Interaction -Workflow to Environment- Pull-Oriented

The ability of the process environment to handlerequests for global data from externalapplications.

Data Transfer

87

TIBCO ActiveMatrix® BPM Concepts

PatternNumber Pattern Name Pattern Description

29 Data Transfer - Copy In/Copy Out

The ability of a process component to copy thevalues of a set of data elements from an externalsource (either within or outside the processenvironment) into its address space at thecommencement of execution and to copy theirfinal values back at completion.

30 Data Transfer byReference - Unlocked

The ability to communicate data elementsbetween process components by utilizing areference to the location of the data element insome mutually accessible location. Noconcurrency restrictions apply to the shared dataelement.

32 Data Transformation -Input

The ability to apply a transformation function to adata element prior to it being passed to a processcomponent. The transformation function hasaccess to the same data elements as the receivingprocess component.

33 Data Transformation -Output

The ability to apply a transformation function to adata element immediately prior to it being passedout of a process component. The transformationfunction has access to the same data elements asthe process component that initiates it.

Data-based Routing

38 Event-based Task Trigger The ability for an external event to initiate a taskand to pass data elements to it.

40 Data-Based Routing Data-based routing provides the ability to alterthe control-flow within a case based on theevaluation of data-based expressions. A data-based routing expression is associated with eachoutgoing arc of an OR-split or XOR-split. It can becomposed of any data-values, expressions andfunctions available in the process environmentproviding it can be evaluated at the time the splitconstruct with which it is associated completes.Depending on whether the construct is an XOR-split or OR-split, a mechanism is available toselect one or several outgoing arcs to which thethread of control should be passed based on theevaluation of the expressions associated with thearcs.

88

TIBCO ActiveMatrix® BPM Concepts