Plan For IBM Business Process Manager
Plan For IBM Business Process Manager
Use the Interactive Installation and Configuration Guide to generate a set of installation and configuration topics customized
your requirements.
The tool generates a single topic containing installation instructions pertaining to your scenario.
Installing into an existing WebSphere Application Server instance is not a path generated by the interactive guide tool.
You'll have to use the information center for that.
First BPM project Execution compatible with WebSphere Lombardi BPM Express
Edition
Process Designer authoring tool
Collaborative editing and immediate playback
Interactive user interfaces
ILOG-based process rules
Real-time monitoring and reporting
Performance analytics and optimizer
Performance Data Warehouse
IBM Process Center, with a shared asset
repository
Up to three process authors and 200 users
Two cores for developers, four cores for the
product. No clustering
Windows and Linux on Intel support
setgetweb.com/p/BPM85/plan.htm 1/42
6/23/2020 Plan for IBM Business Process Manager
Does not include Process Designer or Process Center.
For all other BPM editions, using the product launchpad, the typical installation installs the software, configures the
deployment manager and managed-node profiles, and configures a cluster with a single node and single server.
With a custom installation using a graphical interface, you can customize all installation settings.
With a custom installation using a command line, you can run a command that specifies installation settings.
With a custom installation using a response file, you create a file that specifies installation settings, and run an installation
command that calls it.
If you are migrating business data and applications from a previous version of BPM, use one of the custom installation
types.
Environments
Process Center provides a repository for process assets, a runtime environment for testing performance, and a console for
administering assets and deploying processes.
Process Server is a runtime environment for process applications, and a data warehouse for collecting performance. The
Process Server administrative console is used for for managing the runtime environments and data warehouses.
Configuring environments for Process Server and Process Center is two separate activities: Configure an environment for
one, and then another environment for the other.
When you deploy an application snapshot to a process server, the assets of that snapshot are moved from the Process Center
repository to the selected process server, which can be connected to a Process Center or offline. Use the Process Center
console or wsadmin to install the snapshot.
If the offline server option is chosen installation, Process Center is not installed. For examp,e you can choose to install an
offline Process Server if you already have a Process Center installed. Once Process Server is installed, you can add the
offline server to a Process Center.
If you are installing BPM Advanced: Process Server, the Process Center option is not available.
DB2 Express
For test or proof-of-concept environments, the installation process can automatically install an instance of IBM DB2
Express.
setgetweb.com/p/BPM85/plan.htm 2/42
6/23/2020 Plan for IBM Business Process Manager
If you are installing onto Linux on System z, AIX, Solaris, or z/OS, the installation process does not offer to install DB2
Express; use a database server product that you have already installed or will install.
You cannot install DB2 Express on any system that already has DB2 installed on it.
Installation tools
For BPM Express , use BPMConfig to create new stand-alone profiles.
For BPM Standard, BPM Advanced, and BPM Advanced: Process Server, you can choose to configure the profiles and
deployment environment all at the same time using BPMConfig, or separately using PMT and the Deployment Environment
wizard. To set up nodes and customize security settings use PMT to create the profiles, and the Deployment Environment
wizard to configure the deployment environment.
The interactive guide does not provide information for the path to take if you are augmenting existing profiles because your
are installing into an existing WebSphere Application Server. Use manageprofiles.sh.
When creating profiles, use parameter values that match the values specified in the properties file that BPMConfig uses for
the deployment environment setup. For example, if you set the value of cellName to Cell1, the properties file that
BPMConfig uses must also use the Cell1 value. If you omit optional parameter values, PMT creates default values that must
also match the required parameter values that are used by BPMConfig.
If the database is already created, you can choose to create the database tables during the creation of the deployment
environment, using either BPMConfig or the Deployment Environment wizard.
Environment types
When you create a deployment environment by using the Deployment Environment Wizard, you can choose the type of
deployment environment to create.
The deployment environment types enable different sets of function in the deployment environments:
Standard Process Center Administer process applications and toolkits authored in Process Designer.
Standard Process Server Run process applications deployed from the Standard Process Center.
Advanced Process Center Administer process applications and toolkits authored in Process Designer and
IBM Integration Designer.
Advanced Process Server Run processes, services, and SCA modules deployed from the Advanced
Process Center.
Advanced-only Process Server Run SCA modules only. Deployed from command line or WAS admin console.
BPM equivalent to WebSphere Process Server.
Requirements
BPM Advanced system requirements
BPM Standard system requirements
BPM Express system requirements
BPM Tools and Add-Ons requirements
setgetweb.com/p/BPM85/plan.htm 3/42
6/23/2020 Plan for IBM Business Process Manager
Application considerations
Factors:
Consider how process applications interact with existing services and back-end systems.
Consider how process applications handle data and how data flows through the system.
Consider:
How does the runtime environment handle asynchronous invocations. How does the SCA runtime environment
leverage the message system.
Needs are determined by factors such as export types, component types, interactions between components, import
types, resources needed such as databases or JMS resources, the need for business events, and the transmission
mechanism.
Types of business processes to implement (transactional business processes, interruptible business processes, non-
interruptible business processes)
Non-interruptible business processes, or microflows, are short-running business processes that run in one transaction
or without a transaction. Activities within one process are processed in a single thread.
Interruptible business processes, or macroflows, are long-running business processes that contain a set of activities,
each of which is performed in its own transaction, and can include activities that require human intervention or calls
to remote systems or both. Asynchronous activities cause a business process to be interruptible because these
activities might take minutes, hours, or even days to complete.
Resource considerations
Prepare a list of available hardware and software assets.
Ensure all servers involved, both for the product and the databases, use the same network time protocol and are set to
the same time.
Function
Breadth of use across the company
Security requirements
Deploy from WebSphere Yes. For WebSphere Adapters V6.2.0, install the interim fix titled Mandatory
Integration Developer adapter fix for running 6.1 and 6.2 Adapters on WPS v7.0. If you do not
version 6.2.0 or 7.0.0, plan to update the WebSphere Adapter to a V7.0 level, and you plan to
Integration Designer 7.5 or continue to use the application with WebSphere Adapter V6.2.0, apply
8.0 to BPM V8.5. this interim fix on the source environment.
setgetweb.com/p/BPM85/plan.htm 4/42
6/23/2020 Plan for IBM Business Process Manager
Websphere Adapter for SAP V6.0.2, V6.1.0, V6.1.2 and V6.2.0 are not
supported on BPM V8.5. You must update Websphere Adapter for SAP
to V7.0 before deploying.
Run BPM V8.5 artifacts on No. Applications authored with IBM Integration Designer V8.5 cannot be
WebSphere Process Server published to or installed on WebSphere Process Server 6.2.0, 7.0 or BPM
6.2.0 or 7.0, or BPM 7.5. 7.5 (any prior release) servers.
The Process Designer and Process Center versions must match at all times. Version mismatches between the two
components are not supported.
Process applications deployed to an earlier version of Process Center with only a fourth digit mismatch can be deployed to
Process Server by using an offline deployment mechanism. An online deployment is not supported in the case of a version
mismatch.
A later version of Process Center cannot deploy applications to an earlier version of Process Server.
Naming considerations
Do not use any of the following characters when naming your profile:
Spaces
Special characters not allowed within the name of a directory, such as *, &, or ?.
Slashes (/) or back slashes (\)
For Windows, the installation directory path must be less than or equal to 60 characters. The number of characters in the
profiles_directory_path\profile_name directory must be less than or equal to 80 characters.
Use a short path naming convention when you create a profile in a Windows environment to avoid the Windows 255
character path length limitation.
Naming guidelines
The following words are reserved, and should not be used:
cells
nodes
servers
clusters
applications
deployments
shortHostName is the
short host name.
NodeNumber is a
sequential number
starting at 01.
Server name server1 Use a unique name for the The logical name for the server.
server.
Host name The long form of the DNS Use a fully qualified host Use the actual DNS name or IP
name. name addressable through the address of your workstation to
network. enable communication with it.
Host name The long form of the DNS Use a fully Use the actual DNS
name. qualified name or IP address
host name of your workstation
addressable to enable
through the communication
network. with it.
SSL certificate subject common name (CN) Generated certificates use the The
host name as the subject common
common name (CN). name on the
certificate
must match
the host
name for
setgetweb.com/p/BPM85/plan.htm 6/42
6/23/2020 Plan for IBM Business Process Manager
SSL
verification.
Managed-node profiles...
Field
name Default value Constraints Description
Node name shortHostNamenodeNumber Use a unique name Used for administration within the
where: within the deployment deployment manager cell to which the
manager cell. managed-node profile is added. Use a unique
shortHostName is the name within the deployment manager cell.
short host name.
NodeNumber is a
sequential number
starting at 01.
Host name The long form of the DNS Use a fully qualified Use the actual DNS name or IP address of
name. host name addressable your workstation to enable communication
through the network. with it.
The host name must resolve to a physical network node on the server. When multiple network cards exist in the server, the
host name or IP address must resolve to one of the network cards. Do not use the generic identifier, localhost.
Do not use a server with a host name containing double-byte character set (DBCS).
Avoid using the underscore ( _ ) character in server names. If you have installed BPM on a server with an underscore
character in the server name, access the server with its IP address until you rename it.
For SSL, the host name the server connects to must match the common name (CN) in the SSL certificate.
For coexisting nodes on the same computer with unique IP addresses, define each IP address in a DNS look-up table.
Configuration files for servers do not provide domain name resolution for multiple IP addresses on a workstation with a
single network address.
The value specified for host name is used as the value of the hostName property in configuration documents. Specify using
one of the following formats:
Define the short name to 127.0.0.1 (local loopback) in the hosts file to run disconnected.
setgetweb.com/p/BPM85/plan.htm 7/42
6/23/2020 Plan for IBM Business Process Manager
User IDs, passwords, and roles needed for daily operations of the system:
User IDS for Business Process Choreographer containers for authentication with Business Flow Manager and Human
Task Manager.
User IDs or groups for synchronous calls to authenticate with Business Flow Manager and Human Task Manager.
Variables:
install_root
setgetweb.com/p/BPM85/plan.htm 8/42
6/23/2020 Plan for IBM Business Process Manager
Installation location of BPM. BPM is always installed in the same location as the WAS Network Deployment
installation with which it is associated.
profile_root
Default directories
install_root...
Root Nonroot
/opt/IBM/BPM/v8.5 user_home/IBM/BPM/v8.5
profile_root...
Root Nonroot
/opt/IBM/BPM/v8.5/profiles/profile_name user_home/IBM/BPM/v8.5/profiles/profile_name
DB2 Express...
Root Nonroot
/usr/IBM/WebSphere/AppServer user_home/IBM/WebSphere/AppServer
profile_name...
Root Nonroot
/usr/IBM/WebSphere/AppServer/profiles/profile_name user_home/IBM/WebSphere/AppServer/profiles/profile_name
Process Designer...
Root Nonroot
C:\IBM\ProcessDesigner\v8.5 C:\IBM\ProcessDesigner\v8.5
setgetweb.com/p/BPM85/plan.htm 9/42
6/23/2020 Plan for IBM Business Process Manager
Installation Manager...
Root Nonroot
/opt/IBM/InstallationManager /user_home/IBM/InstallationManager
Root Nonroot
/var/ibm/InstallationManager /user_home/var/ibm/InstallationManager
Type of installation
Choose the typical installation option to install BPM interactively. Choose the custom installation option to install silently or
if you will be installing on an existing WebSphere Application Server
For BPM Express, using the product launchpad, the typical installation installs the software and configures a stand-alone
profile. You do not need to create a profile later using PMT or manageprofiles command.
For all other BPM editions, using the product launchpad, the typical installation installs the software, and configures the
deployment manager and managed-node profiles, and configures a cluster with a single node and single server.
After using the custom installation, you can use BPMConfig to generate database scripts, configure a deployment manager
and one or more managed-node profiles, and create a pattern-based network deployment environment.
Instead of using BPMConfig, you can use PMT or manageprofiles.sh to configure one or more dmgr and managed node
profiles. After profile creation, you can use the deployment environment wizard to generate a network deployment
configuration.
Typical installation
Use to get full Business Process Manager features and functionality (for Express, Standard, or Advanced configurations) on
a single machine.
Creates a single-cluster deployment environment that consists of a single node and single server.
Can install DB2 Express if an existing database is not specified. DB2 Express is available only for Windows and
Linux 32 and 64 bit systems, and the user must have administrative privileges (Administrator or root) and must not
have another DB2 product installed.
Automatically populates the database.
A Process Center installation automatically installs Process Designer.
Creates shortcuts for the Process Center Administrative Console, Playback Server Administrative Console, Process
Designer (on Windows), and WebSphere administrative console.
Custom installation
Before you plan the deployment environment complete the following tasks:
When you plan the layout of interconnected servers, you must make some decisions. These decisions influence trade-offs
made between the available hardware and physical connections, the complexity of the management and configuration and
requirements such as performance, availability, scalability, isolation, security, and stability.
Consider the components the deployment environment will support, such as the various process applications,
toolkits, processes, or modules.
Consider the component types and the interactions between components as part of the requirements.
Consider the resources needed for the databases or Javaâ„¢ Message Service (JMS) resources and the need for
business events and the transmission mechanism.
Consider security servers, routers, and any other hardware or software requirements to handle business events.
3. Decide on the number of physical servers that you need for each function.
Your choice of router is influenced by exports of deployed modules, the types of queues you define on the
service integration bus, Service Component Architecture (SCA) exports, and the type of load balancing that you
want among your clusters. IBM provides an embedded router used for web services exports with SOAP/JMS
transports, or JMS exports. However, if you choose not to use this embedded router provided by IBM,
determine how to balance the load among your clusters, based on the technology that you are using.
Decide on the pattern. For BPM, you can select one of two established topology patterns:
Single Cluster
If your configuration supports multiple BPM and non-BPM products in addition to, and compatible with, BPM, the
patterns of those products would be available to you when you create the deployment environment.
6. Understand the methods available to you for configuring the deployment environment.
setgetweb.com/p/BPM85/plan.htm 11/42
6/23/2020 Plan for IBM Business Process Manager
You can configure a standardized network deployment environment based on a topology pattern template included
with the software, and you can implement it using BPMConfig or the Deployment Environment wizard.
You can use the Deployment Environment wizard to create clusters with the Single Cluster and (if applicable)
Application, Remote Messaging, and Remote Support topology patterns.
Topologies
BPM topologies...
Single Cluster
Application, Remote Messaging, and Remote Support clusters
Databases
Common database (CMNDB)
Process database (BPMDB)
Performance Data Warehouse database (PDWDB)
You might need to create and configure databases outside the installer.
Clusters
Application deployment target Cluster to which you install applications (human tasks, business processes, and
mediations). Can also provide messaging infrastructure and supporting
infrastructure functions. If the applications contain human task or business process
artifacts, install an Advanced Process Server or Advanced Process Center.
Supporting infrastructure Cluster that includes business rules, selectors, human tasks, and business processes.
The business rules are not tied to the Supporting infrastructure cluster, and can exist
and work everywhere in the cell. The Business Rules Manager can be deployed on
the supporting infrastructure cluster (in a three cluster configuration). The same
principle applies to the human tasks and business processes. The human tasks and
business processes run on the application deployment target cluster, because that is
where the human task, and business process containers are configured. However,
you administer processes and tasks from the Business Process Choreographer
Explorer, which can reside on the supporting infrastructure cluster (in a three
cluster configuration).
Messaging engine infrastructure Cluster containing messaging engines. Provides asynchronous messaging support
for applications and for the internal messaging needs of the BPM components.
Enables communication among the nodes in the deployment environment.
One or more members of the cluster must also run the messaging engines required for asynchronous interactions. SCA
internal asynchronous invocations, JMS, and MQ messaging bindings do not support multiple messaging engines in the
same cluster.
Includes...
setgetweb.com/p/BPM85/plan.htm 12/42
6/23/2020 Plan for IBM Business Process Manager
Process Server
Business Rules manager
Business Space
Process Portal
REST API Services
Performance Data Warehouse
Business Process Choreographer Explorer
In a Application, Remote Messaging, and Remote Support topology pattern, the deployment environment functions are
divided among three separate clusters. One cluster is used for applications, one cluster is used for messaging functionality,
and one cluster for support functionality.
To ensure requests intended for Process Portal are directed to the correct cluster, we configure a routing server such as...
Process Server X X X
Common database X
Business Space X X X
Process Portal X X X
setgetweb.com/p/BPM85/plan.htm 13/42
6/23/2020 Plan for IBM Business Process Manager
You can add cluster members to each cluster independently or in combination. In a single-cluster topology, you can
expand the cluster. In a three-cluster topology you can add new cluster members for any one, any two, or all three
clusters.
Add cells
If expanding existing clusters is not an appropriate solution, consider creating another deployment environment in
another cell.
To add another cell, duplicate common cell-level configurations, such as global security settings. You use multiple
consoles to manage applications, such as separate administrative consoles and failed event managers.
Create two independent deployment environments for applications in the same cell.
Consider adding a second deployment environment when one of the following situations occurs:
You must expand the capacity of the environment, but adding cluster members does not satisfy your
requirements.
You want to isolate process applications into separate JVMs, associating each application group with a specific
set of JVMs.
You want to set up multiple test environments quickly without having to configure security or nodes each time.
The second deployment environment is for Process Server only, not for IBM Process Center. You need one Process
Center per cell, or the single repository experience is lost.
Run two deployment environments in the same cell is an advanced topology that requires research and planning.
If there is an issue with one application in the cell, it is not possible to apply an interim fix only to the affected
deployment environment. Interim fixes affect all servers, deployment environments, and clusters in the cell. Fixes for
one application might have an unanticipated effect on the other applications running in the cell.
Testing an interim fix from IBM is more difficult when several deployment environments are in the same cell.
Separate cells help ensure that fixes do not break other applications.
You might have to bring down all your servers to apply interim fixes for one set of clusters, resulting in downtime
across all the sets of clusters using the cell. Although the exact arrangement of servers varies, a common arrangement
of servers is to have one member of each cluster on each node. In such an arrangement, all servers and cluster
members that share the node are affected by the steps to apply the interim fix.
Application considerations with two different deployment environments in the same cell.
You cannot install two instances of the same Service Component Architecture (SCA) application in the cell. You can install
many SCA applications, but they must have different module names. You can use the serviceDeploy utility to rename them.
As an example of this problem, if you create an environment with two deployment environments in the same cell and then
try to import into both of them an BPM export (.twx) file that contains BPEL processes, the second import fails because the
SCA module names are the same and an SCA module name must be unique within a cell.
setgetweb.com/p/BPM85/plan.htm 14/42
6/23/2020 Plan for IBM Business Process Manager
There are several ways to manage this problem.
You can use module naming conventions that incorporate the name of the target deployment environment.
If you are deploying the modules as part of a process application in Process Center, you can use process app naming
conventions that incorporate the name of the target deployment environment.
If you are deploying directly as an EAR file, you can use module versioning where the version name uses a naming
convention that incorporates the name of the target deployment environment.
For late binding to work, new versions of a BPEL business process or human task (template) must be deployed to the same
deployment environment as the earlier version. The correct target to bind to must be found in the same deployment
environment. Make sure that parent-child relationships between processes or between human tasks are scoped to the
deployment environment. There are some relationships, like parent-child flows, that should not cross JVMs.
Each Process Portal has one view to each deployment environment and requires unique context roots. Consider whether to
use a different web server for each deployment environment. If not, you must provide different virtual hosts to ensure
unique context roots for applications.
Administration considerations with more than one deployment environment in the same cell
Each application cluster must have a corresponding support cluster and messaging engine cluster. Selecting the correct
failed event manager to retry events might be difficult when you have more than one deployment environment. Ensure
unique names for all applications that contain SCA modules such as BPEL processes, calendars, rules, selectors, and
relationships. Ensure unique names for BPM applications as well as for customer applications. Add database, and schemas
for each set of clusters. Each set of clusters requires database, and schemas for...
Process database
Performance Data Warehouse database
Common database at the deployment environment level
You do not need separate database instances in DB2. If you use one database, you must provide separate user IDs for each
Process Server and Performance Data Warehouse. These user IDs are used as the schema and keep the tables separate.
Migrating the WebSphere Virtual Enterprise technology to a WAS V8.5 Intelligent Management cell in IBM WAS V8.5
provides support for on-demand routing and dynamic clustering. WAS Network Deployment V8.5 provides virtualization
capabilities that include intelligent load balancing and clustering techniques. It introduces the concepts of on-demand
routing and dynamic clustering, which provide an on-demand flexible infrastructure for enterprise-scalable applications.
On-demand routing
The on-demand router (ODR) is an intelligent load balancer that receives, prioritizes, and distributes all the incoming
requests across multiple servers. Unlike a regular load balancer that can route requests to an overloaded or hung
server, the ODR has knowledge of the available processing capacity and health of the application servers and, based
on this information, determines where the requests should be run.
Dynamic clusters
Route user requests from overloaded systems to systems that can handle the workload. Application servers can be
started or stopped in the cluster to meet the current demand for applications deployed to the cluster.
To enable BPM to adjust workloads during peak times, you can augment its existing cluster topology with the dynamic
cluster functionality provided with IBM WAS Network Deployment V8.5 or later.
setgetweb.com/p/BPM85/plan.htm 15/42
6/23/2020 Plan for IBM Business Process Manager
Complete the following steps:
i. Install BPM V8.5 on three systems, for example, HOST130, HOST131, HOST132.
ii. Create one deployment manager node on HOST130, and two custom nodes on each of the HOST131 and
HOST132 systems.
iii. Generate a three-cluster BPM deployment environment on these nodes using IBM DB2 V10.1.
i. Create another custom node on HOST130, which is the system that has the deployment manager, and
then federate this node to the deployment manager.
http://<dmgr_host>:<dmgr_port>/ibm/console
iii. Click...
...select the node corresponding to the ODR and complete the steps in the wizard to create and save the
new ODR server.
iv. On the On-Demand Routers page, click Start to start the ODR server.
You can now log in to the Process Admin/portal/bpc using the host name and the port number of the ODR
server.
Ignore this step if you chose not to configure the IBM HTTP Server for BPM.
Servers | Server Types | On Demand Routers | On Demand Router Settings | On Demand Router
Properties | On Demand Router Settings | Trusted security proxies
Servers | Server Types | On Demand Routers | On Demand Router Settings | On Demand Router
Properties | On Demand Router Settings | Proxy Plugin Configuration Policy
v. Copy
WAS_HOME/profiles/ODR_profiles_name/etc/Plugin-cfg.xml
...to...
IHS_Plugin_Location/Plugins/config/webserver1
setgetweb.com/p/BPM85/plan.htm 16/42
6/23/2020 Plan for IBM Business Process Manager
You can now log in to the Process Admin/portal/bpc using the host name and the port number of the IHS server.
When configuring the dynamic clusters, to ensure that you can exploit all of the dynamic cluster features, IBM
recommends converting each static cluster to a dynamic cluster and set the Minimum number of cluster instances to
keep one instance started at all times for each dynamic cluster.
In BPM V8.5, the common (shared) database is split into two pieces. One is cell-scoped, used for the entire cell. The other
is deployment-environment-scoped, and must be configured for each deployment environment.
The Process Server and Performance Data Warehouse components do not support case-sensitive databases. These databases
must not be case-sensitive.
For Microsoft SQL Server and Oracle databases, the following restrictions apply:
For SQL Server databases, components other than Process Server or Performance Data Warehouse require their
databases be case-sensitive.
For Oracle databases, the Process Server, Performance Data Warehouse, and Common database components must use
a separate schema/user. They can use the same instance.
When configuring databases, the system default tablespaces are used. To use scripts that create custom tablespaces for the
Business Process Choreographer and the Business Space components with DB2 and Oracle, Oracle see the usetablespaces property
as described in the Database and cell properties section of Configuration properties for BPMConfig.
The generated SQL files can be found in the output directory that you specified or in profile_root/dbscripts. The files
include additional createTablespace*.sql files that you run before the createSchema*.sql files to create the tablespaces for
Business Process Choreographer or Business Space. The generated createSchema*.sql files include the appropriate
references to the tablespaces that you specified.
The following database types and providers are supported with BPM V8.5:
The JDBC driver used by BPM might not be the latest JDBC driver level delivered with the database product. Compare the
latest version of the JDBC driver that is available from the database vendor with the JDBC driver that is delivered with
setgetweb.com/p/BPM85/plan.htm 17/42
6/23/2020 Plan for IBM Business Process Manager
BPM. If a later version is available, update to that driver.
BPM Standard
The default configuration for BPM Standard uses three databases, with the corresponding database schemas and assigned
components.
SharedDB schema - Database objects for the Messaging and BusinessSpace components.
ProcessServerDB schema - Database objects for the ProcessServer and EmbeddedECM (BPM document store)
components.
PerformanceDB schema - Database objects for the Performance Data Warehouse (PDW) component.
In the following image, the database names are shown in blue, and the database schema names are shown in green.
setgetweb.com/p/BPM85/plan.htm 18/42
6/23/2020 Plan for IBM Business Process Manager
For example, the configuration properties file for a Standard DE configuration can have the following configuration
properties:
bpm.de.db.2.name=ProcessServerDb
bpm.de.db.2.dbCapabilities=ProcessServer,EmbeddedECM
bpm.de.db.2.databaseName=BPMDB
BPM Advanced
The default configuration for BPM Advanced uses three databases, with the corresponding database schemas and assigned
components.
The CellOnlyDB schema exists only in the Advanced and AdvancedOnly deployment environments, and is part of the
CMNDB database by default. The CellOnlyDB schema Database objects for the Application scheduler (AppSched),
Mediations (Meds), Relationship manager (Rels), and Enterprise Service Bus Logger Mediation (ESBLogMed)
components.
The SharedDB schema, which is also a part of the CMNDB database, Database objects for the Messaging (MEDB),
CommonDB, BusinessSpace (BSpace), and Business Process Choreographer (BPC) components.
In the following image, the database names are shown in blue, and the database schema names are shown in green.
setgetweb.com/p/BPM85/plan.htm 19/42
6/23/2020 Plan for IBM Business Process Manager
If you configure the optional Business Process Archive Manager, which allows you to move completed BPEL process
instances and human tasks from the Business Process Choreographer database to a separate archive database, then you also
require the BPARCDB database.
If you configured an Advanced-only Process Server deployment environment, the default configuration uses one database,
CMNDB, with the corresponding database schemas (CellOnlyDB and SharedDB) and assigned components.
setgetweb.com/p/BPM85/plan.htm 20/42
6/23/2020 Plan for IBM Business Process Manager
If you have a second database server for failover or disaster recovery reasons, both database servers should be configured
for the same time zone, regardless of where they are physically located.
Note the national character set required for BPM is different from the Oracle default value.
Database privileges
Set database privileges to determine the authority that you must have to create or access your data store tables for each
supported database management system.
When you create database schemas using the typical installation or database scripts that are generated using BPMConfig,
the user ID must have the authority to create tables. When the tables are created, you must have the authority to select,
insert, update, and delete information in the tables.
Database privileges
The user ID needs CREATETAB authority on the database, and CREATETS to The user ID needs SELECT,
create the table space. The user ID also needs CREATEIN and DROPIN privilege INSERT, UPDATE, and
on the schema. The user ID needs system privileges CREATEDBA and DELETE privileges on the tables.
CREATEDBC. The user ID also needs ALTER, DELETE, INDEX, INSERT, The user ID also needs
REFERENCES, SELECT, and UPDATE privileges on the created tables. EXECUTE ON PROCEDURE
on stored procedures.
The installation privileges are the privileges required to install and configure the product. The runtime privileges are the
database privileges required to run the product.
Common DB CREATE TABLE, CREATE SELECT, UPDATE, DELETE, INSERT, CREATE VIEW,
INDEXTYPE, ALTER TABLE, CREATE PROCEDURE, USAGE ON SEQUENCE
INSERT, CREATE SEQUENCE,
CREATE USER, ALTER USER,
CREATE TABLESPACE
Business CREATE TABLE, CREATE SELECT, UPDATE, DELETE, INSERT, CREATE VIEW,
Space INDEXTYPE, ALTER TABLE, CREATE PROCEDURE
INSERT, CREATE SEQUENCE,
CREATE USER, ALTER USER,
CREATE TABLESPACE
Messaging CREATE TABLE, CREATE SELECT, UPDATE, DELETE, INSERT, DROP ANY
Engines INDEXTYPE TABLE
Process Server Required to create the database: Required privileges on the tables in the Process Server and
or Performance Data Warehouse databases:
Performance CREATEDBA
Data CREATEDBC DELETE
Warehouse INSERT
Required to populate the database REFERENCES
with our schemas and stored SELECT
procedures: UPDATE
Additional required privileges on the The runtime user requires all of the listed privileges on the
created tables: Performance Tracking Server database as well. In addition,
the user also must be able to create new tables in the
ALTER Performance Tracking database, requiring the
DELETE CREATETAB privilege.
INDEX
INSERT To read the system metadata tables, the SELECT
REFERENCES permission is required on syscat.tables, syscat.views,
SELECT syscat.columns, syscat.tabconst, and sysibm.sysdummy1.
UPDATE
create database @DB_NAME@ automatic storage yes using codeset UTF-8 territory US pagesize 32768;
connect to @DB_NAME@;
grant dbadm on database to user @DB_USER@;
UPDATE DB CFG FOR @DB_NAME@ USING LOGFILSIZ 4096 DEFERRED;
UPDATE DB CFG FOR @DB_NAME@ USING LOGSECOND 64 DEFERRED;
connect reset;
In the above example, replace @DB_NAME@ with the name to use for the created database, and @DB_USER@ with the
user name to use for the database.
When you create database schemas using the typical installation or database scripts that are generated using BPMConfig,
the user ID must have the authority to create tables. When the tables are created, you must have the authority to select,
insert, update, and delete information in the tables.
Database privileges
Privileges required to
create objects Privileges required to access objects
The user ID needs sufficient The user ID needs the SESSION privilege to connect to the database. If the same user
privilege to create relational ID owns both the data store schema, and the component that is connecting to the
tables and indexes in the data database, the user ID has sufficient privilege to manipulate the tables. Otherwise, the
store schema. The database user ID needs SELECT, INSERT, UPDATE, ALTER, and DELETE object privileges
also needs a space quota in on the tables that make up the data store, and the DROP ANY TABLE system
the default table space of the privilege to enable the use of the TRUNCATE TABLE statement. The user ID also
owner of that schema. requires the CREATE INDEX privilege.
The installation privileges are the privileges required to install and configure the product. The runtime privileges are the
database privileges required to run the product.
If you configure all the following components for a single Oracle database, you can create a superset of all the privileges
specified for each component. If you configure the four components for numerous databases, you can set different privileges
for each.
Common DB The following privileges are for the situation when a DBA The following privileges are for
setgetweb.com/p/BPM85/plan.htm 23/42
6/23/2020 Plan for IBM Business Process Manager
creates users and all the database objects for those users. The the situation when a DBA has
DBA requires the following privileges: CREATE USER, ALTER created a Common DB user and
USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP that user creates the database
ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, objects, owns them, and uses
INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY them at runtime.
INDEX, DROP ANY INDEX, CREATE ANY VIEW, DROP
ANY VIEW, CREATE ANY PROCEDURE, DROP ANY explicit privileges:
PROCEDURE, CREATE ANY SEQUENCE
CREATE PROCEDURE
The following privileges are for the situation when a DBA has CREATE VIEW
created a Common DB user and that user creates the database
objects, owns them, and uses them at runtime: CREATE TABLE, implicit privileges (included in
CREATE VIEW, CREATE PROCEDURE, CREATE the ownership of the database
SEQUENCE objects):
SELECT
INSERT
UPDATE
DELETE
Business The following privileges are for the situation when a DBA The following privileges are for
Space creates users and all the database objects for those users. The the situation when a DBA has
DBA requires the following privileges: CREATE USER, ALTER created a Business Space user
USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP and that user creates the
ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, database objects, owns them,
INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY and uses them at runtime.
INDEX, DROP ANY INDEX, CREATE ANY VIEW, DROP
ANY VIEW, CREATE ANY PROCEDURE, DROP ANY explicit privileges:
PROCEDURE
CREATE PROCEDURE
The following privileges are for the situation when a DBA has CREATE VIEW
created a Business Space user and that user creates the database
objects, owns them, and uses them at runtime: CREATE TABLE, implicit privileges (included in
CREATE VIEW, CREATE PROCEDURE the ownership of the database
objects):
SELECT
INSERT
UPDATE
DELETE
Business The following privileges are for the situation when a DBA The following privileges are for
Process creates users and all the database objects for those users. The the situation when a DBA has
Choreographer DBA requires the following privileges: CREATE USER, ALTER created a Business Process
USER, CREATE TABLESPACE, CREATE ANY TABLE, Choreographer user and that
ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY user creates the database
TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, objects, owns them, and uses
DELETE ANY TABLE, CREATE ANY INDEX, DROP ANY them at runtime.
INDEX, CREATE ANY VIEW, DROP ANY VIEW, CREATE
ANY PROCEDURE, DROP ANY PROCEDURE explicit privileges:
The following privileges are for the situation when a DBA has CREATE PROCEDURE
created a Business Process Choreographer user and that user CREATE VIEW
creates the database objects, owns them, and uses them at
runtime: CREATE TABLE, CREATE VIEW, CREATE implicit privileges (included in
PROCEDURE. the ownership of the database
objects):
SELECT
INSERT
UPDATE
DELETE
setgetweb.com/p/BPM85/plan.htm 24/42
6/23/2020 Plan for IBM Business Process Manager
Common The following privileges are for the situation when a DBA The following privileges are for
Event creates users and all the database objects for those users. The the situation when a DBA has
Infrastructure DBA requires the following privileges: CREATE USER, ALTER created a Common Event
(CEI) USER, CREATE INDEXTYPE, ALTER ANY TABLE, ALTER Infrastructure user and that user
SESSION, CREATE TABLESPACE, CREATE PROFILE, creates the database objects,
CREATE ROLE, CREATE TEMPORARY TABLESPACE owns them, and uses them at
runtime.
The following privileges are for the situation when a DBA has
created a Common Event Infrastructure user and that user creates explicit privileges:
the database objects, owns them, and uses them at runtime:
CREATE TABLE, CREATE VIEW, CREATE PROCEDURE. CREATE PROCEDURE
SELECT
INSERT
UPDATE
DELETE
Messaging The following privileges are for the situation when a DBA The following privileges are for
Engines creates users and all the database objects for those users. The the situation when a DBA has
DBA requires the following privileges: CREATE USER, ALTER created a Messaging Engines
USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP user and that user creates the
ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, database objects, owns them,
INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY and uses them at runtime.
INDEX, DROP ANY INDEX
explicit privileges:
The following privileges are for the situation when a DBA has
created a Messaging Engines user and that user creates the DROP ANY TABLE
database objects, owns them, and uses them at runtime: CREATE
TABLE implicit privileges (included in
the ownership of the database
objects):
SELECT
INSERT
UPDATE
DELETE
Process Server The following privileges are for the situation when a DBA The following privileges are for
creates users and all the database objects for those users. The the situation when a DBA
DBA requires the following privileges: created a Process Server user
and that user creates the
CREATE USER database objects, owns them,
ALTER USER and uses them at runtime.
CREATE TABLESPACE
CREATE ANY TABLE explicit privileges:
ALTER ANY TABLE
DROP ANY TABLE CREATE TABLE
SELECT ANY TABLE CREATE
UPDATE ANY TABLE PROCEDURE
INSERT ANY TABLE CREATE
DELETE ANY TABLE SEQUENCE
LOCK ANY TABLE CREATE VIEW
setgetweb.com/p/BPM85/plan.htm 25/42
6/23/2020 Plan for IBM Business Process Manager
CREATE ANY INDEX implicit privileges
DROP ANY INDEX (included in the
CREATE ANY VIEW ownership of the
DROP ANY VIEW database objects):
CREATE ANY PROCEDURE
DROP ANY PROCEDURE SELECT
CREATE ANY SEQUENCE INSERT
DROP ANY SEQUENCE UPDATE
DELETE
The following privileges are for the situation when a DBA has
created a Process Server user and that user creates the database
objects, owns them, and uses them at runtime.
explicit privileges:
CREATE TABLE
CREATE PROCEDURE
CREATE SEQUENCE
CREATE VIEW
INSERT
UPDATE
DELETE
ALTER
DROP
Performance The following privileges are for the situation when a DBA The following privileges are for
Data creates users and all the database objects for those users. The the situation when a DBA
Warehouse DBA requires the following privileges: created a Performance Data
Warehouse user and that user
CREATE USER creates the database objects,
ALTER USER owns them, and uses them at
CREATE TABLESPACE runtime.
CREATE ANY TABLE
ALTER ANY TABLE explicit privileges:
DROP ANY TABLE
SELECT ANY TABLE CREATE TABLE
UPDATE ANY TABLE CREATE PROCEDURE
INSERT ANY TABLE CREATE SEQUENCE
DELETE ANY TABLE CREATE VIEW
LOCK ANY TABLE
CREATE ANY INDEX implicit privileges (included in
DROP ANY INDEX the ownership of the database
CREATE ANY VIEW objects):
DROP ANY VIEW
CREATE ANY PROCEDURE SELECT
DROP ANY PROCEDURE INSERT
CREATE ANY SEQUENCE UPDATE
DROP ANY SEQUENCE DELETE
The following privileges are for the situation when a DBA has All schemas or users that are
created a Performance Data Warehouse user and that user creates creating or migrating BPM
the database objects, owns them, and uses them at runtime. profiles must have access to the
DBMS_LOCK package. Set
explicit privileges: the Execute permission on the
DBMS_LOCK package for the
CREATE TABLE Oracle user or schema that is
CREATE PROCEDURE using the performance database
CREATE SEQUENCE as shown in the following
CREATE VIEW example:
setgetweb.com/p/BPM85/plan.htm 26/42
6/23/2020 Plan for IBM Business Process Manager
implicit privileges (included in the ownership of the database GRANT execute ON
objects): DBMS_LOCK TO
<schema_name>
INSERT
UPDATE In this example, schema_name
DELETE is the user ID used for the
ALTER performance database.
DROP
Permissions in SQL Server are assigned to roles which can be assigned to users, similar to windows user groups. There are
two types of roles:
Server roles provision database server related permissions such as backup, shutdown, creating new databases,
managing logins, and linking to other servers.
Database roles provision more traditional database permissions such as table access and those listed below.
You can be a member of multiple roles such that you can combine the permissions of different fixed roles to find just the
right combination for your requirements.
The database must be created by the database administrator who can then assign these roles to the database user for BPM.
db_ddladmin
db_datawriter
db_datareader
For information about the permissions provided by these roles, see documentation from Microsoft.
When you create database schemas using the typical installation or database scripts that are generated using BPMConfig,
the user ID must have the authority to create tables. When the tables are created, you must have the authority to select,
insert, update, and delete information in the tables.
The above three fixed database roles cover 80% of the requirements, the remaining permissions are:
•CREATE INDEXTYPE: No INDEXTYPE. but db_ddladmin can create indexes and specify the type
•CREATE TABLESPACE: No TABLESPACE but similar concepts are WORKLOAD GROUP, RESOURCE
POOL, and PARTITION SCHEME
•ALTER LOCK TABLE: This functionality is available through Lock hinting using the read or write commands
(eg SELECT * FROM tbl name WHERE TABLOCKX
•CREATE SEQUENCE: This command is in the SQL Server 2012 documentation but not 2008 R2
Database privileges
Privileges required to
create objects Privileges required to access objects
The user ID ideally Configure the SQL Server for SQL Server and Windows authentication so that
requires DB OWNER authentication to be based on an SQL server login ID and password. The user ID must be
setgetweb.com/p/BPM85/plan.htm 27/42
6/23/2020 Plan for IBM Business Process Manager
privileges on the data the owner of the tables, or a member of a group that has sufficient authority to issue
stores used for BPM. TRUNCATE TABLE statements.
The installation privileges are the privileges required to install and configure the product. The runtime privileges are the
database privileges required to run the product.
Common DB CREATE TABLE, ALTER TABLE, INSERT, CREATE SELECT, UPDATE, DELETE,
USER, ALTER USER INSERT, CREATE VIEW, CREATE
PROCEDURE
Business CREATE TABLE, ALTER TABLE, INSERT, CREATE SELECT, UPDATE, DELETE,
Space USER, ALTER USER INSERT, CREATE VIEW, CREATE
PROCEDURE
Business CREATE TABLE, ALTER TABLE, CREATE VIEW, SELECT, UPDATE, DELETE,
Process CREATE USER, CREATE PROCEDURE INSERT
Choreographer
Process Server CREATE TABLE, SELECT, INSERT, UPDATE, DELETE SELECT, UPDATE, DELETE,
TABLE, DROP TABLE, CREATE INDEX, CREATE INSERT, CREATE VIEW, CREATE
VIEW, DROP VIEW, CREATE PROCEDURE, CREATE PROCEDURE, DROP TABLE,
USER, ALTER USER DROP VIEW
Performance CREATE TABLE, SELECT, INSERT, UPDATE, DELETE SELECT, UPDATE, DELETE,
Data TABLE, DROP TABLE, CREATE INDEX, CREATE INSERT, CREATE VIEW, CREATE
Warehouse VIEW, DROP VIEW, CREATE PROCEDURE, CREATE PROCEDURE, DROP TABLE,
USER, ALTER USER DROP VIEW
Syntax for creating BPMDB and PDWDB databases in SQL Server is CREATE DATABASE @DB_NAME@ COLLATE
SQL_Latin1_General_CP1_CI_AS;
Syntax for creating the CommonDB database in SQL Server is CREATE DATABASE @DB_NAME@ COLLATE
SQL_Latin1_General_CP1_CS_AS;
The BPMDB and PDWDB databases must be created as case-insensitive. Use the command COLLATE
SQL_Latin1_General_CP1_CI_AS, where CI is the COLLATE attribute value that is applicable for the case-
insensitive databases.
The CommonDB database must be created as case-sensitive. Use the command COLLATE
SQL_Latin1_General_CP1_CS_AS, where CS is the COLLATE attribute value that is applicable for the case-
sensitive databases.
Syntax for creating the users and schemas for the SQL Server databases is as follows:
USE master GO
CREATE LOGIN @DB_USER@ WITH PASSWORD='@DB_PASSWD@'
GO
USE @DB_NAME@
GO
setgetweb.com/p/BPM85/plan.htm 28/42
6/23/2020 Plan for IBM Business Process Manager
CREATE USER @DB_USER@ FOR LOGIN @DB_USER@ WITH DEFAULT_SCHEMA=@DB_USER@
GO
CREATE SCHEMA @DB_USER@ AUTHORIZATION @DB_USER@
GO
EXEC sp_addrolemember 'db_ddladmin', @DB_USER@;
EXEC sp_addrolemember 'db_datareader', @DB_USER@;
EXEC sp_addrolemember 'db_datawriter', @DB_USER@;
If the database design has different properties, you might need multiple user ID and schema name privileges.
In this scenario, you use a schema name that is the same as the user ID privileges, but you do not use the default schema
name or a user ID specified during installation. This single user ID can access all of the database, and also create all needed
tables.
setgetweb.com/p/BPM85/plan.htm 29/42
6/23/2020 Plan for IBM Business Process Manager
Schema name for BPC ME dogBPC
User ID to select,
Database Database name with User ID to create insert, update, and
tables DB2 Schema name tables delete rows
Common Supply this value in... Schema name is the This value is the Supply this value in...
database same as the user ID same as the user
tables Installation wizard used to select, ID used to select, Installation wizard
Profile insert, update, and insert, update, and Profile
Management Tool delete rows. delete rows. Management Tool
Silent install Silent install
Silent profile Silent profile
creation creation
Business Supply this value twice: Schema name is the This value is the Supply this value twice:
Process same as the user ID same as the user
Choreographer 1. In table creation used to select, ID used to select, 1. In table creation
tables scripts insert, update, and insert, update, and scripts
2. While configuring delete rows. delete rows. 2. While configuring
a deployment a deployment
using: using:
Deployment Deployment
environment environment
wizard wizard
BPMConfig BPMConfig
command command
In this scenario, use the same schema name and user ID to select, insert, update, and delete schemas. Use a different user ID
to create the schemas.
setgetweb.com/p/BPM85/plan.htm 30/42
6/23/2020 Plan for IBM Business Process Manager
The following table contains information about how to set up the schema name and user ID privileges with DB2 as the
database.
Common Supply this value twice: Modify table Modify the Supply the user ID
database creation scripts with table during profile
tables 1. In table creation scripts the schema name creation creation using:
2. During the BPM that allows reading script to
configuration using: and writing rows. contain the Installation
user ID. wizard
Administrative console Profile
Installation wizard Management
Profile Management Tool
Tool Silent install
Silent install Silent profile
Silent profile creation creation
Business Supply this value twice: Modify table Modify the Supply the user ID
Process creation scripts with table during profile
Choreographer 1. In table creation scripts the schema name creation creation using:
tables 2. While configuring a that allows reading script to
deployment using: and writing rows. contain the Installation
user ID. wizard
Deployment Profile
environment wizard Management
BPMConfig command Tool
Silent install
Silent profile
creation
setgetweb.com/p/BPM85/plan.htm 31/42
6/23/2020 Plan for IBM Business Process Manager
Schema name for BPC and HTM tables waterBPC
waterCom waterCom
waterSYSME waterSYSME
waterAPPME waterAPPME
waterEventME waterEventME
waterBPCME waterBPCME
waterBPC waterBPC
waterESB waterESB
Common Supply this value in... Schema name is the This value is Supply the user ID during
database same as the user ID the same as the profile creation using:
tables Installation wizard used to select, insert, user ID used to
Profile update, and delete select, insert, Installation wizard
Management Tool rows. update, and Profile Management
Silent install delete rows. Tool
Silent profile Silent install
creation Silent profile
creation
Business Supply this value twice: The table creation This value is Supply this value twice:
Process scripts need to be the same as the
Choreographer 1. In table creation modified with a user ID used to 1. In table creation
tables scripts schema name used to select, insert, scripts
2. While configuring select, insert, update, update, and 2. While configuring a
a deployment and delete rows. delete rows. deployment using:
using:
Deployment
Deployment environment
environment wizard
wizard BPMConfig
BPMConfig command
command
Messaging Supply this value with The table creation This value is Supply this value during
tables the definition of each scripts must include the same as the the creation of the
messaging engine. the schema name user ID used to messaging engine. Select
setgetweb.com/p/BPM85/plan.htm 32/42
6/23/2020 Plan for IBM Business Process Manager
used to select, insert, select, insert, the Create Table option
update, and delete update, and during the messaging
rows. delete rows. engine configuration.
For a default Business Process Choreographer configuration that uses the common database or a separate
database, use either the administrative console deployment environment wizard or BPMConfig.
For a fully customized Business Process Choreographer configuration, edit requirements into a configuration
properties file, and then run BPMConfig.
Steps...
a. If you use BPMConfig to create the deployment environment, use a properties file...
product_configuration-topology-environment_type-database_type
b. To only run BPEL processes, you can use one of the AdvancedOnly product configuration properties files in
directory...
INSTALL_ROOT/BPM/samples/config/advancedonly
These configurations do not include support for BPMN processes, which results in a smaller footprint.
c. To support both BPMN processes and BPEL processes, use one of the Advanced product configuration properties
files in directory...
INSTALL_ROOT/BPM/samples/config/advanced
In this case, decide whether you are creating a Process Server (PS) or Process Center (PC) configuration.
d. Depending on your need for production performance, decide between a single cluster (SingleCluster) or three cluster
(ThreeClusters) topology environment.
e. Identify which database system to use. For example, SQLServer, SQLServer-WinAuth, Oracle,
Oracle DB2, or DB2zOS.
f. Your choices identify which properties file to copy and, if necessary, customize. For example...
INSTALL_ROOT/BPM/samples/config/advancedonly/AdvancedOnly-ThreeClusters-DB2.properties
...or...
INSTALL_ROOT/BPM/samples/config/advanced/Advanced-PS-SingleCluster-Oracle.properties
Oracle
g. All the Advanced and AdvancedOnly configuration files include a Business Process Choreographer configuration that
you can customize as necessary.
To have Human Task Manager to send email notifications of escalation events, identify the host name or IP address where
the SMTP email server is located. If the email service requires authentication, know the user ID and password to use to
connect to the service.
To use the Business Process Choreographer Explorer, Process Portal, or a client that uses the REST API or the JAX web
services API, decide on the context roots for the REST API and the JAX web services API.
setgetweb.com/p/BPM85/plan.htm 33/42
6/23/2020 Plan for IBM Business Process Manager
The defaults for the Business Flow Manager are...
/rest/bpm/bfm
/BFMJAXWSAPI
/rest/bpm/htm
/HTMJAXWSAPI
When configured on a single cluster, or on multiple clusters mapped to different web servers, you can use the default values.
When configured in a network deployment environment on multiple deployment targets mapped to the same web server, do
not use the default values. The context root for each Business Process Choreographer configuration must be unique for each
combination of host name and port. Set these values manually using the administrative console after configuring an
environment that includes Business Process Choreographer.
Pre-configured federated repositories. To use a different user repository with federated repositories, reconfigure
federated repositories. The VMM people directory provider supports all Business Process Choreographer
people assignment features including substitution. It relies on the features provided by federated repositories,
such as support for different repository types, such as LDAP, database, file based, and property extension
repository.
To use the VMM people directory provider configure federated repositories for WebSphere Application Server
security. You can associate federated repositories with one or more user repositories, based on a file, LDAP, or a
database.
Requires no configuration. Depending on the WebSphere security realm definition, the user registry can use one
of the following repositories:
File registry
One or more LDAPs
One or more databases
Stand-alone LDAP
Stand-alone custom
Local operating system
a. You might need to customize your own version of the LDAPTransformation.xsl file.
setgetweb.com/p/BPM85/plan.htm 34/42
6/23/2020 Plan for IBM Business Process Manager
LDAP plug-in property Required Description
or
optional
BaseDN Required The base distinguished name (DN) for all LDAP search
operations, for example...
o=mycompany, c=us
com.sun.jndi.ldap.LdapCtxFactory
ldap://localhost:389
SearchScope Required The default search scope for all search operations.
Determines how deep to search beneath the baseDN
property. Specify one of the following values:
objectScope, onelevelScope, or subtreeScope
You might need to customize your own version of the VMMTransformation.xsl file.
You must use the VMM people directory provider. The LDAP, system, and user registry people directory
providers do not support people substitution.
setgetweb.com/p/BPM85/plan.htm 35/42
6/23/2020 Plan for IBM Business Process Manager
To use people substitution in a production environment, plan to use the VMM Property Extension Repository to
store the substitution information. The Property Extension Repository and, implicitly, the selected database
must be unique and accessible from within the whole cell. As the BPEDB database is not necessarily unique
within a cell, BPEDB cannot be used. You can use the common database, WPSRCDB, to host the Property
Extension Repository, however, for a production environment, it is recommended to use a database that is
independent of other Process Server databases.
To use people substitution in a single-server test environment, you can store people substitution information in
the internal file registry that is configured for federated repositories.
5. If using people assignment for human tasks, and use a LDAP people directory provider that uses simple
authentication, plan a Java Authentication and Authorization Service (JAAS) alias and an associated user ID that will
be used to connect to the LDAP server. If the LDAP server uses anonymous authentication this alias and user ID are
not required.
When
the
user
ID is What the alias and user ID are
User ID or role used used for Which rights the user ID must have
LDAP plug-in Run The alias is used to retrieve the The JAAS alias must be associated with
property: time user ID used to connect to the the LDAP user ID.
AuthenticationAlias LDAP server. You specify this
alias ID when customizing the
properties for the LDAP plug-in,
for example mycomputer/My
LDAP Alias.
LDAP user ID Run This user ID is used to connect to If the LDAP server uses simple
time the LDAP server. authentication, this user ID must be able
to connect to the LDAP server. This user
ID is either a short name or a
distinguished name (DN). If the LDAP
server requires a DN you cannot use the
short name.
Support for BPEL processes and human tasks. Allows you to model your business process using the Web Services
Business Process Execution Language (WS-BPEL, abbreviated to BPEL). With human tasks, you can use the Task
Execution Language (TEL) to model activities that involve people. Both BPEL processes and human tasks are
exposed as services in a service-oriented architecture (SOA) or Service Component Architecture (SCA); they also
support simple data objects and business objects.
Application programming interfaces for developing customized applications for interacting with BPEL processes and
human tasks.
Human workflow widgets as part of Business Space. These widgets allow you to manage work, create tasks for other
people, and initiate services and processes.
Business Process Choreographer Explorer. This web application allows you to administer BPEL processes and human
tasks.
setgetweb.com/p/BPM85/plan.htm 36/42
6/23/2020 Plan for IBM Business Process Manager
Business Process Archive Manager. When configured, this provides a separate database, to which completed process
instances and human tasks can be moved by running an administrative script. This can help to maintain the
performance of your Business Process Choreographer database. An API is also available so that you can create your
own client that can work with archived instances.
The Business Process Archive Explorer is a web application that allows users to browse or delete instances that have
been moved to the archive database.
By default, new Business Process Choreographer configurations benefit from the performance improvements
resulting from using shared work items.
The idea behind shared work items is an optimized implementation of work items, such that redundant information about
work items is not stored in the database. This can improve the performance of many BPEL process and human task queries.
Whether shared work items are being used, or not, is transparent to the users of Business Process Choreographer APIs.
It is only if you migrate your Business Process Choreographer configuration from Version 7.0.0.2 or earlier, the support for
shared work items is not activated. Although activating is optional, certain factors indicate that using shared work items will
improve performance.
If you only have hundreds or a few thousands of human task instances in your system, there is probably little or no
performance advantage in migrating to using shared work items.
If you have hundreds of thousands of human task instances in your system, and your task list and process list queries
are taking too long, migrating to using shared work items should improve the performance.
Use shared work items can improve the performance of the following queries:
query()
queryAll()
queryEntities()
queryEntityCount()
queryRows()
queryRowCount()
Restrictions
Some queries can only be resolved using the non-shared work items. This means that enabling support for shared work
items will not improve the performance of the following types of queries:
setgetweb.com/p/BPM85/plan.htm 37/42
6/23/2020 Plan for IBM Business Process Manager
Queries that reference one or more of the following columns in the WORK_ITEM view:
ASSOC_OBJECT_TYPE
ASSOC_OID
OBJECT_ID
CREATION_TIME
OBJECT_TYPE
Queries referencing a custom table that is directly joined with the WORK_ITEM view.
Architecture
The BPEL process archive facility consists of the following elements:
To create a Business Process Archive Manager, add entries to the properties file before creating the deployment
environment.
You can create a Business Process Archive Manager only on the support cluster in a three-cluster setup.
A Business Process Choreographer configuration can only use a Business Process Archive Manager
configurations that is in the same cell.
A Business Process Archive Manager configuration can be used to archive data from only one Business Process
Choreographer configuration.
setgetweb.com/p/BPM85/plan.htm 38/42
6/23/2020 Plan for IBM Business Process Manager
Each Business Process Archive Manager configuration must have its own Business Process Archive database.
Each Business Process Archive Manager requires its own database. The database must be of the same type and
structure as is used for the Business Process Choreographer database. The default name for the archive database is
BPARCDB.
A WebSphere system administrator can run this script to archive data from the runtime database of one Business
Process Choreographer configuration to the archive database of a Business Process Archive Manager configuration.
You can specify various parameters to control which instances are archived, how many to archive in total, and how
many to archive in each database transaction. The source and destination are specified by their deployment servers or
clusters.
You cannot transfer objects from an archive database back to a Business Process Choreographer database, nor
to another archive.
The first time that you archive instances to a new archive database, the identity of the Business Process
Choreographer configuration is written to the database, and in future, only instances from that configuration can
be archived to that archive database.
When instances are successfully moved to the archive, they are deleted from the Business Process
Choreographer database, which generates a deletion event for the common event infrastructure (CEI) and the
audit log. But it is not possible to identify the deletion event was caused by an archiving action rather than by
some other delete action, for example, cleanup service, user initiated delete action, delete script, or automatic
deletion after successful completion.
You cannot archive to different archives at the same time. Parallel invocations of the archive.py script are
serialized.
You cannot archive a process instance that has the same process name as any other process instance in the
archiving database.
You cannot archive a process instance that has the same values for its correlation set as another process instance
in the archiving database.
If you archive instances of a process template, then undeploy and redeploy the identical process template with
the valid from date unchanged, you cannot archive any new instances of that process template to the same
archive database. This is not an issue for normal process template versioning, where a different valid from date
is used.
However, even if one of the restriction prevents you from archiving certain process instances to one archive database,
you can archive those process instances to a different archive database, for which the restriction conditions are not
true.
Only a subset of the actions that are available using the Business Flow Manager and Human Task Manager EJB APIs
can also be used against a Business Process Archive Manager configuration to read and delete process instances and
human tasks that are in the archive database. The other APIs are not supported by the Business Process Archive
Manager.
A new method, OperationMode getOperationMode() is provided, which indicates whether the client is connected to a
Business Process Choreographer configuration or a Business Process Archive Manager configuration. This can be
used to write custom clients that can connect to and operate appropriately on runtime configurations and archive
configurations.
setgetweb.com/p/BPM85/plan.htm 39/42
6/23/2020 Plan for IBM Business Process Manager
For more information about the Business Process Archive Manager API, see the Javadoc for the packages
com.ibm.bpe.api and com.ibm.task.api.
The Business Process Archive Explorer is similar to the Business Process Choreographer Explorer except that it
connects to an archive database associated with a Business Process Archive Manager configuration. The Business
Process Archive Explorer is configured when you configure the Business Process Archive Manager.
Depending on your authorization, you can use the Business Process Archive Explorer to browse instances and
possibly delete instances too. You cannot update instances or create new instances.
Authorization
The actions that you can perform with the Business Process Archive Manager EJB API or the Business Process
Archive Explorer depends on the following Javaâ„¢ Platform, Enterprise Edition (Java EE) roles:
Users who are in the Business Process Archive Manager system monitor role can read and view all process
instances and all task instances in the archive database.
Users who are in the Business Process Archive Manager system administrator role can also delete any top-level
process instances and top-level task instances in the archive database.
Users who are not in the system monitor or system administrator roles can see only the instances they created or
started themselves, but they cannot view any details about the instances.
No one (not even users in the system administrator roles) can modify any of the data that is associated with any
instances in the archive database.
Instance-based authorization information, such as the potential owner or reader information, is not archived.
Therefore, this data is not available in the archive. The only exception to this rule is the information about the
starter and creator of processes and tasks.
Users must be in the WebClientUser role to use the Business Process Archive Explorer.
For completed top-level process instances, including business state machine instances:
Instance data such as activities, variables, inline human tasks, input messages, and output messages are moved.
setgetweb.com/p/BPM85/plan.htm 40/42
6/23/2020 Plan for IBM Business Process Manager
Child processes and related data are moved recursively.
If any related metadata such as process templates and task templates are not already in the archive database, a
copy of them is created.
Query tables and stored queries are not moved nor copied to the archive database.
Work items that are associated with an archived instance are deleted without being archived.
Instance data such as input messages and output messages are moved.
Escalation instances are moved.
Child tasks, including follow-on tasks, are moved.
If related metadata such as task templates are not already in the archive database, a copy of them is created.
Work items that are associated with an archived instance are deleted without being archived.
Metadata
Extra metadata, such as process and task template information, is copied to the archive when necessary to allow the
archived data to be interpreted and displayed correctly. The metadata in the archive database is deleted when it is no
longer required, that is, when the last process instance or human task that references the metadata is deleted.
Other Business Process Choreographer data, such as configuration data, XSD and WSDL artifacts, SCA modules,
applications, work baskets, business categories, business rules, messages, and audit trail data, cannot be moved to the
archive.
You can configure the Business Process Archive Manager only on the support cluster of three cluster setup that is based on
the Advanced or AdvancedOnly template properties file. When you configure the Business Process Archive Manager, a
Business Process Archive Explorer is also configured.
For more information about possible keys and values for the BPCArchive component, see the appropriate properties
file.
install_root/BPM/samples/config/advanced/Advanced-PC-ThreeClusters-DB2.properties
install_root\BPM\samples\config\advanced\Advanced-PC-ThreeClusters-DB2.properties
2. Set the BPCArchive component on the support cluster. For example, if cluster 3 is the support cluster, and the next
free component index is 1, add an entry that is similar to the following example:
bpm.de.cluster.3.capability.1.component.1.name=BPCArchive
3. Add the archive database to the support cluster. For example, add an entry that is similar to the following example:
bpm.de.cluster.3.db=PerformanceDb,ArchiveDb
4. Add the definition of the archive database. For example, for a DB2 database named BPARCDB, if the next free
database index is 5, add entries that are similar to the following example.
bpm.de.db.5.name=ArchiveDb
bpm.de.db.5.dbCapabilities=BPCArchive
bpm.de.db.5.databaseName=BPARCDB
bpm.de.db.5.type=DB2
bpm.de.db.5.hostname=localhost
setgetweb.com/p/BPM85/plan.htm 41/42
6/23/2020 Plan for IBM Business Process Manager
bpm.de.db.5.portNumber=50000
bpm.de.db.5.roleMapping.1.name=DbUser
bpm.de.db.5.roleMapping.1.alias=BPM_DB_ALIAS
bpm.de.db.5.roleMapping.2.name=DbUserXAR
bpm.de.db.5.roleMapping.2.alias=BPM_DB_ALIAS
bpm.de.db.5.schema=db2admin
Because the purpose of the Business Process Archive Manager is to reduce the size of the runtime database, make
sure that BPARCDB is a separate database from the database that Business Process Choreographer uses.
When you start Business Process Choreographer Explorer, the objects that you see in the user interface and the actions that
you can take depend on the user group that you belong to and the authorization granted to that group. For example, if you
are a business process administrator, you are responsible for the smooth operation of deployed BPEL processes. You can
view information about process and task templates, process instances, task instances, and their associated objects. You can
also act on these objects; for example, you can start new process instances, create and start tasks, repair and restart failed
activities, manage work items, and delete completed process instances and task instances. However, if you are a user, you
can view and act on only those tasks that have been assigned to you.
setgetweb.com/p/BPM85/plan.htm 42/42