Chapter 2. New features

This section highlights new features in Red Hat Process Automation Manager 7.0.

2.1. Business Central

2.1.1. Process Designer

An improved Process Designer interface includes the most common BPMN2 nodes as well as form generation and the ability to export to PNG, PDF, SVG, and BPMN2. The legacy Process Designer is still available for full functionality.

2.1.2. Page Designer

The Page Designer provides integrated monitoring and dashboards. You can use it to create pages and manage the navigation tree. It replaces Dashbuilder.

2.1.3. Improved navigation

The Red Hat Process Automation Manager Home page has been redesigned for easier navigation.

2.1.4. Case management

A case project is a type of project in Business Central that is configured for case management. Case management is an extension of business process management (BPM) that enables you to handle dynamic and ad hoc activities. It handles one-off situations where the process cannot be predicted in advance. For more information, see Getting started with case management.

2.1.5. Decision Model and Notation models

You can use Decision Model and Notation (DMN) to model a decision service graphically in a decision requirements diagram (DRD). This diagram traces business decisions from start to finish, with each decision node drawing logic from DMN model decision elements such as decision tables.

The Red Hat implementation of DMN meets the standards of the DMN specification Conformance Level 3. Red Hat Process Automation Manager currently supports DMN version 1.1. For more information about DMN 1.1, see the OMG DMN Specification.

2.1.6. Guided decision table

  • Guided decision table has a new wizard for creating and editing columns.
  • Hit policies are now available. Hit policies determine the order in which rules (rows) in a guided decision table are applied.
  • New support to display multiple linked guided decision tables in the guided decision tables designer has been added.

2.1.7. Projects Metrics dashboard

A new dashboard is available for every project listed in the Projects page. The Projects Metrics dashboard displays all of your project contribution metrics in one place. This new dashboard replaces the Contributors page, which was part of the Authoring group.

2.1.8. Team Metrics dashboard

The Team Metrics dashboard shows all of the project metrics for a team in a single page. This new dashboard replaces the older Contributors page, which was part of the Authoring group.

2.1.9. Form modeler

With Form Modeler, you can generate forms for data objects, task forms, and process start forms without writing code. Form Modeler includes a widget library for binding multiple data types and a callback mechanism to send notifications when form values change. Form Modeler uses bean-based validation and supports binding form fields to static or dynamic models.

2.1.10. New columns available on process instances, tasks, and jobs

The following columns have been added to the corresponding pages:

  • Process instance list page: Last update and correlation key.
  • Task list: Last update, correlation key (of the associated process instance ID), process instance description (of the associated process instance).
  • Jobs page: Name of the associated process (if any), ID of the associated process instance (if any), Description of the associated process instance (if any).

2.1.11. Search filter

You can now search for specific data by using the Search tab on the Jobs, Process Instances, Task Administration, and Execution Errors pages.

2.1.12. New Task Inbox and Task Administration pages

The former Task List page has been divided into the Task Inbox and Task Administration pages. The Task Inbox page is used by task operators to work with their assigned (or potentially assigned) tasks. The Task Administration page is used by administrators to manage tasks assigned to other users. This page is only available for users with admin or process-admin roles. It is similar to the Admin filter tab on the former Task List page.

2.1.13. High availability

High availability and clustering for Business Central is now configured with JMS and NFS storage.

2.1.14. Enabling the Content Management System (CMS) page

Red Hat Process Automation Manager settings allow you to enable the CMS page.

Procedure

  1. Go to SettingsRolesadmin.
  2. Expand Pages and click the Read field to enable Page Authoring.

2.1.15. Error Handling

While running a process instance or a job, the system now detects and stores execution errors such as exceptions after the maximum number of retries has been exceeded.

The process instance list includes a new column that displays the number of errors per process instance which are not marked as acknowledged.

The Execution Errors page lists any errors that occur during process instances or executor service jobs on a Process Server. Use this page to help troubleshoot issues. It is visible to users with the admin and process-admin roles.

2.1.16. Improved validation in the deployment descriptor designer

The deployment descriptor designer in Business Central has been improved to validate data entered for the following components:

  • Work item handlers
  • Event listeners
  • Marshalling strategies
  • Globals
  • Environment entries
  • Configuration

