Business Process Management Reimagined – New Services for Application Developers

You may be familiar with Business Process Management (BPM).  It is a discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Today BPM, or more specifically the technology that supports BPM, is widely used in organizations large and small to automate business operations. The story of BPM is long, with roots going back to the early 1990’s, and it has constantly reinvented itself to meet the evolving needs of enterprises.  Once focused on driving efficiencies into back-office functions, BPM platforms have evolved into essential tools for enterprises looking to digitally transform operations, and to deliver a personalized customer experience that’s integrated across points of interaction.  

BPM in the Application Environment

The focus on digital transformation has led to the modern role of BPM solutions in application development, and to the rearchitecting of the old monolithic BPMS as a set of middleware services that developers can easily incorporate into applications.  Now often referred to as a Digital Application Platform (DAP), the BPMS has become part of the application environment – a catalog of components that can be included in applications requiring process management, decision management or optimization capabilities.  Now, for example, when building an application that requires, say, to make a determination of whether an insurance application complies with underwriting rules, a developer can quickly locate the corresponding decision service within their app environment and include it in their application.  Conversely, it’s the new DAP solutions that enable such application services to be quickly created from models provided by the business. Business friendly tools support the creation of a range of model types – from decision models, built with the new graphical Decision Model & Notation (DMN) standard, to models of entire business processes constructed in Business Process Model & Notation (BPMN).  DAP technology today is truly making it possible for business users to contribute to application development alongside developers.

Cloud-Native Digital Automation

The advantages of modern digital automation middleware are not limited to application development, however.  Once built, those new applications must be deployed on a variety of cloud platforms, they must scale automatically to meet varying demands, they must be secure, and they must be easy to replace or upgrade without impacting the user experience.  At Red Hat, the application environment, in which DAP services are included, is designed from the ground up to be cloud-native. DAP services are deployed in containers, and managed by Kubernetes, to provide the scalability and resiliency that enterprises need.

Digital automation today is an essential part of modern applications, and its importance is only likely to increase as we look to the future role of the Digital Automation Platform as the logical home for emerging technologies like Robotic Process Automation (RPA), and artificial intelligence / machine learning.  At Red Hat, we are focused on growing our application environment to support this widening technology landscape, so that our customers can succeed in an ever more digital world.

Process management and business logic for responsive cloud-native applications: Red Hat Process Automation Manager is released

Today, Red Hat announced the latest major release of its business process suite, with a new name and several major changes that pivot the focus of the product itself. Red Hat Process Automation Manager is about more than providing a business process modeler or optimizing resource allocation. This is the first generation (at Red Hat) of a digital automation platform — a hub where business users and technical developers can collaborate to create strategically-relevant, intelligent applications.

Red Hat Process Automation Manager has two core conceptual areas:

  • The first is based on decision management (the “intelligent” part of intelligent or even-driven applications). This includes the decision engine of Red Hat Decision Manager and allows automated, immediate responses to interactions, from event processing to resource optimization.
  • Second, Process Automation Manager provides the means of modeling and applying business logic within an application. In combination with a graphical UI, these creates a platform for business users to be able to design business logic in collaboration with the technical teams.

New feature: Process management + case management

The heart of a BPM platform is the “BP” — business process modeling. The previous BPM Suite supported BPMN, the notation specification for business process models, and DMN, the notation specification for data models. The assumption behind a lot of these specs is that the workflows or processes being modeled are relatively static or sequential. For certain types of business processes, that is an accurate assumption (things like resource optimization or scheduling). However, in many organizations, there are also processes which are not linear or which may follow different steps in a dynamic sequence or may be interrupted or require human intervention at certain points. These are generally defined within a related notation specification, Case Management Model Notation (CMMN).

While there are differences, there is also a lot of conceptual overlap between business processes / BPMN and case management processes / CMMN. Process Automation Manager combines the functionality of both process models and case management models within a single digital automation platform. (This is covered in more detail in the blog post here.)

Supporting both linear process / task models and dynamic or unpredictable case management models within the same platform allows developers to have a simpler development process (and, combined with other features like Process Automation Manager’s new graphical UI, makes collaboration with business users easier).

Process Automation Manager also supports other types of modeling and visualizing data and worflows:

  • Data modeling
  • Decision modeling
  • Custom data dashboards
  • Process simulations

New Feature: An easier way for business users to collaborate (graphical UI)

Previous versions of Red Hat JBoss BPM Suite were designed around business process logic, but were intended to be used by Java developers within the application development process. Beginning with this Process Automation Manager 7.0 release, there is a new Entando UI included with the platform. This provides an easier, graphical interface where business users can just drag and drop elements into their models — using ultimately the same platform that the developers are using to create the application. Business processes, rules, and logic can be written into the application essentially without having to write a single line of code.

This also effectively changes the workflow for creating event- and process-driven application. Previously, developers did all the work within their development environment. Now, business users can work in parallel (using the Process Automation Manager UI) to create artifacts which can be pulled into the developer’s IDE and code. Everything can then be packaged up and deployed in containers or other environments.

New feature: Cloud (and container) native applications

With more distributed, hybrid infrastructures, it is imperative that applications be able to function exactly the same regardless of the underlying platform. And those applications need to be designed, natively, to work in a distributed, dynamic environment so that they can be rapidly deployed, updated, or scaled.

Process Automation Manager can itself run in Red Hat OpenShift containers, in public or private clouds, on-premise, or in all environments — depending on the needs of your development and infrastructure teams. Additionally, the models and applications created using Process Automation Manager as a platform can be deployed into cloud instances, OpenShift containers, or local instances. This allows truly hybrid development, testing, and production environments.

Process Automation Manager components, applications, and models can all be exposed and accessed using REST APIs, allowing integration with other software applications or management tools.

Additional Resources

  • Dive a little deeper into process automation technology with our tech overview.
  • For general information about the Process Automation Manager, check out the datasheet.
  • There are different use cases for process automation and a business decision engine. The FAQ runs through some things to consider.
  • Get started by actually using the Process Automation Manager. Red Hat Developers has a whole “hello world” example, waiting for you.

Learning Process Driven Application Development with JBoss BPM

Are you interested in an introduction to the concepts of process management (BPM)?

Do you want to learn how your business can leverage process driven application delivery?

Are you looking for an easy to understand guide to mastering Red Hat JBoss BPM Suite tooling?

Do you want a step-by-step introduction to setting up JBoss BPM Suite, then coverage of practical and important topics like data modeling, designing business rules and processes,  detailed real world examples, and tips for testing?

For the last few years I’ve been working on putting years of working with JBoss BPM Suite, community projects Drools and jBPM together in one easy to understand book.

In 2017, Red Hat put the first chapter online for free and literally thousands downloaded it starting their journey on the road to delivering process driven application with JBoss BPM Suite. Many of you have reached out over the years to ask about the completion of this book and where you can get it.

The good news isthat the book is available and Red Hat’s providing ebook downloads for free!

Let’s look at how this works, shall we?

Continue reading “Learning Process Driven Application Development with JBoss BPM”

A DevOps approach to decision management

Sometimes we would like to change the behavior of an application fast. I mean, really fast.

Traditional development cycles for enterprise applications take weeks if not months for a new version to be ready in production. Even in the world of DevOps, containers, and microservices, where we can spin up new versions of an app in days, or even hours, we need to go through development cycles that are too far away from the business users.

Welcome to the world of business rules and decision services, along with low code development.

Continue reading “A DevOps approach to decision management”