Professional Documents
Culture Documents
BTB-2890: Understanding The IBM BPM Process Federation Server
BTB-2890: Understanding The IBM BPM Process Federation Server
BTB-2890: Understanding The IBM BPM Process Federation Server
• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any
material, code or functionality. Information about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual
throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
1
Agenda
Introduction & Motivation
Architecture Details
Install & Configuration
HA, DR & Scalability
Future Vision
2
Process Federation Server
Process Federation Server enables task and knowledge workers to access all their work
from a single Process Portal.
BPM
V8.5.0.1
BPM
vNext
3
Process Federation Server – Why Federate?
Unified view across various task types
BPMN, BPEL, and others in the future
BPM 8.0.1.3
BPM 8.5.6
5
Quick Sketch: Using PFS to Isolate Users from Complexity
6
BPM Vision: Moving Toward Continuous Availability
Stage 0:
Single BPM system executing
both BPEL & BPMN processes
BPE DB
Portal Client
IHS
(Browser) Process
Portal App
LDAP
BPM Vision: Moving Toward Continuous Availability
Stage 0b:
Or, maybe you only run BPMN, BPM v8.013
but on 2 cells – to support
different BPM versions or for BPE DB
isolation
IHS
Process
Portal App
LDAP
Portal Client
(Browser)
BPM v8.5.5
BPE DB
IHS
Process
Portal App
BPMN BPEL
PFS API allows unified Process A Process 1
task list containing BPEL BPM DB
& BPMN tasks
PFS 8.5.7
Portal Client
IHS Federated Search Index LDAP
(Browser)
PFS 8.5.7
IHS
Import a new library - required
to expose BPM Common API in
Process
Process BPM & PFS servers
Portal
PortalApp
App
BPM Vision: Moving Toward Continuous Availability
Stage 3:
Can also ‘federate in’ another BPM 8.013
PFS 8.5.7
Process IHS
Process
Portal
PortalApp
App Process Process Process
10 11 12
New processes in another BPM DB
BPM version with full cell &
infrastructure isolation.
BPM Vision: Moving Toward Continuous Availability
Stage 4:
Now we ‘migrate’ the apps on BPM 8.013
Process IHS
Process
Portal
PortalApp
App Process Process Process
10 11 12
BPM DB
Process Federation Server: Security
BPM 8.013
15
Agenda
Introduction & Motivation
Architecture Details
Install & Configuration
HA, DR & Scalability
Future Vision
16
Process Federation Server – Architecture
Federation service is quickly deployed in a lightweight WebSphere Liberty server
Provides access to resources spanning federated environments (task list, launch list)
Minimizes configuration and performance impact to existing BPM environments
17
Process Federation Server
- Federated task list data flow
1. Task data from BPM environments is indexed to Process Federation Server
2. User logs into client web application
3. Task list requests get routed to Process Federation Server, resulting task list spans all BPM environments.
4. Task claim and completion requests (and other interactions with an individual task/instance), get routed to back-end BPM
environment that hosts the task, transparent to end user
BPM
V8.5.0.1
Client
application / Process Federation
Responsive Server Indexer 1) Task data is indexed to Process Federation Server
3) Task list
Portal request
(Liberty)
(browser)
BPM
V8.5.5
Server hosting
client application /
Responsive Portal BPM
V8.5.6
Note:
• 8.5.6: Support for default task list query “IBM.DEFAULTALLTASKSLIST_75” and search filters. Business data can be added to the
‘selectedAttributes’ list, e.g. selectedAttributes=bd.hiringManager.string
• 8.5.7: Full support for custom ‘Saved Search’ and ad hoc queries (define custom fields, sorting, condition filters) 18
Process Federation Server
- Federated launch list data flow
1. Launch list request gets routed to Process Federation Server
2. Process Federation Server propagates request to BPM environments and returns aggregate response
3. User’s launch request for a specific process or human service gets routed to the back-end BPM environment that hosts the
resource, transparent to end user
BPM
V8.5.0.1
Client
application / Process Federation
2) Propagate request to BPM envs
Responsive Server
1) Launch list
Portal request
(Liberty)
(browser)
BPM
V8.5.5
Server hosting
client application /
Responsive Portal BPM
V8.5.6
Note: When the same process application is deployed on two or more federated systems, two modes are possible:
• Failover – Send new work to preferred BPM system, use others if the preferred BPM system is not available
• Load balanced – Load balance new work across the BPM systems
19
New for PFS 8.5.7 – Saved Search feature
Federated Saved Search is defined once in PFS, single query spans all federated systems
Ad hoc task queries and Saved Searches
Define desired fields, filter conditions, sort order.
Structured queries AND full text search supported
Default task fields AND business data fields supported
Saved Search works in a consistent way when using a single BPM cell or a federation of cells
Federated Saved Searches are stored in a new PFS database
Hiring Process
Single BPM environment Federated environment
Process Federation Server BPM1
(Liberty) (any supported
Responsive REST ES engine/version)
BPM Responsive
Portal (traditional WAS) query elasticsearch
Portal
(browser) (browser) BPM1 BPM2
REST DB BPM2
index index (any supported
query
engine/version)
22
A couple of Common API Examples
Query all process apps: GET /bpm/process-apps
Query all toolkits: GET /bpm/toolkits
Get details of the Hiring Sample process app: GET /bpm/process-apps/Hiring+Sample
Deploying a process app introduces new values of path params
Note no UUIDs – nice human-readable URIs
Still supports use of UUIDs as well, for backward compatibility
Query all process types: GET /bpm/process-models
Equivalent to the “exposed” processes API today
Query details for HR Open New Position process: GET /bpm/process-models/HR+Open+New+Position
Query all process instances: GET /bpm/processes
Start an instance of HR Open New Position process: POST /bpm/processes?model=HR+Open+New+Position
Query all task instances: GET /bpm/user-tasks
Has an optional “search” query param (just like /bpm/processes)
Defaults to “IBM.DEFAULTALLTASKSLIST_75” if not specified
23
Agenda
Introduction & Motivation
Architecture Details
Install & Configuration
HA, DR & Scalability
Future Vision
24
Installing Process Federation Server
Download Process Federation Server package from the IBM BPM
Run installPFS.bat to silently launch IBM Install Manager
Install and configure one ‘master’ server, then create clones as needed.
Note: Liberty configuration in server.xml is simple enough to do with a basic text editor. The template server.xml has all the elements required. Update the values for your environment,
and then clone a configuration by simply copying the server.xml file.
More details:
https://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/cwlp_config.html?lang=en
27
Quick Start and Production topologies
Quick Start Production
28
Agenda
Introduction & Motivation
Architecture Details
Install & Configuration
HA, DR & Scalability
Future Vision
29
Process Federation Server - HA
PFS is made Highly Available through normal WebSphere Liberty mechanism
Configure N Liberty servers and load balance HTTP requests with a load balancer such as IBM HTTP Server
No concept of a WebSphere-defined ‘cluster’. The cluster is implicit based on number of servers configured.
PFS Elasticsearch service manages distributed index automatically via ‘shards’ and ‘replicas’
Example for illustration purposes: 12 shards and 1 replica
BPM 8.5.7 default is 3 shards & 1 replica
shards get dynamically allocated across servers
Ensure integrity of distributed Elasticsearch index by defining a quorum of servers that are required for the service to be available:
discovery.zen.minimum_master_nodes="2“
30
Process Federation Server - HA
The distributed Elasticsearch index requires a quorum to ensure data integrity
So, we must consider the number of nodes that the system can lose and continue to function properly
Recommendations:
Start with 3 servers and one index replica
Ensures any one server can be lost without impacting the distributed index availability
Add additional servers and configure additional index replicas to tolerate loss of more servers
Servers 3 4 5 6 7 8 9 10 11 12
discovery.zen.minimum_master_nodes 2 3 3 4 4 5 5 6 6 7
index.number_of_replicas 1 1 1 to 2 1 to 2 1 to 3 1 to 3 1 to 4 1 to 4 1 to 5 1 to 5
31
Disaster Recovery Notes
Our DR testing now includes cross-site failover scenarios with federated environments
Internal testing has gone well. Very few surprises.
Replication and recovery for the member cells proceeds just as usual
All of the traditional concepts like Stray Nodes and Cloned Cells still apply to the member cells
32
Disaster Recovery for the Entire Federation
DataCenter A DataCenter B
34
Future Vision: Increased flexibility & isolation
Stage 0:
This is our base topology BPM 8.013
IHS
Process IHS
Process
Portal
PortalApp
App Process Process Process
10 11 12
BPM DB
Future Vision: API Proxy Service
Step 1:
API Proxy service allowing BPM 8.5.x
Process IHS
Process
Portal
PortalApp
App Process Process Process
10 11 12
BPM DB
Future Vision: Collocate the Process Portal App
Step 2:
Deploy Portal App to our UI BPM 8.5.x
IHS
BPM 8.5.y
IHS
IHS
Process AProcess B
Process C
UI UI UI
BPM 8.5.y
IHS
IHS
LDAP
BPM 8.5.y
IHS
Process AProcess B
Process C
UI UI UI
BPM 8.5.y
IHS
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of
initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS
DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE
USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY.
IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers
have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in
which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials
and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or
their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and
interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such
laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
42
Notices and Disclaimers Con’t.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual
property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
43
Thank You
Your Feedback is Important!