Cloud Pak for Business Automation

Cloud Pak for Business Automation

Come for answers. Stay for best practices. All we’re missing is you.

 View Only

BAW Runtime Modes Compared: Standard vs. Advanced

By Derek Li posted 18 hours ago

  

BAW Runtime Modes Compared: Standard vs. Advanced

Starting with version 24.0.0 of Cloud Pak for Business Automation (CP4BA), Business Automation Workflow Runtime (BAW Runtime) introduces significant architectural changes. A new operator, the ibm-workflow-operator, has been added, and to reduce the overall footprint, components such as Application Engine Runtime (AE), Business Teams Service (BTS), and Process Federation Server (PFS) are no longer included by default. However, some customers may still require PFS to support advanced features.

In this blog post, we’ll use a production deployment of CP4BA 24.0.0 with an EDB (EnterpriseDB) database as an example. The deployment includes two configured instances—BAW Runtime and Workstreams—within the same Custom Resource (CR). We’ll explore the key differences between BAW Runtime Standard mode (without PFS/AE/BTS) and Advanced mode (with PFS/AE/BTS) from a deployment perspective and walk through a practical approach to transition from a standard deployment to an advanced configuration by modifying the runtime setup post-installation.

1. Custom Resource (CR) Configuration Differences

(1), In BAW Runtime Advanced mode, two additional configuration sections are required to support the Application Engine (AE). First, the ae_data_persistence field must be included under shared_configuration.sc_optional_components. Second, the application_engine_configuration section must be defined under the top-level spec of the Custom Resource (CR). In contrast, both fields are omitted in BAW Runtime Standard mode, where AE is not deployed.

The following screenshot shows an example snippet of the application_engine_configuration section within the Custom Resource (CR):

(2), In BAW Runtime Advanced mode, a new object store (AEOS) must be configured under datasource_configuration.dc_os_datasources to support the Application Engine. This configuration is not required in BAW Runtime Standard mode, where AE is not deployed. The following screenshot shows an example of the AEOS datasource definition within the Custom Resource (CR):


The AEOS object store must also be defined under initialize_configuration.ic_obj_store_creation to ensure it is properly created during the initialization phase. The following screenshot shows an example of the AEOS object store creation section within the Custom Resource (CR):

(3), In both Standard and Advanced BAW Runtime modes, the baw_configuration section includes two capabilities: workflow and workstreams. However, the host_federated_portal setting differs between the two modes:

In Standard mode, host_federated_portal should always be set to false for both capabilities.

In Advanced mode, host_federated_portal should be set to true for the workflow capability, while it should remain false for workstreams.

Additionally, in Advanced mode, both workflow and workstreams instances require an extra configuration block to enable integration with the Process Federation Server (PFS):

process_federation_server:

  context_root_prefix: /pfs

  hostname: <HOSTNAME>

The following two screenshots illustrate the differences in CR configuration between Standard and Advanced modes:

BAW Runtime Standard Mode


BAW Runtime Advanced Mode


(4), In BAW Runtime Advanced mode, a dedicated Process Federation Server (PFS) Custom Resource (CR) must be applied as part of the deployment. The screenshot below provides an example of a typical PFS CR configuration:


2. Secret Configuration Differences

Since the BAW Runtime Advanced mode includes the deployment of a new Object Store (AEOS) and the Application Engine Runtime (AE), a Kubernetes secret is required to provide credentials for both components. Below is an example of how to create the ibm-fncm-secret that contains the necessary configuration for AEOS

oc create secret generic ibm-fncm-secret \

  --from-literal=appLoginPassword=<LOGIN_PASSWROD> \

  --from-literal=appLoginUsername=<LOGIN_USERNAME> \

  --from-literal=awsdocsDBPassword=<DB_PASSWORD> \

  --from-literal=awsdocsDBUsername==<DB_USERNAME> \

  --from-literal=bawdocsDBPassword=<DB_PASSWORD> \

  --from-literal=bawdocsDBUsername==<DB_USERNAME> \

  --from-literal=bawdosDBPassword=<DB_PASSWORD> \

  --from-literal=bawdosDBUsername==<DB_USERNAME> \

  --from-literal=bawtosDBPassword=<DB_PASSWORD> \

  --from-literal=bawtosDBUsername==<DB_USERNAME> \

  --from-literal=aeosDBPassword=<DB_PASSWORD> \

  --from-literal=aeosDBUsername==<DB_USERNAME> \

  --from-literal=gcdDBPassword=<DB_PASSWORD> \

  --from-literal=gcdDBUsername=<DB_USERNAME>