The deployment descriptor designer performs the validation when a build is invoked or manually when a user clicks Validate.

2.1.17. Job creation

The Job creation interface has been modified to enable you to start the job immediately or schedule it to be executed later.

2.1.18. Application templates

You can use the Employee Roster and Case Management application templates.

2.2. Process Engine

2.2.1. Property reactivity

Property reactivity is enabled by default in Drools 7.0. If you expect property reactivity to be enabled only for classes annotated with @PropertyReactive, add the following configuration to the kmodule.xml file:

<configuration>
  <property key="drools.propertySpecific" value="ALLOWED"/>
</configuration>

2.2.2. Work Item archetype

To help users build custom service tasks (work items), Red Hat Process Automation Manager comes with the Work Item archetype that generates the majority of items required to build a custom service task. The archetype includes the following components:

  • A Work Item Definition (WID) file
  • The Work Item Handler implementation class
  • The Work Item Handler test class

The Maven assembly (zip) packages everything at build time so the package can be consumed by the Service Repository and therefore be used from within the Web Designer.

2.2.3. Process API and task administration API

A process administration API and task administration API have been introduced to simplify some of the more complex administrator use cases. You can use the process administration API to perform the following tasks:

  • Retrieve all process definition nodes
  • Cancel node instances
  • Retrigger node instances
  • Update the timer (absolute or relative)
  • List timer instances
  • Trigger nodes

You can use the task administration API to perform the following tasks:

  • Add and remove potential owners and excluded owners and business administrators
  • Add and remove task inputs and outputs
  • List, create, and cancel escalations and notifications

2.2.4. Advanced task routing

When tasks are assigned to a group of users, you can use pluggable task assignment strategies to automatically assign tasks to a suitable individual immediately. This enables more efficient task allocation, based on all properties associated with the task. For example, such as potential owners and task priority but also task data that includes information such as geography, required skills, and so on. You can use business rules to define the assignment logic, making it easy to customize this to your needs.

2.2.5. Business rule task fire limit

The business rule task has been enhanced to limit the number of fired rules. This avoids situations where rules run into an infinite loop and make the server completely unresponsive. The default fire limit is 10000.

Use one of the following methods to configure the fire limit:

  • Use the org.jbpm.rule.task.firelimit system property to set the fire limit globally for each JVM.
  • In Business Central, in your BPMN process definition specify FireRuleLimit as a java.lang.Integer type data input for your business rule tasks.

If the fire rule limit is reached, the service throws an exception to indicate that the enviroment might be unstable.

2.2.6. NoSQL integration

Initial integration with NoSQL has been introduced. This is based on additional emitters that can be implemented to receive notifications when the process engine executes processes. This enables users to plug in their own emitters that will be responsible for sending data to external data stores. Note that this is an integration and not a replacement of the persistence layer of jBPM.

2.2.7. Quartz improvements

The Quartz scheduler service has been improved to fetch jobs only for deployments (KIE containers) that are currently available in the running system.

2.2.8. SLA due date tracking

You can now track your processes, the activities in your processes, and cases by service level agreement (SLA) due date.

2.2.9. Task enhancement

You can now forward and reassign a task to groups.

2.2.10. AsyncMode environment variable

You can use the AsyncMode environment variable to set all tasks to be asynchronous by default.

2.2.11. Headless Process Automation Manager controller

You can configure Process Server to run in managed or unmanaged mode. If Process Server is unmanaged, you must manually create and maintain containers. If Process Server is managed, the Process Automation Manager controller manages the Process Server configuration and you interact with the controller to create and maintain containers.

The Process Automation Manager controller is integrated with Business Central. If you install Business Central, use the Execution Server page to create and maintain containers. However, if you do not install Business Central, you can install the headless Process Automation Manager controller and use the REST API or the Process Server Java Client API to interact with it.

2.3. Process Server

The Process Server (also known as the KIE server) has been extended to support core engine features and offers a remote API for these operations. In addition, the following architectural changes were introduced.

2.3.1. Separate Business Central from Process Server

