Cloud Pak for Business Automation

 View Only

CP4BA Workflow Process Service (WfPS) deep dive part 3 - Adding Business Automation Workflow - The big picture

By Marco Antonioni posted Sun January 21, 2024 12:00 PM

  

Introduction

 
In this third post I want to present a big picture about federated topology defined by various instances of 'Workflow Process Service' runtime and 'Business Automation Workflow' runtime in a containerized environment.
The federation of different workflow environments allows the end user to access a single web portal where he can interact transparently with tasks and processes operating on the various federated runtimes.
 
In the previous posts of this series the Workflow Process Service (WfPS) and Process Federation Portal (PFS) components were presented.
 
CP4BA Workflow Process Service (WfPS) deep dive
 
CP4BA Workflow Process Service (WfPS) deep dive part 2 - PFS federation
 
As usual, the final part of this post provides an example for the complete implementation of the topology described.
 

Business Automation Workflow (BAW) ProcessPortal overview

 
Process Portal is the user interface that is provided with all editions of Business Automation Workflow for participating in processes. 
It can be configured for a single Business Automation Workflow system or federated environments that include IBM® Process Federation Server. 
From Process Portal, users can launch processes, dashboards, and startable services, and work on their tasks.
 
For detailed information about BAW and ProcessPortal see Reference section.
 

Benefits of use

 
The benefits obtainable with the federation of various workflow runtimes are numerous, here a short list.
The possibility of having a single access point for all workflow deployments.
The infrastructure scalability and simplicity (adding and/or removing a deployment). 
The possibility of having simultaneously active product versions on different deployments, eliminating upgrade/migration costs between different product versions. 
The simplification of capacity planning activities which no longer require a large advance expenditure to support the evolution of business requests (new features, new applications) this is because it will be enough to add a new workflow runtime and federate it with minimal system operations; the enabler for the "Start small, Scale fast" approach to cloud oriented solutions.
 

Example scenario topology

 
This last complete scenarios is composed of a PFS runtime, one WfPS runtime and one BAW runtime (hosting the federated Process Portal).
The scenario involving the BAW with Process Portal federation, this is only possible in 'production' deployments.
The particular configuration of an authoring environment (BAStudio) inhibits federation of the BAW runtime that supports the development environment.
For this reason it is not possible to use a simplified 'starter' installation of CP4BA.
The 'production' deployment of a BAW runtime is a slightly more complex activity and requires an advanced level of skills, but don't worry you can do it.
If you want to try your hand at the complete exercise on your Openshift cluster you can refer to my public repositories in git hub to install and configure a 'production' type environment with a 'Test' level of reliability and scalability.
To run this demo you can use the configuration file 'env1-demo-wfps-pfs-baw.properties'.
The repository for CP4BA simplified installations is at link https://github.com/marcoantonioni/cp4ba-installations.
In the README file of the repository you will find a detailed explanation of how to use a single shell script to perform a 'production' installation even without having professional skills.
 

Demo time, deployment of PFS, BAW and WfPS runtimes

 
Now let's move on to the most interesting part, the deployment of one PFS, one BAW and one WfPS runtimes in same namespace.
 
Before start the installations keep aligned the name of target namespace for each BAW and WfPS configuration (eg: cp4ba-wfps-baw-pfs-demo), verify the value of WFPS_NAMESPACE variable for WfPS configuration you want to use.
 
To install a 'production' environment which includes a BAW runtime, a PFS runtime and the complete Foundation with LDAP you can refer to the README page at the link https://github.com/marcoantonioni/cp4ba-installations
Use the configuration file named 'env1-demo-wfps-pfs-baw.properties' for steps in 'Installation examples' (example 1 or 2 are valid, simply change the configuration file name).
Read the 'Prerequisites' section and adapt storage class names and target namespace in properties file as you need.
 
Example:
# set your configuration file
CONFIG_FILE=../configs/env1-demo-wfps-pfs-baw.properties
 
# run the real 'one-shot' CP4BA installation command
./cp4ba-one-shot-installation.sh -c ${CONFIG_FILE} -m -v 5.1.0
With the basic example for this demo you will also find Elasticsearch, BAW and PFS already installed together with the Foundation layer.
Once the installation is complete you can continue installing WfPS runtime with federate option set to true 'WFPS_FEDERATE=true', see the instructions in post 2. 
At the end of setup you may verify the status of all the installations you may use OCP console in browser or from command line
 
oc get ICP4ACluster wfps-demo -o jsonpath='{.status.conditions}' | jq .
 
Now install the demo application in BAW runtime.
To install an application in BAW use tool 'cp4ba-deploy-baw-app.sh' from https://github.com/marcoantonioni/cp4ba-utilities in folder 'cp4ba-baw-applications'
Use the application in file 'apps/SimpleDemoBawWfPS.zip
 
BAW application deployment example
 
cd .../cp4ba-utilities/cp4ba-baw-applications/
 
# values must match with configuration file used for demo deployment
_DEPL_NAMESPACE="cp4ba-wfps-baw-pfs-demo"
_CR_NAME="wfps-demo"
_DEPL_NAME="baw1"
_BAW_ADMINUSER=cp4admin
_BAW_ADMINPASSWORD=dem0s
_BAW_BAW_APP_FILE="/home/marco/cp4ba-projects/cp4ba-wfps/apps/SimpleDemoBawWfPS.zip"
 
./cp4ba-deploy-baw-app.sh -n ${_DEPL_NAMESPACE} \
                          -b ${_DEPL_NAME} \
                          -c ${_CR_NAME} \
                          -u ${_BAW_ADMINUSER} \
                          -p ${_BAW_ADMINPASSWORD} \
                          -a ${_BAW_BAW_APP_FILE}
 
Final check, list federated contents from PFS, see the instructions in post 2. 
 
Now we can run a test, for example in the '/Workplace' dashboard of the federated WfPS we start a new process instance (alternatively with the command line example with cUrl).
The task will be made available after a few seconds in the WfPS portal.
Now log in to the '/ProcessPortal' of the BAW and (time required for propagation via elasticsearch engine) the same task will be available if the user with whom you logged in has been profiled for the role (TeamBindings) associated with the task; use different browser to see in real time the propagation of events/data between a WfPS and the ProcessPortal UI.
 
Video recordings for the demo at the link https://github.com/marcoantonioni/cp4ba-videos in folder 'wfps-baw-pfs-demo'.
 
Simple and powerful, isn't it?
 
Note: If you are interested soon I will post on 'how to' use the simplified installations in 'cp4ba-installations' repository.
 

References

 
CP4BA - Workflow
 
BAW - Process Portal
 
My GitHub repositories (see cp4ba- prefix)


#ibmcloudpakforbusinessautomation


#CloudPakforBusinessAutomation
0 comments
12 views

Permalink