Below is the example of how to create a secret for Application Engine Runtime {{ meta.name }}-workspace-aae-app-engine-admin-secret

oc create secret generic {{ meta.name }}-workspace-aae-app-engine-admin-secret \

  --from-literal=AE_DATABASE_PWD=<DB_PASSWORD> \

  --from-literal=AE_DATABASE_USER==<DB_USERNAME>

3. Database Requirements

Since the BAW Runtime Advanced mode deploys a new Object Store (AEOS) and Application Engine Runtime (AE), additional databases are required to support these components. Below is an example of SQL commands to create the AEOS and AAEDB databases using PostgreSQL:

        AEOS:

       AAEDB:

 4. Pods Deployment Differences

In BAW Runtime Advanced mode, several additional pods are deployed to support components like BTS, PFS, and AE. The following screenshot highlights the pods that are only present in Advanced mode:

To customize the configuration to achieve BAW Runtime Advanced mode after Standard mode is deployed, the end user needs to complete the following steps:

  • 1.     Create the AEOS and AAEDB databases — This step has already been covered in an earlier section of this blog.
  • 2.     Create a new secret for the Application Engine Runtime — This step was covered in an earlier section of the blog. In addition, you need to patch the existing ibm-fncm-secret to include new parameters required for AEOS. Below is a sample command demonstrating how to patch the ibm-fncm-secret with the necessary AEOS configuration:

            oc patch secret ibm-fncm-secret \

            --type=merge \

            -p '{"stringData": {"aeosDBUsername": "<DB_USERNAME>", "aeosDBPassword": "<DB_PASSWORD>"}}'

  • 3.     Update the Custom Resource (CR) — Modify the CR based on the configuration differences outlined in the previous section of this blog, then apply the updated CR to reflect the changes.
  • 4.     Apply the dedicated PFS Custom Resource (CR) — Deploy the standalone Process Federation Server (PFS) CR required for BAW Runtime Advanced mode.
  • 5.     Initialize the newly added object store — Since a new object store has been added to the CR, it must be initialized. However, the ibm-content-operator does not automatically detect the addition of a new object store. To trigger initialization, the user must either delete the {{ meta.name }}-initialization-config ConfigMap or manually update it by changing the value of cpe_initialized from "True" to "False". During the next reconciliation cycle, the ibm-content-operator will detect the change and proceed to initialize the new object store. The screenshot below shows an example of this ConfigMap.
  • 6.     During the reconciliation process by the operator in BAW Runtime Advanced mode, it is expected that the pfs and baw-server pods may be recreated multiple times. This behavior is normal. Once the new AEOS object store initialization completes, you should see initialized: "True" again in the {{ meta.name }}-initialization-config ConfigMap, and the cpe_os_number value will have increased by 1.
  • 7.     A dedicated Workplace URL (https://<HOSTNAME>/icn/navigator/?desktop=workplace)  is available only in BAW Runtime Advanced mode, providing access to additional advanced features. The screenshot below shows an example of the Workplace URL configured in an Advanced mode deployment:


Conclusion:

This blog post explained the key differences between BAW Runtime Standard Mode and Advanced Mode in CP4BA, focusing on deployment-level configurations such as Custom Resources, secrets, databases, and pods. It also demonstrated how to transition from a standard deployment to an advanced setup by modifying the configuration. With this information, customers can make informed decisions on whether to enable advanced features based on their specific business and technical requirements.

Reference:

https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/24.0.0?topic=deployments-installing-cp4ba-process-federation-server-production-deployment

https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/24.0.0?topic=resource-configuring-business-automation-workflow-runtime-workstream-services

https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/24.0.0?topic=engine-optional-configuring-application-data-persistence

https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/24.0.0?topic=ae-optional-creating-database-secrets-without-running-provided-scripts

https://www.ibm.com/docs/en/cloud-paks/cp-biz-automation/24.0.0?topic=scripts-preparing-databases

0 comments
5 views

Permalink