Business Central now delegates all of its requests to the Process Server. The main advantage is that Business Central can now be used to monitor any set of Process Servers. By linking the Process Server to Business Central, the process and task monitoring interfaces in Business Central can now connect to this Process Server and show all relevant information. When multiple independent Process Servers are used, you can either connect to a specific one or use the smart router to aggregate information across multiple servers.

2.3.2. UserTaskService

UserTaskService updates task metadata and variables in a single operation. This feature is available through KIE Server REST and JMS API.

2.3.3. Smart router

Smart router (also known as the KIE server router) includes the following enhancements:

  • Smart router can be used as a proxy to help manage multiple independent process execution servers.
  • When the controller is not available during smart router start up, a retry mechanism is in place to connect to the controller as soon as it becomes available.
  • A retry mechanism is in place for times when the controller is not available and there are updates to be sent to the controller.
  • When a Process Server does not respond to a request, it is removed from the list of active servers. Subsequent requests will not target it. The now inactive server is put on a list to be verified. After verification, it is added back to the active servers list.

2.3.4. Aliases

You can now use aliases instead of container IDs in the remote REST APIs of the execution server.

2.3.5. Process Server Maven plugins

Process Server has been enhanced with additional Maven plugins that enable interaction with the Process Server and the Process Automation Manager controller REST API directly from within a build. This interaction facilitates easier integration with CI/CD pipelines when building KJars so they can be directly deployed to the execution environment (both managed and unmanaged Process Server).

2.3.6. Support for OOPath

OOPath, which has syntax similar to XPath used for rule constraints, is now supported.

2.3.7. Pluggable container locator and policy support

Support for container locators (sometimes referred to as aliases) and polices is available.

2.3.8. API documentation

API reference documentation is available in Swagger, at localhost:8080/kie-server/docs.

2.4. Red Hat Business Optimizer

2.4.1. @PlanningPin

To pin down an assignment and force Red Hat Business Optimizer to leave it untouched, add the @PlanningPin annotation on a planning entity’s boolean property and make it true for those entities that are immovable.

2.4.2. Conference scheduling

You can assign each conference talk to a time slot and a room. Timeslots can overlap. Save data in or extract data from an *.xlsx file that can be edited with LibreOffice or Microsof Excel.

2.4.3. Guided decision tables integration

Red Hat Business Optimizer now integrates with the guided decision tables designer. You can modify the score with built-in Red Hat Business Optimizer actions that can be accessed in the Action BRL fragment column type. The Workbench examples now include the Dinner Party project, which uses a guided decision table to define score constraints.

2.4.4. Guided rule designer integration

Red Hat Business Optimizer now integrates with the guided rule designer. You can modify the score with a built-in Red Hat Business Optimizer action.

2.4.5. Real-time planning

Process Server now has an interface that enables you to update a problem data set while the solver is running. Use the Java client or REST interface to submit your ProblemFactChange implementations.

2.4.7. Score type

You no longer need to define the score type in the solver configuration. Red Hat Business Optimizer now determines it automatically from the domain model.

2.4.8. Enhanced solver configuration designer

The Red Hat Business Optimizer designer now supports adding all termination types, including composite termination. The Phase configuration section enables you to tweak Construction Heuristic settings and select the Local Search algorithm to optimize your planning problem.

2.4.9. Difficulty comparator definition

The Red Hat Business Optimizer domain designer can now specify a planning entity difficulty. Navigate through the object hierarchy and define the sorting attributes. Several construction heuristic algorithms use this information to construct a better initial solution.

2.4.10. Red Hat Business Optimizer Planner Server

The Red Hat Business Optimizer Planner Server now supports real-time planning.

2.5. New component names

The following components have been renamed in Red Hat Process Automation Manager 7.0:

Red Hat JBoss BPM SuiteRed Hat Process Automation Manager (RHPAM)

Red Hat JBoss BPM Suite

Red Hat Process Automation Manager

Business Resource Planner

Red Hat Business Optimizer

asset editor

asset designer (for example, guided rules designer)

KIE Execution Server

Process Server (for Process Automation Manager capabilities), Planner Server (for Business Optimization capabilities), KIE Server (represents both Process Server and Planner servers )

Organizational units

Spaces

Drools engine, Rules engine

Decision engine