Cloud Pak for Business Automation

 View Only

CP4BA Workflow Process Service (WfPS) deep dive

By Marco Antonioni posted Sun January 07, 2024 09:10 AM

  

Introduction

 
In this post I want to briefly present the strengths of the 'Workflow Process Service' capability and then move on to concrete examples for runtime deployment and application installation and configuration.
All operations are carried out via scripts and this demonstrates in a factual manner how the WFPS runtime fully embraces the DevOps philosophy of microservices.
 
The benefits obtainable with this capability range from topics such as saving time regarding deployment activities, the possibility of separating workloads on different servers dedicated to specific business lines, the possibility of scaling quickly and easily over time to the increase in new applications on new dedicated servers, but also to the simplicity of updating both the product versions and the versions of the applications in 'rolling-update' mode, reducing system downtime and increasingly maintaining operational solutions to respond to business transactions at any time.
As always, technology is the enabling factor, the method always remains the winning key.

WfPS overview

 
Workflow Process Service (WfPS) is a process capability with a smaller footprint and resource usage for developing, testing, and running workflow processes that orchestrate human tasks and services. 
The service is offered as part of IBM Cloud Pak® for Business Automation.
WfPS is a 'quick and fast' entry point to the IBM Cloud Pak for Business Automation Workflows applications. 

Benefits of use

 
WfPS offers the following advantages:
- A fit for purpose BPMN process capability with a smaller footprint and fewer dependencies to create, deploy, use, and manage processes that require only process features and do not require case features.
- The ability to use process skills that developers are familiar with from Business Automation Workflow.
- OpenShift Container Platform (OCP) features of auto-scaling, High Availability (HA), and multi-zone regions (MZR).
 
WfPS provides a runtime environment driven by WfPSRuntime custom resource, deployed as a StatefulSet.
The WfPS development environment is BAStudio (Business Automation / Workflow), same as Business Automation Workflow.
It provides an end-to-end development and production environment, where you can do the following tasks:
- Develop your process workflows iteratively in an authoring environment that is fully integrated with a playback runtime environment.
- Install your workflows to a WfPS runtime environment.
- View, manage, and administer your running workflows. Optionally, configure Elasticsearch in a separate container to access more features.
- Work on your tasks and manage them.
- Gain insights into your business by analyzing your business data using Business Automation Insights capability.

When to choose WfPS over BAW

 
When you want/need:
- to go Containerized and cloud-ready.
- to provide complete process application isolation for independently upgrading, versioning, or tuning.
- to provide runtime isolation to deliver enhanced security, privacy, and resilience.
- to start small, add capabilities as needed, and finally scale to IBM Business Automation Workflow. 
- to eliminate the need for centralized environments
- to support embedded, headless, or microservice process applications while retaining the operational characteristics of BAW.
- to build, configure, test, measure then destroy the runtime environment to release your Pak VPCs into the shared bucket.

WfPS runtime environment details

 
WfPS provides a runtime environment that can support a wide range of process workflows and service orchestrations without Case support.
WfPS runtime can connect to external Content sources. 
You can configure a runtime environment for testing, staging, or production.
In an extreme isolation-driven requirements you may install WfPS runtime in a dedicated namespace (requires Pak Foundation installation with its own Zen layer)
 
WfPS may use also PostgreSQL database to manage persistent storage.
In a very quick-and-fast deployment for example an UAT environment the WfPSRuntime operator can automatically create and configure an PostgreSQL instance for you. 
 
WfPS provides capabilities to run, manage, and administer your workflows, work with tasks, and view business metrics.

WfPS Operations Management

 
- You may use WfPS operations and runtime REST APIs to: 
Install your process app snapshots to the runtime environment and administer running processes.
Interact programmatically with processes and tasks.
 
- You may use a web browser to: 
View, manage, and administer process apps and configure runtime settings in the Process Admin Console. 

WfPS Dashboards

 
The users can work with processes and tasks accessing the Workplace dashboard.
Administrators can manage the environment accessing the ProcessAdmin dashboard.
Dashboards urls and REST services endpoint are generated automatically during the runtime deployment.

WfPS Authentication and Authorization

 
WfPS relies on Zen layer from Cloud Pak Foundational Services.
You may add your own LDAP servers using Zen REST APIs, then users can be added to your application Teams and to WfPS instance administration. 

Demo time, deployment of runtime and application installation

 
Well, now let's move on to the most interesting part.
With the support of one of my git repositories we are going to create and deploy the CRs for WFPS type servers.
Once the server is created we will deploy a couple of applications.
For the application that involves interaction tasks with the end user we will configure the TeamBindings of the Roles.
We will interact with services exposed via REST with the cUrl utility.
All these operations, to highlight how the WFPS runtime fully embraces the DevOps philosophy of microservices, will be performed via the REST (family Operations) api of the WFPS server.
The bash scripts in the repository can provide inspiration for the creation of your DevOps pipelines.
The contents are considered open source so you can clone and modify as you wish.
For practical exercises you can follow the instructions on the git repository entry page.
The git repository is at the following link https://github.com/marcoantonioni/cp4ba-wfps
Have fun!

References

 
Product documentation
 
IBM Community: IBM Business Automation -> Cloud Pak for Business Automation
1 comment
36 views

Permalink

Comments

Tue January 09, 2024 03:40 AM

Very well written post. This can be a valuable accelerator in deployment scenarios where BPMN is required, yet in a quick and flexible way.
Thanks Marco, great job!
L.