Automating Your Business

 View Only

Setup IBM Process Automation Manager Open Edition (PAM/DM) using docker images

By Marco Antonioni posted Mon September 26, 2022 02:52 AM

  

Introduction


IBM Process Automation Manager Open Edition (PAM) and IBM Decision Manager Open Edition (DM) are application development platforms for developers to create highly customized, modern, cloud-native applications that automate business operations.
These platforms are built on open source projects: Drools, jBPM and Kogito.

IBM Process Automation Manager is an Open-Source platform for modeling and automating business processes, including case and decision support.
PAM characteristics:

  • Cloud-native development and execution of process automation apps
  • Collaborative modeling tools
  • Native support for BPMN 2.0
  • Ad-hoc case management
  • UX design tools
  • Includes full Decisions management support (IBM Decision Manager Open Edition)
  • Includes limited-use license of IBM RPA

IBM Decision Manager is a platform for modeling and automating business decisions with Decision Model & Notation (DMN) and business rules.
DM characteristics:

  • Cloud-native development and execution of decision automation apps
  • Collaborative modeling tools
  • Native support for DMN 1.4
  • ML models supported via PMML
  • Complex Event Processing
  • Includes limited-use license of IBM RPA

All components are available as container images, ready for deployment on OpenShift.
Deploy on the public cloud of your choice or on-prem without any change in functionality
Kogito-based serverless decision management.
Facts:
  • Improve scalability, reliability, responsiveness, agility and productivity
  • Deliver more features, faster
  • Avoid vendor lock-in
  • Ensure cost-effectiveness

The platform is developer friendly
Facts:
  • Limitless flexibility to build your apps exactly the way you want
  • Use modern, familiar Dev/Ops practices and tools:
  • IDEs (for example, VSCode)
  • Source code control (Git and Maven)
  • CI/CD pipelines (Jenkins)

Fully open-source software:
  • Includes latest innovations
  • Stability: fully tested, supported by IBM
  • Secure and transparent
  • Supports OMG standards (DMN1.4, BPMN 2.0)
  • DMN is written as spec – no custom code for the implementation
  • Ensure automation services integrate with legacy and 3rd party applications
  • Collaborate with business users
  • Mix and match solutions from different sources
  • Mitigate risk

IBM PAM is based on Kogito - Next-gen Cloud-Native Business Automation


Purpose of this article

The purpose of this article is to demonstrate how easy it is to setup a development environment in containerized form of "IBM Process Automation Manager Open Edition".

We will use a "IBM Business Automation Manager 8 - Business Central" docker format image present on the Red Hat registry at the url https://catalog.redhat.com/software/containers/ibm-bamoe/bamoe-businesscentral-rhel8/62d66109056f9710ce6903c3?_ga=2.209426898.1133731700.1663598949 -1120342785.1663598949

This is the link where you can find all other possible downloads "IBM Business Automation Manager Open Editions 8.0 download document" at url https://www.ibm.com/support/pages/node/6596913

In these examples we will use the Red Hat registry login, so prepare your credentials. If you don't have an account you can create a free Developer account by following the instructions at the link https://access.redhat.com/RegistryAuthentication


In these examples we will use a Red Hat Linux box, we will use the Podman tool that you will find pre-installed from the RH v8.x distribution. In case you want to use Docker instead of Podman, just change the name of the command by replacing 'podman' with 'docker' in all the commands you will find in the article.


Prerequistes

A Red Hat account (you will use your credentials only to pull the container image from RH registry) Podman or Docker tool.
Very little disk space on the host machine.
15 minutes of your free time to complete the setup and the 3 run scenarios


Verifications

Check for the presence of the Podman tool
with the command 'which podman'.

Verify that your credentials are active using the 'podman login registry.redhat.io' command
you will be asked to enter your username and password
Username: your-rh-username
Password: ***********

You are now ready to continue with the setup of the docker image


Pull container image

Download the docker image with the command

podman pull registry.redhat.io/ibm-bamoe/bamoe-businesscentral-rhel8:8.0.0-2

At the time of writing the latest available tag is '8.0.0-2', to get the latest version use the 'latest' tag

Use the 'podman images' command to check for the presence of the image you just downloaded.


Scenario 1 - ephemeral storage

For the first example we will use a scenario with ephemeral storage, every project that we develop in our workspace will be saved inside the file system inside the container and therefore will be lost when the container is deleted.

We will now launch an instance of the 'Business Central' development environment with the command

podman run --name ibamoe1 -it -p 8080: 8080 -p 8443: 8443 -p 8778: 8778 registry.redhat.io/ibm-bamoe/bamoe-businesscentral-rhel8:8.0.0-2

The command executes a new container instance named 'ibamoe1'.

The shell will present the server execution log, you can ignore some errors and related exceptions. At the end of the start phase the log will show the following line that ends with the message '... Initialize deployments task finished successfully.'.
Now let's access the development environment with a browser at the local url to your linux box 'http://localhost:8080/kie-wb.jsp'

To access the development environment use user 'adminUser' and password 'admin1!'.
Create your workspace with the 'Add Space' button.
Then enter your new space (click on the tile that shows the name of the space you just created).
Import the demo available at the link 'https://github.com/jbossdemocentral/rhpam7-order-management-demo-repo.git' with the 'Import Project' button.
Select the 'Order-Management' project and confirm with 'Ok' to complete the import operations.
Now you can browse the newly imported content.

If you are curious to see where the project was imported into the container's internal file system you can run the following command from a new shell

podman exec -it ibamoe1 /bin/bash

Now the shell is relative to the container instance, run the 'whoami' command and you will see the 'jboss' user.
Run the command

find /opt/kie/data -name "rhpam7-order-management-demo-repo"

and you will get the complete file system path of the newly imported project.

We can now exit the container shell with the 'exit' command and then terminate the container instance with the command

podman kill ibamoe1


Scenario 2 - persistent storage on host file system

Let's now create a file system zone of your host machine that will host the data produced by the new container instance.
Let's assume we are in the user's home folder and create the following folders

mkdir -p ~/ibamoe/storage/mount-cache1
mkdir -p ~/ibamoe/storage/mount-data1

Let's now start a new container instance that will use two mount points of your disk with the command

podman run --name ibamoe-storage-1 --volume ~/ibamoe/storage/mount-cache1:/home/jboss/.m2:Z --volume ~/ibamoe/storage/mount-data1:/opt/kie/data:Z -it -p 8080:8080 -p 8443:8443 -p 8778:8778 registry.redhat.io/ibm-bamoe/bamoe-businesscentral-rhel8:8.0.0-2

with the parameter '--volume <local path>': <path inside the container>: Z 'a mount point is created that allows the jboss user to write (using third parameter Z) to the file system of your host.

Wait for the complete start of the new container, create your new space and import the sample project.
At the end you will find the resources created by 'Business Central' on your file system.
You can then terminate and delete the container instance and then create a new one later without losing anything of what you have developed.
Try the command

podman kill ibamoe-storage-1

Then create a new container instance called 'ibamoe-storage-1-bis', with the command

podman run --name ibamoe-storage-1-bis --volume ~/ibamoe/storage/mount-cache1:/home/jboss/.m2:Z --volume ~/ibamoe/storage/mount-data1:/opt/kie/data:Z -it -p 8080:8080 -p 8443:8443 -p 8778:8778 registry.redhat.io/ibm-bamoe/bamoe-businesscentral-rhel8:8.0.0-2

Log in now to your work environment and you will find the space and the project you created previously.

We can now terminate the container instance with the command

podman kill ibamoe-storage-1-bis


Scenario 3 - with persistent storage on Podman volumes

In this third and final scenario we will repeat what we did in scenario 2 but this time instead of directly using a portion of the host file system we will create a couple of volumes managed by the Podman tool.

Let's now create two volumes with the Podman tool, run the following commands

podman volume create vol-cache1
podman volume create vol-data1

We verify that the two volumes have been correctly created with the command

podman volume ls

Let's inspect the details of the two volumes with the commands

podman volume inspect vol-cache1
podman volume inspect vol-data1

The 'podman volume inspect' command allows you to trace the location of your file system where the Podman tool creates the physical storage associated with each volume.

Let's now start a new container instance that will use two mount points from Podman volumes with the command

podman run --name ibamoe-volume-1 --volume vol-cache1:/home/jboss/.m2:Z --volume vol-data1:/opt/kie/data:Z -it -p 8080:8080 -p 8443:8443 -p 8778:8778 registry.redhat.io/ibm-bamoe/bamoe-businesscentral-rhel8:8.0.0-2

Create the space and import the project, then subsequently terminate the container and create a new one with a different name that reuses the same volumes, this last instance of container will use the contents created previously as already seen in scenario 2.

We can now terminate the container instance with the commands

podman kill ibamoe-volume-1
podman kill ibamoe-volume-1-bis


Conclusions

As you have seen, starting to use the pre-installed development environment in a Docker type image is really simple and allows each developer to create multiple work environments with the possibility of working with different product versions, just use a different tag and keep on volumes or system files the various work workspaces.

Just to remind you that for production environments where support from the open source community cannot help you quickly resolve any defects, IBM offers paid support for the "IBM Process Automation Manager Open Edition (PAM)" and "IBM Decision Manager Open Edition (DM)".

Why should I pay for Open-source software – it’s free?!?

What an IBM payed support offers to you:
  • 24x7 support for the software - not posting to a community for help
  • Your problems are our problems, and every fix does not require a migration (unlike what can occur in the community)
  • The Kogito community, as of now is by and large an IBM and Red Hat community - so product enhancements and asks will be directed through that channel for features. Customer Partnerships are essential to success!
  • Within Red Hat, the only way to utilize Red Hat Consulting was with enterprise software, not community with very few exceptions
  • Security and bug fixes are typically the biggest reason.
  • Remember Log4j back in December 2021
  • Avoids vendor lock-in – IBM must show value to customers to justify their continued purchase of support

References

IBM Expands Business Automation Portfolio with Open Source Process and Decision Automation
https://www.ibm.com/cloud/blog/announcements/ibm-expands-business-automation-portfolio-with-open-source-process-and-decision-automation

https://www.ibm.com/docs/en/ibamoe?topic=getting-started-business-automation-manager-open-editions

IBM Business Automation Manager Open Editions 8.0 download document
https://www.ibm.com/support/pages/node/6596913

Develop your own docker images
https://github.com/timwuthenow/ibamoe-setup

Installing and configuring IBM Business Automation Manager Open Editions
https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html-single/installing_and_configuring_ibm_business_automation_manager_open_editions/index?_ga=2.118158409.1133731700.1663598949-1120342785.1663598949

Developing process services in IBM Business Automation Manager Open Editions
https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html-single/developing_process_services_in_ibm_business_automation_manager_open_editions/index?_ga=2.175135970.1133731700.1663598949-1120342785.1663598949

Permalink