As a process administrator, you can use Business Central in IBM Business Automation Manager Open Editions to manage and monitor process instances and tasks running on a number of projects. From Business Central you can start a new process instance, verify the state of all process instances, and abort processes. You can view the list of jobs and tasks associated with your processes, as well as understand and communicate any process errors.

Prerequisites

Process monitoring

IBM Business Automation Manager Open Editions provides real-time monitoring for your business processes and includes the following capabilities:

  • Business managers can monitor processes in real time.

  • Customers can monitor the current status of their requests.

  • Administrators can easily monitor any errors related to process execution.

Process definitions and process instances in Business Central

A process definition is a Business Process Model and Notation (BPMN) 2.0 file that serves as a container for a process and its BPMN diagram. The process definition shows all of the available information about the business process, such as any associated sub-processes or the number of users and groups that are participating in the selected definition.

A process definition also defines the import entry for imported processes that the process definition uses, and the relationship entries.

BPMN2 source of a process definition
<definitions id="Definition"
               targetNamespace="http://www.jboss.org/drools"
               typeLanguage="http://www.java.com/javaTypes"
               expressionLanguage="http://www.mvel.org/2.0"
               xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"Rule Task
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
               xmlns:g="http://www.jboss.org/drools/flow/gpd"
               xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
               xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
               xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
               xmlns:tns="http://www.jboss.org/drools">

    <process>
      PROCESS
    </process>

    <bpmndi:BPMNDiagram>
     BPMN DIAGRAM DEFINITION
    </bpmndi:BPMNDiagram>

    </definitions>

After you have created, configured, and deployed your project that includes your business processes, you can view the list of all the process definitions in Business Central MenuManageProcess Definitions. You can refresh the list of deployed process definitions at any time by clicking the refresh button in the upper-right corner.

The process definition list shows all the available process definitions that are deployed into the platform. Click any of the process definitions listed to show the corresponding process definition details. This displays information about the process definition, such as if there is a sub-process associated with it, or how many users and groups exist in the process definition. The Diagram tab in the process definition details page contains the BPMN2-based diagram of the process definition.

Within each selected process definition, you can start a new process instance for the process definition by clicking the New Process Instance button in the upper-right corner. Process instances that you start from the available process definitions are listed in MenuManageProcess Instances.

You can also define the default pagination option for all users under the Manage drop-down menu (Process Definition, Process Instances, Tasks, Jobs, and Execution Errors) and in MenuTrackTask Inbox.

Starting a process instance from the process definitions page

You can start a process instance in MenuManageProcess Definitions. This is useful for environments where you are working with several projects or process definitions at the same time.

Prerequisites
  • A project with a process definition has been deployed in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Definitions.

  2. Select the process definition for which you want to start a new process instance from the list. The details page of the definition opens.

  3. Click New Process Instance in the upper-right corner to start a new process instance.

  4. Provide any required information for the process instance.

  5. Click Submit to create the process instance.

  6. View the new process instance in MenuManageProcess Instances.

Starting a process instance from the process instances page

You can create new process instances or view the list of all the running process instances in MenuManageProcess Instances.

Prerequisites
  • A project with a process definition has been deployed in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. Click New Process Instance in the upper-right corner and select the process definition for which you want to start a new process instance from the drop-down list.

  3. Provide any information required to start a new process instance.

  4. Click Start to create the process instance.

    The new process instance appears in the Manage Process Instances list.

Generating process documentation in Business Central

In the process designer in Business Central, you can view and print a report of the process definition. The process documentation summarizes the components, data, and visual flow of the process in a format (PDF) that you can print and share more easily.

Procedure
  1. In Business Central, navigate to a project that contains a business process and select the process.

  2. In the process designer, click the Documentation tab to view the summary of the process file, and click Print in the top-right corner of the window to print the PDF report.

    Project-level service task settings
    Figure 1. Generate process documentation

Process instance management

To view process instances, in Business Central click MenuManageProcess Instances.

+ NOTE: Each row in the Manage Process Instances list represents a process instance from a particular process definition. Each instance has its own internal state of the information that the process is manipulating. Click a process instance to view the corresponding tabs with runtime information related to the process.

Process instance tab view
Figure 2. Process instance tab view
  • Instance Details: Provides an overview about what is going on inside the process. It displays the current state of the instance and the current activity that is being executed.

  • Process Variables: Displays all of the process variables that are being manipulated by the instance, with the exception of the variables that contain documents. You can edit the process variable value and view its history.

  • Documents: Displays process documents if the process contains a variable of the type org.jbpm.Document. This enables access, download, and manipulation of the attached documents.

  • Logs: Displays process instance logs for the end users. For more information, see Interacting with processes and tasks.

  • Diagram: Tracks the progress of the process instance through the BPMN2 diagram. The node or nodes of the process flow that are in progress are highlighted in red. Reusable sub-processes appear collapsed within the parent process. Double-click on the reusable sub-process node to open its diagram from the parent process diagram.

For information on user credentials and conditions to be met to access KIE Server runtime data, see Planning an IBM Business Automation Manager Open Editions installation.

Process instance filtering

For process instances in MenuManageProcess Instances, you can use the Filters and Advanced Filters panels to sort process instances as needed.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. On the Manage Process Instances page, click the Filters icon on the left of the page to select the filters that you want to use:

    • State: Filter process instances based on their state (Active, Aborted, Completed, Pending, and Suspended).

    • Errors: Filter process instances that contain at least one or no errors.

    • Filter By: Filter process instances based on the following attributes:

      • Id: Filter by process instance ID.

        Input: Numeric

      • Initiator: Filter by the user ID of the process instance initiator.

        The user ID is a unique value, and depends on the ID management system.

        Input: String

      • Correlation key: Filter by correlation key.

        Input: String

      • Description: Filter by process instance description.

        Input: String

    • Name: Filter process instances based on process definition name.

    • Definition ID: The ID of the instance definition.

    • Deployment ID: The ID of the instance deployment.

    • SLA Compliance: SLA compliance status (Aborted, Met, N/A, Pending, and Violated).

    • Parent Process ID: The ID of the parent process.

    • Start Date: Filter process instances based on their creation date.

    • Last update: Filter process instances based on their last modified date.

You can also use the Advanced Filters option to create custom filters in Business Central.

Creating a custom process instance list

You can view the list of all the running process instances in MenuManageProcess Instances in Business Central. From this page, you can manage the instances during run time and monitor their execution. You can customize which columns are displayed, the number of rows displayed per page, and filter the results. You can also create a custom process instance list.

Prerequisites
  • A project with a process definition has been deployed in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. In the Manage Process Instances page, click the advanced filters icon on the left to open the list of process instance Advanced Filters options.

  3. In the Advanced Filters panel, enter the name and description of the filter that you want to use for your custom process instance list, and click Add New.

  4. From the list of filter values, select the parameters and values to configure the custom process instance list, and click Save.

    A new filter is created and immediately applied to the process instances list. The filter is also saved in the Saved Filters list. You can access saved filters by clicking the star icon on the left side of the Manage Process Instances page.

Managing process instances using a default filter

You can set a process instance filter as a default filter using the Saved Filter option in Business Central. A default filter will be executed every time when the page is open by the user.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. On the Manage Process Instances page, click the star icon on the left of the page to expand the Saved Filters panel.

    In the Saved Filters panel, you can view the saved advanced filters.

    Default filter selection for Process Instances

    Default filter selection for Process Instances

  3. In the Saved Filters panel, set a saved process instance filter as the default filter.

Viewing process instance variables using basic filters

Business Central provides basic filters to view process instance variables. You can view the process instance variables of the process as columns using Show/hide columns.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. On the Manage Process Instances page, click the filter icon on the left of the page to expand the Filters panel.

  3. In the Filters panel, select the Definition Id and select a definition ID from the list.

    The filter is applied to the current process instance list.

  4. Click columns icon (to the right of Bulk Actions) in the upper-right of the screen to display or hide columns in the process instances table.

  5. Click the star icon to open the Saved Filters panel.

    In the Saved Filters panel, you can view all the saved advanced filters.

Viewing process instance variables using advanced filters

You can use the Advanced Filters option in Business Central to view process instance variables. When you create a filter over the column processId, you can view the process instance variables of the process as columns using Show/hide columns.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. On the Manage Process Instances page, click the advanced filters icon to expand the Advanced Filters panel.

  3. In the Advanced Filters panel, enter the name and description of the filter, and click Add New.

  4. From the Select column list, select the processId attribute. The value will change to processId != value1.

  5. From the Select column list, select equals to for the query.

  6. In the text field, enter the name of the process id.

  7. Click Save and the filter is applied on the current process instance list.

  8. Click the columns icon (to the right of Bulk Actions) in the upper-right of the process instances list and the process instance variables of the specified process ID will be displayed.

  9. Click the star icon to open the Saved Filters panel.

    In the Saved Filters panel, you can view all the saved advanced filters.

Aborting a process instance using Business Central

If a process instance becomes obsolete, you can abort the process instance in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Instances to view the list of available process instances.

  2. Select the process instance you want to abort from the list.

  3. In the process details page, click the Abort button in the upper-right corner.

Signaling process instances from Business Central

You can signal a process instance from Business Central.

Prerequisites
  • A project with a process definition has been deployed in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Instances.

  2. Locate the required process instance, click the Actions button and select Signal from the drop-down menu.

  3. Fill the following fields:

    • Signal Name: Corresponds to the SignalRef or MessageRef attributes of the signal. This field is required.

      Note
      You can also send a Message event to the process by adding the Message- prefix in front of the MessageRef value.
    • Signal Data: Corresponds to data accompanying the signal. This field is optional.

Note
When using the Business Central user interface, you can only signal Signal intermediate catch events.

Asynchronous signal events

When several process instances from different process definitions are waiting for the same signal, they are executed sequentially in the same thread. But, if one of those process instances throws a runtime exception, all the other process instances are affected and usually result in a rolled back transaction. To avoid this situation, IBM Business Automation Manager Open Editions supports using asynchronous signals events for:

  • Throwing intermediate signal events

  • End events

Configuring asynchronous signals for intermediate events

Intermediate events drive the flow of a business process. Intermediate events are used to either catch or throw an event during the execution of the business process. An intermediate event handles a particular situation that occurs during process execution. A throwing signal intermediate event produces a signal object based on the defined properties.

You can configure an asynchronous signal for intermediate events in Business Central.

Prerequisites
  • You have created a project in Business Central and it contains at least one business process asset.

  • A project with a process definition has been deployed in Business Central.

Procedure
  1. Open a business process asset.

  2. In the process designer canvas, drag and drop the Intermediate Signal from the left toolbar.

  3. In the upper-right corner, click the Properties icon to open the Properties panel.

  4. Expand Data Assignments.

  5. Click the box under the Assignments sub-section. The Task Data I/O dialog box opens.

  6. Click Add next to Data Inputs and Assignments.

  7. Enter a name of the throw event as async in the Name field.

  8. Leave the Data Type and Source fields blank.

  9. Click OK.

It will automatically set the executor service on each session. This ensures that each process instance is signaled in a different transaction.

Configuring asynchronous signals for end events

End events indicate the completion of a business process. All end events, with the exception of the none and terminate end events, are throw events. A throwing signal end event is used to finish a process or sub-process flow. When the execution flow enters the element, the execution flow finishes and produces a signal identified by its SignalRef property.

You can configure an asynchronous signal for end events in Business Central.

Prerequisites
  • You have created a project in Business Central and it contains at least one business process asset.

  • A project with a process definition has been deployed in Business Central.

Procedure
  1. Open a business process asset.

  2. In the process designer canvas, drag and drop the End Signal from the left toolbar.

  3. In the upper-right corner, click the Properties icon to open the Properties panel.

  4. Expand Data Assignments.

  5. Click the box under the Assignments sub-section. The Task Data I/O dialog box opens.

  6. Click Add next to Data Inputs and Assignments.

  7. Enter a name of the throw event as async in the Name field.

  8. Leave the Data Type and Source fields blank.

  9. Click OK.

It will automatically set the executor service on each session. This ensures that each process instance is signaled in a different transaction.

Process instance operations

Process instance administration API exposes the following operations for the process engine and the individual process instance.

  • get process nodes - by process instance id: Returns all nodes, including all embedded sub-processes that exist in the process instance. You must retrieve the nodes from the specified process instance to ensure that the node exists and includes a valid ID so that it can be used by other administration operations.

  • cancel node instance - by process instance id and node instance id: Cancels a node instance within a process instance using the process and node instance IDs.

  • retrigger node instance - by process instance id and node instance id: Re-triggers a node instance by canceling the active node instance and creates a new node instance of the same type using the process and node instance IDs.

  • update timer - by process instance id and timer id: Updates the timer expiration of an active timer based on the time elapsed since the timer was scheduled. For example, if a timer was initially created with delay of one hour and after thirty minutes you set it to update in two hours, it expires in one and a half hours from the time it was updated.

    • delay: The duration after the timer expires.

    • period: The interval between the timer expiration for cycle timers.

    • repeat limit: Limits the expiration for a specified number for cycle timers.

  • update timer relative to current time - by process instance id and timer id: Updates the timer expiration of an active timer based on the current time. For example, if a timer was initially created with delay of one hour and after thirty minutes you set it to update in two hours, it expires in two hours from the time it was updated.

  • list timer instances - by process instance id: Returns all active timers for a specified process instance.

  • trigger node - by process instance id and node id: Triggers any node in a process instance at any time.

Task management

Tasks that are assigned to the current user appear in MenuTrackTask Inbox in Business Central. You can click a task to open and begin working on it.

A user task can be assigned to a particular user, multiple users, or to a group. If assigned to multiple users or a group it appears in the task lists of all assigned users and any of the possible actors can claim the task. When a task is assigned to another user it no longer appears in your Task Inbox.

Task inbox

Business administrators can view and manage all user tasks from the Tasks page in Business Central, located under MenuManageTasks. Users with the admin or process-admin role can access the Tasks page but do not have access rights to view and manage tasks by default.

To manage all the tasks, a user must be specified as a process administrator by defining any of the following conditions:

  • User is specified as task admin user. The default value is Administrator.

  • User belongs to the task administrators group. The default value is Administrators.

You can configure the user and user group assignment with the org.jbpm.ht.admin.user and org.jbpm.ht.admin.group system properties.

You can open, view, and modify the details of a task, such as the due date, the priority, or the task description, by clicking a task in the list. The following tabs are available in the task page:

Task details
  • Work: Displays basic details about the task and the task owner. You can click the Claim button to claim the task. To undo the claim process, click the Release button.

  • Details: Displays information such as task description, status, and due date.

  • Assignments: Displays the current owner of the task and enables you to delegate the task to another person or group.

  • Comments: Displays comments added by task user(s). You can delete an existing comment and add a new comment.

  • Admin: Displays the potential owner of the task and enables you to forward the task to another person or group. It also displays the actual owner of the task and you can send a reminder to the actual owner of the task.

  • Logs: Displays task logs containing task life cycle events (such as task started, claimed, completed), updates made to task fields (such as task due date and priority).

You can filter the tasks based on the filter parameters available by clicking the Filters icon on the left side of the page. For more information about filtering, see Task filtering.

In addition to these, you can create custom filters to filter tasks based on the query parameters you define. For more information about custom tasks filters, see Creating custom task filters.

Task filtering

For tasks in MenuManageTasks and in MenuTrackTask Inbox, you can use the Filters and Advanced Filters panels to sort tasks as needed.

Filtering Tasks - Default View
Figure 3. Filtering Tasks - Default View

The Manage Tasks page is only available to administrators and process administrators.

You can filter tasks by the following attributes in the Filters panel:

Status

Filter by task status. You can select more than one status to display results that meet any of the selected states. Removing the status filter displays all processes, regardless of status.

The following filter states are available:

  • Completed

  • Created

  • Error

  • Exited

  • Failed

  • InProgress

  • Obsolete

  • Ready

  • Reserved

  • Suspended

Id

Filter by process instance ID.

Input: Numeric

Task

Filter by task name.

Input: String

Correlation key

Filter by correlation key.

Input: String

Actual Owner

Filter by the task owner.

The actual owner refers to the user responsible for executing the task. The search is based on user ID, which is a unique value and depends on the ID management system.

Input: String

Process Instance Description

Filter by process instance description.

Input: String

Task Name

Filter by task name.

Process Definition Id

Filter by process definition Id.

SLA Compliance

Filter by SLA compliance state.

The following filter states are available:

  • Aborted

  • Met

  • N/A

  • Pending

  • Violated

Created On

Filtering by date or time.

This filter has the following quick filter options:

  • Last Hour

  • Today

  • Last 24 Hours

  • Last 7 Days

  • Last 30 Days

  • Custom

    Selecting Custom date and time filtering opens a calendar tool for selecting a date and time range.

    Search by Date Range
    Figure 4. Search by Date

Creating custom task filters

You can create a custom task filter based on a provided query in MenuManageTasks, or in MenuTrackTask Inbox for tasks assigned to the current user.

Procedure
  1. In Business Central, go to MenuManageTasks

  2. In the Manage Tasks page, click the advanced filters icon on the left to open the list of Advanced Filters options.

  3. In the Advanced Filters panel, enter the name and description of the filter, and click Add New.

  4. In the Select column drop-down menu, choose name.

    The content of the drop-down menu changes to name != value1.

  5. Click the drop-down menu again and choose equals to.

  6. Rewrite the value of the text field to the name of the task you want to filter. Note that the name must match the value defined in the associated business process:

    task name
  7. Click OK to save the custom task filter.

    new fl final

    After you apply the filter with a specified restriction, the set of configurable columns is based on the specific custom task filter and contains the following column options:

    in name column new

Managing tasks using a default filter

You can set a task filter as a default filter using the Saved Filter option in Business Central. A default filter will be executed every time when the page is open by the user.

Procedure
  1. In Business Central, go to MenuTrackTask Inbox or go to MenuManageTasks

  2. On the Task Inbox page or the Manage Tasks page, click the star icon on the left of the page to expand the Saved Filters panel.

    In the Saved Filters panel, you can view the saved advanced filters.

    Default filter selection for Tasks or Task Inbox

    Default filter selection for Tasks or Task Inbox

  3. In the Saved Filters panel, set a saved task filter as the default filter.

Viewing task variables using basic filters

Business Central provides basic filters to view task variables in Manage Tasks and Task Inbox. You can view the task variables of the task as columns using Show/hide columns.

Procedure
  1. In Business Central, go to MenuManageTasks or go to MenuTrackTask Inbox.

  2. On the Task Inbox page, click the filter icon on the left of the page to expand the Filters panel

  3. In the Filters panel, select the Task Name.

    The filter is applied on the current task list.

  4. Click Show/hide columns on the upper right of the tasks list and the task variables of the specified task id will be displayed.

  5. Click the star icon to open the Saved Filters panel.

    In the Saved Filters panel, you can view all the saved advanced filters.

Viewing task variables using advanced filters

You can use the Advanced Filters option in Business Central to view task variables in Manage Tasks and Task Inbox. When you create a filter with the task defined, you can view the task variables of the task as columns using Show/hide columns.

Procedure
  1. In Business Central, go to MenuManageTasks or go to MenuTrackTask Inbox.

  2. On the Manage Tasks page or the Task Inbox page, click the advanced filters icon to expand the Advanced Filters panel.

  3. In the Advanced Filters panel, enter the name and description of the filter, and click Add New.

  4. From the Select column list, select the name attribute. The value will change to name != value1.

  5. From the Select column list, select equals to for the logical query.

  6. In the text field, enter the name of the task.

  7. Click Save and the filter is applied on the current task list.

  8. Click Show/hide columns on the upper right of the tasks list and the task variables of the specified task id will be displayed.

  9. Click the star icon to open the Saved Filters panel.

    In the Saved Filters panel, you can view all the saved advanced filters.

Using an MVEL expression to set the priority of a task in Business Central

If your role has permission to set the priority of a task, you can use an MVEL expression to set the priority of a task from the Task Inbox page in Business Central.

Prerequisites
  • You have created a project in Business Central.

Procedure
  1. In Business Central, go to MenuTrackTask Inbox.

  2. On the Task Inbox page, click the task to open it.

  3. On the task page, click the Details tab.

  4. In the Task Priority field, enter an MVEL expression.

  5. Click Update.

Managing custom tasks in Business Central

Custom tasks (work items) are tasks that can run custom logic. You can customize and reuse custom tasks across multiple business processes or across all projects in Business Central. You can also add custom elements in the designer palette, including name, icon, sub-category, input and output parameters, and documentation. IBM Business Automation Manager Open Editions provides a set of custom tasks within the custom task repository in Business Central. You can enable or disable the default custom tasks and upload custom tasks into Business Central to implement the tasks in the relevant processes.

Note
IBM Business Automation Manager Open Editions includes a limited set of supported custom tasks. Custom tasks that are not included in IBM Business Automation Manager Open Editions are not supported.
Procedure
  1. In Business Central, click gear icon in the upper-right corner and select Custom Tasks Administration.

    This page lists the custom task installation settings and available custom tasks for processes in projects throughout Business Central. The custom tasks that you enable on this page become available in the project-level settings where you can then install each custom task to be used in processes. The way in which the custom tasks are installed in a project is determined by the global settings that you enable or disable under Settings on this Custom Tasks Administration page.

  2. Under Settings, enable or disable each setting to determine how the available custom tasks are implemented when a user installs them at the project level.

    The following custom task settings are available:

    • Install as Maven artifact: Uploads the custom task JAR file to the Maven repository that is configured with Business Central, if the file is not already present.

    • Install custom task dependencies into project: Adds any custom task dependencies to the pom.xml file of the project where the task is installed.

    • Use version range when installing custom task into project: Uses a version range instead of a fixed version of a custom task that is added as a project dependency. Example: [7.16,) instead of 7.16.0.Final

  3. Enable or disable (set to ON or OFF) any available custom tasks as needed. Custom tasks that you enable are displayed in project-level settings for all projects in Business Central.

    Custom Tasks Administration page
    Figure 5. Enable custom tasks and custom task settings
  4. To add a custom task, click Add Custom Task, browse to the relevant JAR file, and click the Upload icon. If a class implements a WorkItemHandler, you can replace annotations with a .wid file by adding the file to Business Central separately.

  5. Optional: To remove a custom task, click remove on the row of the custom task you want to remove and click Ok to confirm removal.

  6. After you configure all required custom tasks, navigate to a project in Business Central and go to the project SettingsCustom Tasks page to view the available custom tasks that you enabled.

  7. For each custom task, click Install to make the task available to the processes in that project or click Uninstall to exclude the task from the processes in the project.

  8. If you are prompted for additional information when you install a custom task, enter the required information and click Install again.

    The required parameters for the custom task depend on the type of task. For example, rule and decision tasks require artifact GAV information (Group ID, Artifact ID, Version), email tasks require host and port access information, and REST tasks require API credentials. Other custom tasks might not require any additional parameters.

    Project-level custom task settings
    Figure 6. Install custom tasks for use in processes
  9. Click Save.

  10. Return to the project page, select or add a business process in the project, and in the process designer palette, select the Custom Tasks option to view the available custom tasks that you enabled and installed:

    Custom tasks in process designer
    Figure 7. Access installed custom tasks in process designer

User task administration

User tasks enable you to include human actions as input to the business processes that you create. User task administration provides methods to manipulate user and group task assignments, data handling, time-based automatic notifications, and reassignments.

The following user task operations are available in Business Central:

  • add/remove potential owners - by task id: Adds or removes users and groups using the task ID.

  • add/remove excluded owners - by task id: Adds or removes excluded owners using the task ID.

  • add/remove business administrators - by task id: Adds or removes business administrators using the task ID.

  • add task inputs - by task id: Provides a way to modify task input content after a task is created using the task ID.

  • remove task inputs - by task id: Removes task input variables using the task ID.

  • remove task output - by task id: Removes task output variables using the task ID.

  • schedules new reassignment to given users/groups after given time elapses - by task id: Schedules automatic reassignment based on the time expression and the state of the task:

    • reassign if not started: Used if the task was not moved to the InProgress state.

    • reassign if not completed: Used if the task was not moved to the Completed state.

  • schedules new email notification to given users/groups after given time elapses - by task id: Schedules automatic email notification based on the time expression and the state of the task:

    • notify if not started: Used if the task was not moved to the InProgress state.

    • notify if not completed: Used if the task was not moved to the Completed state.

  • list scheduled task notifications - by task id: Returns all active task notifications using the task ID.

  • list scheduled task reassignments - by task id: Returns all active tasks reassignments using the task ID.

  • cancel task notification - by task id and notification id: Cancels and unschedules task notification using the task ID.

  • cancel task reassignment - by task id and reassignment id: Cancels and unschedules task reassignment using the task ID.

Bulk actions on tasks

In the Tasks and Task Inbox pages in Business Central, you can perform bulk actions over multiple tasks in a single operation.

Note
If a specified bulk action is not permitted based on the task status, a notification is displayed and the operation is not executed on that particular task.

Claiming tasks in bulk

After you create tasks in Business Central, you can claim the available tasks in bulk.

Procedure
  1. In Business Central, complete one of the following steps:

    • To view the Task Inbox page, select MenuTrackTask Inbox.

    • To view the Tasks page, select MenuManageTasks.

  2. To claim the tasks in bulk, on the Task Inbox page or the Manage Tasks page, select two or more tasks from the Task table.

  3. From the Bulk Actions drop-down list, select Bulk Claim.

  4. To confirm, click Claim on the Claim selected tasks window.

For each task selected, a notification is displayed showing the result.

Releasing tasks in bulk

You can release your owned tasks in bulk for others to claim.

Procedure
  1. In Business Central, complete one of the following steps:

    • To view the Task Inbox page, select MenuTrackTask Inbox.

    • To view the Tasks page, select MenuManageTasks.

  2. To release the tasks in bulk, on the Task Inbox page or the Manage Tasks page, select two or more tasks from the Task table.

  3. From the Bulk Actions drop-down list, select Bulk Release.

  4. To confirm, click Release on the Release selected tasks window.

For each task selected, a notification is displayed showing the result.

Resuming tasks in bulk

If there are suspended tasks in Business Central, you can resume them in bulk.

Procedure
  1. In Business Central, complete one of the following steps:

    • To view the Task Inbox page, select MenuTrackTask Inbox.

    • To view the Tasks page, select MenuManageTasks.

  2. To resume the tasks in bulk, on the Task Inbox page or the Manage Tasks page, select two or more tasks from the Task table.

  3. From the Bulk Actions drop-down list, select Bulk Resume.

  4. To confirm, click Resume on the Resume selected tasks window.

For each task selected, a notification is displayed showing the result.

Suspending tasks in bulk

After you create tasks in Business Central, you can suspend the tasks in bulk.

Procedure
  1. In Business Central, complete one of the following steps:

    • To view the Task Inbox page, select MenuTrackTask Inbox.

    • To view the Tasks page, select MenuManageTasks.

  2. To suspend the tasks in bulk, on the Task Inbox page or the Manage Tasks page, select two or more tasks from the Task table.

  3. From the Bulk Actions drop-down list, select Bulk Suspend.

  4. To confirm, click Suspend on the Suspend selected tasks window.

For each task selected, a notification is displayed showing the result.

Reassigning tasks in bulk

After you create tasks in Business Central, you can reassign your tasks in bulk and delegate them to others.

Procedure
  1. In Business Central, complete one of the following steps:

    • To view the Task Inbox page, select MenuTrackTask Inbox.

    • To view the Tasks page, select MenuManageTasks.

  2. To reassign the tasks in bulk, on the Task Inbox page or the Manage Tasks page, select two or more tasks from the Task table.

  3. From the Bulk Actions drop-down list, select Bulk Reassign.

  4. In the Tasks reassignment window, enter the user ID of the user to whom you want to reassign the tasks.

  5. Click Delegate.

For each task selected, a notification is displayed showing the result.

Managing log data

IBM Business Automation Manager Open Editions manages the required maintenance runtime data. It removes some data automatically, including the following data types:

  • Process instance data, which is removed upon process instance completion.

  • Work item data, which is removed upon work item completion.

  • Task instance data, which is removed upon completion of a process to which the given task belongs.

Runtime data that is not cleaned automatically includes session information data that is based on the selected runtime strategy.

  • Singleton strategy ensures that runtime data of session information is not automatically removed.

  • Per request strategy allows automatic removal when a request is terminated.

  • Per process instances automatically removes process instance data when a process instance is mapped to a session that is completed or aborted.

IBM Business Automation Manager Open Editions also provides audit log data tables. You can use these tables to keep track of current and past process instances. By default, IBM Business Automation Manager Open Editions does not remove any data from audit log tables.

There are three ways to manage and maintain the audit data tables:

Setting up automatic cleanup job

You can set up an automatic cleanup job in Business Central.

Procedure
  1. In Business Central, go to Manage > Jobs.

  2. Click New Job.

  3. Enter values for Business Key, Due On, and Retries fields.

  4. Enter the following command into the Type field.

    org.jbpm.executor.commands.LogCleanupCommand
  5. To configure parameters, complete the following steps:

    1. Click the Advanced tab.

    2. Click Add Parameter.

    3. In the Key column, enter a parameter.

    4. In the Value column, enter a parameter.

    For the list of parameters for the command, see Removing logs from the database.

  6. Click Create.

Business Central creates the automatic cleanup job.

Manual cleanup

To perform manual cleanup, you can use the audit Java API. The audit API consists of the following areas:

Table 1. Audit API areas
Name Description

Process audit

It is used to clean up process, node and variable logs that are accessible in the jbpm-audit module.

For example, you can access the module as follows: org.jbpm.process.audit.JPAAuditLogService

Task audit

It is used to clean up tasks and events that are accessible in the jbpm-human-task-audit module.

For example, you can access the module as follows: org.jbpm.services.task.audit.service.TaskJPAAuditService

Executor jobs

It is used to clean up executor jobs and errors that are accessible in the jbpm-executor module.

For example, you can access the module as follows: org.jbpm.executor.impl.jpa.ExecutorJPAAuditService

Removing logs from the database

Use LogCleanupCommand executor command to clean up the data, which is using the database space. The LogCleanupCommand consists of logic to automatically clean up all or selected data.

There are several configuration options that you can use with the LogCleanupCommand:

Table 2. LogCleanupCommand parameters table
Name Description Is Exclusive

SkipProcessLog

Indicates whether process and node instances, and process variables log cleanup is skipped when the command runs. The default value is false.

No, it is used with other parameters.

SkipTaskLog

Indicates if the task audit and event log cleanup are skipped. The default value is false.

No, it is used with other parameters.

SkipExecutorLog

Indicates if IBM Business Automation Manager Open Editions executor entries cleanup is skipped. The default value is false.

No, it is used with other parameters.

SingleRun

Indicates if a job routine runs only once. The default value is false.

No, it is used with other parameters.

NextRun

Schedules the next job execution. The default value is 24h.

For example, set to 12h for jobs to be executed every 12 hours. The schedule is ignored if you set SingleRun to true, unless you set both SingleRun and NextRun. If both are set, the NextRun schedule takes priority. The ISO format can be used to set the precise date.

No, it is used with other parameters.

OlderThan

Logs that are older than the specified date are removed. The date format is YYYY-MM-DD. Usually, this parameter is used for single run jobs.

Yes, it is not used with OlderThanPeriod parameter.

OlderThanPeriod

Logs that are older than the specified timer expression are removed. For example, set 30d to remove logs, which are older than 30 days.

Yes, it is not used with OlderThan parameter.

ForProcess

Specifies process definition ID for logs that are removed.

No, it is used with other parameters.

RecordsPerTransaction

Indicates the number of records in a transaction that is removed. The default value is 0, indicating all the records.

No, it is used with other parameters.

ForDeployment

Specifies deployment ID of the logs that are removed.

No, it is used with other parameters.

EmfName

Persistence unit name that is used to perform delete operation.

Not applicable

Note

LogCleanupCommand does not remove any active instances, such as running process instances, task instances, or executor jobs.

Running a custom query on the IBM Business Automation Manager Open Editions database

You can use the ExecuteSQLQueryCommand executor command to run a custom query on the IBM Business Automation Manager Open Editions database, including the audit log data tables. You can set up a job that runs this command in Business Central.

Procedure
  1. In Business Central, select Manage > Jobs.

  2. Click New Job.

  3. Enter values for Business Key, Due On, and Retries fields.

  4. Enter the following command into the Type field.

    org.jbpm.executor.commands.ExecuteSQLQueryCommand
  5. To configure parameters, complete the following steps:

    1. Open the Advanced tab.

    2. Click Add Parameter.

    3. In the Key column, enter a parameter value.

    4. In the Value column, enter a parameter value.

    For the list of parameters for the command, see Parameters for the ExecuteSQLQueryCommand command.

  6. Click Create. Business Central creates the custom query job.

  7. Optional: If you want to retrieve the results of the query, complete the following steps:

    1. In the list of jobs that Business Central displays, find the job that you started. If the job is not present in the list, remove any filters from the Active filters list.

    2. Record the id value for the job.

    3. Using a web browser, access the Swagger documentation on your KIE Server at <kie_server_address>/docs, for example, http://localhost:8080/kie-server/docs/.

    4. Click the GET /server/jobs/{jobId} request.

    5. In the jobId field, enter the id value that you recorded.

    6. From the withErrors list, select true.

    7. From the withData list, select true.

    8. Click Execute.

    9. Review the Server response field. If the SQL query succeeded, the result is under the "response-data" key.

Parameters for the ExecuteSQLQueryCommand command

The ExecuteSQLQueryCommand executor command runs a custom query on the IBM Business Automation Manager Open Editions database, including the audit log tables. For the schema for the audit log tables, see Process engine in IBM Business Automation Manager Open Editions.

You can configure the following parameters for the ExecuteSQLQueryCommand command.

Table 3. ExecuteSQLQueryCommand parameters table
Name Description

SingleRun

true if the query can be triggered once. false if the query can be triggered multiple times.

EmfName

name of the persistence unit to be used to run the query

businessKey

The business key to use with the query. If configuring the command in Business Central, use the business key that you set for the job

SQL

The native SQL query to execute. Preface parameters with the : character

parametersList

List of all parameters in the SQL query. Separate the parameters with the , character

SQL parameter name

The value for the SQL parameter. Create a separate command parameter for every SQL parameter

For example, you might use a query with two parameters:

SELECT * FROM RequestInfo WHERE id = :paramId AND businessKey = :paramKey

Set the following parameters for the ExecuteSQLQueryCommand command:

  • SQL: SELECT * FROM RequestInfo WHERE id = :paramId AND businessKey = :paramKey ;

  • parametersList: paramId,paramKey

  • paramId: The value for id

  • paramKey: The value for businessKey

Execution error management

When an execution error occurs for a business process, the process stops and reverts to the most recent stable state (the closest safe point) and continues its execution. If an error of any kind is not handled by the process the entire transaction rolls back, leaving the process instance in the previous wait state. Execution errors are visible to the caller that sent the request to the process engine.

Users with process administrator (process-admin) or administrator (admin) roles can access execution error messages in Business Central. Execution error messaging provides the following primary benefits:

  • Better traceability

  • Visibility in case of critical processes

  • Reporting and analytics based on error situations

  • External system error handling and compensation

Viewing process execution errors in Business Central

You can view process errors in two locations in Business Central:

  • MenuManageProcess Instances

  • MenuManageExecution Errors

In the Manage Process Instances page, the Errors column displays the number of errors, if any, for the current process instance.

Prerequisites
  • An error has occurred while running a process in Business Central.

Procedure
  1. In Business Central, go to MenuManageProcess Instances and hover over the number shown in the Errors column.

  2. Click the number of errors shown in the Errors column to navigate to the Manage Execution Errors page.

    The Manage Execution Errors page shows a list of errors for all process instances.

Managing execution errors

By definition, every process error that is detected and stored is unacknowledged and must be handled by someone or something (in case of automatic error recovery). You can view a filtered list of errors that were or were not acknowledged. Acknowledging an error saves the user information and time stamp for traceability.

Procedure
  1. In Business Central, select MenuManageExecution Errors.

  2. Select an error from the list to open the Details tab. The Details tab displays information about the error or errors.

  3. Click the Acknowledge button to acknowledge the error. You can view acknowledged errors later by selecting Yes on the Acknowledged filter in the Manage Execution Errors page.

    If the error is related to a task, a Go to Task button is displayed.

  4. Optional: Click the Go to Task button, if applicable, to view the associated job information in the Manage Tasks page.

    In the Manage Tasks page, you can restart, reschedule, or retry the corresponding task.

Error filtering

For execution errors in the Manage Execution Errors screen, you can use the Filters panel to display only the errors that fit chosen criteria.

Prerequisites
  • The Manage Execution Errors screen is open.

Procedure

Make changes in the Filters panel on the left side of the screen as necessary:

The *Filters* panel
Figure 8. Filtering Errors - Default View
Type

Filter execution errors by type. You can select multiple type filters. If you deselect all types, all errors are displayed, regardless of type.

The following execution error types are available:

  • DB

  • Task

  • Process

  • Job

Process Instance Id

Filter by process instance ID.

Input: Numeric

Job Id

Filter by job ID. The job id is created automatically when the job is created.

Input: Numeric

Id

Filter by process instance ID.

Input: Numeric

Acknowledged

Filter errors that have been or have not been acknowledged.

Error Date

Filtering by the date or time that the error occurred.

This filter has the following quick filter options:

  • Last Hour

  • Today

  • Last 24 Hours

  • Last 7 Days

  • Last 30 Days

  • Custom

    Select the Custom option to open a calendar tool for selecting a date and time range.

    Search by Date Range
    Figure 9. Search by Date

Auto-acknowledging execution errors

By default, execution errors are unacknowledged when they occur. To avoid the need to acknowledge every execution error manually, you can configure jobs to auto-acknowledge some or all execution errors.

Note

If you configure an auto-acknowledge job, the job runs every day by default. To auto-acknowledge execution errors only once, set the SingleRun parameter to true.

Procedure
  1. In Business Central, select MenuManageJobs.

  2. In the top right of the screen, click New Job.

  3. Enter any identifier for the job in the Business Key field.

  4. In the Type field, enter the type of the auto-acknowledge job:

    • org.jbpm.executor.commands.error.JobAutoAckErrorCommand: Acknowledge all execution errors of type Job where the job to which the error relates is now cancelled, completed, or rescheduled for another execution.

    • org.jbpm.executor.commands.error.TaskAutoAckErrorCommand: Acknowledge all execution errors of type Task where the task to which the error relates is in an exit state (completed, failed, exited, obsolete).

    • org.jbpm.executor.commands.error.ProcessAutoAckErrorCommand: Acknowledge all execution errors of any type where the process instance from which the error originates is already finished (completed or aborted), or the task from which the error originates is already finished.

  5. Select a Due On time for the job to be completed:

    • To run the job immediately, select the Run now option.

    • To run the job at a specific time, select Run later. A date and time field appears next to the Run later option. Click the field to open the calendar and schedule a specific time and date for the job.

      Scheduling an auto-acknowledge job
      Figure 10. Example of scheduling an auto-acknowledge job
  6. By default, after the initial run the job runs once every day . To change this setting, complete the following steps:

    1. Click the Advanced tab.

    2. Click the Add Parameter button.

    3. Enter the configuration parameter you want to apply to the job:

      • If you want the job to run only once, add the SingleRun parameter with the value of true.

      • If you want he job to run periodically, add the NextRun parameter with the value of a valid time expression, such as 2h, 5d, 1m, and so on.

    4. Optional: To set a custom entity manager factory name, enter the EmfName parameter.

      Setting parameters for an auto-acknowledge job
      Figure 11. Example of setting parameters for an auto-acknowledge job
  7. Click Create to create the job and return to the Manage Jobs page.

Cleaning up the error list

The process engine stores execution errors in the ExecutionErrorInfo database table. If you want to clean up the table and remove errors permanently, you can schedule a job with the org.jbpm.executor.commands.ExecutionErrorCleanupCommand command.

The command deletes execution errors that are associated with completed or aborted process instances.

Procedure
  1. In Business Central, select MenuManageJobs.

  2. In the top right of the screen, click New Job.

  3. Type any identifier for the job into the Business Key field.

  4. In the Type field, enter org.jbpm.executor.commands.ExecutionErrorCleanupCommand.

  5. Select a Due On time for the job to be completed:

    • To run the job immediately, select the Run now option.

    • To run the job at a specific time, select Run later. A date and time field appears next to the Run later option. Click the field to open the calendar and schedule a specific time and date for the job.

  6. Click the Advanced tab.

  7. Add any of the following parameters as necessary:

    • DateFormat: The format for dates in parameters. If not set, yyyy-MM-dd is used, as in the pattern of the SimpleDateFormat class.

    • EmfName: Name of the custom entity manager factory to be used for queries.

    • SingleRun: Schedules the job for a single execution. If set to true, the job runs once and is not scheduled for repeated execution.

    • NextRun: Schedules the job for repeated execution in a time period. The value must be a valid time expression, for example, 1d, 5h, 10m.

    • OlderThan: Deletes only errors that are older than a set date. The value must be a date.

    • OlderThanPeriod: Deletes only errors that are older than a given time period, compared to the current time. The value must be a valid time expression, for example, 1d, 5h, 10m.

    • ForProcess: Deletes only errors that are related to a process definition. The value must be the identifier of the process definiton.

    • ForProcessInstance: Deletes only errors that are related to a process instance. The value must be the identifier of the process instance.

    • ForDeployment: Deletes only errors that are related to a deployment identifier. The value must be the deployment identifier.

Process instance migration

process instance migration (PIM) is a standalone service containing a user interface and a back-end. It is packaged as a Quarkus mutable JAR file. You can use the PIM service to define the migration between two different process definitions, known as a migration plan. The user can then apply the migration plan to the running process instance in a specific KIE Server.

For more information about the PIM service, see Process Instance Migration Service in KIE (Drools and jBPM ).

Installing the process instance migration service

You can use the process instance migration (PIM) service to create, export and execute migration plans. The PIM service is provided through a GitHub repository. To install the PIM service, clone the GitHub repository, then run the service and access it in a web browser.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • Java Runtime Environment (JRE) version 11 or later is installed.

Procedure
  1. Download the IBAMOE-8.0-AO.zip file from the IBM Support page for IBM Business Automation Manager Open Editions 8.0.

  2. Extract the IBAMOE-8.0-AO.zip file.

  3. Extract the IBAMOE-process-migration-service.zip file.

  4. Enter the following commands to create the database tables. Replace <user> with your user name and <host> with the name of the local host:

    $ psql -U <user> -h <host> -d rhpam7 -f ~/process-migration/ddl-scripts/postgres/postgresql-quartz-schema.sql
    $ psql -U <user> -h <host> -d rhpam7 -f ~/process-migration/ddl-scripts/postgres/postgresql-pim-schema.sql
  5. Change directory to the process-migration directory.

  6. Use a text editor to create the servers.yaml configuration file with the following content and save in the process-migration directory. In this example, replace <user_name> and <password> with the credentials to log in to the KieServer.

    kieservers:
      - host: http://localhost:8080/kie-server/services/rest/server
        username: <user_name>
        password: <password>
  7. Use a text editor to create the datasource.yaml configuration file with the following content datasource.yaml and save in the process-migration directory. In this example, replace <user_name> and <password> with the credentials to log in to the database:

    quarkus:
      datasource:
        db-kind: postgresql
        jdbc:
          url: jdbc:postgresql://localhost:5432/rhpam7
        username: <user_name>
        password: <password>
  8. Rebuild the quarkus-run.jar file to include the PostgreSQL driver:

    $ java -jar -Dquarkus.launch.rebuild=true -Dquarkus.datasource.db-kind=postgresql quarkus-app/quarkus-run.jar

    The output of this command should be similar to the following example:

    INFO [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 2657ms
  9. Run the quarkus-app JAR file:

    $ java -jar -Dquarkus.http.port=8090 -Dquarkus.config.locations=servers.yaml,datasource.yaml quarkus-app/quarkus-run.jar

    This command returns output similar to the following example:

    __  ____  __  _____   ___  __ ____  ______
     --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
     -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
    --\___\_\____/_/ |_/_/|_/_/|_|\____/___/
    2022-03-11 13:04:18,261 INFO  [org.fly.cor.int.lic.VersionPrinter] (main) Flyway Community Edition 7.14.0 by Redgate
    2022-03-11 13:04:18,262 INFO  [org.fly.cor.int.dat.bas.BaseDatabaseType] (main) Database: jdbc:postgresql://localhost:5432/rhpam7 (PostgreSQL 13.4)
    2022-03-11 13:04:18,280 INFO  [org.fly.cor.int.com.DbMigrate] (main) Current version of schema "public": 1.0
    2022-03-11 13:04:18,281 INFO  [org.fly.cor.int.com.DbMigrate] (main) Schema "public" is up to date. No migration necessary.
    2022-03-11 13:04:18,601 INFO  [org.qua.imp.jdb.JobStoreCMT] (main) Freed 0 triggers from 'acquired' / 'blocked' state.
    2022-03-11 13:04:18,603 INFO  [org.qua.imp.jdb.JobStoreCMT] (main) Recovering 0 jobs that were in-progress at the time of the last shut-down.
    2022-03-11 13:04:18,603 INFO  [org.qua.imp.jdb.JobStoreCMT] (main) Recovery complete.
    2022-03-11 13:04:18,603 INFO  [org.qua.imp.jdb.JobStoreCMT] (main) Removed 0 'complete' triggers.
    2022-03-11 13:04:18,603 INFO  [org.qua.imp.jdb.JobStoreCMT] (main) Removed 0 stale fired job entries.
    2022-03-11 13:04:18,624 INFO  [org.kie.ser.api.mar.MarshallerFactory] (main) Marshaller extensions init
    2022-03-11 13:04:18,710 INFO  [org.kie.pro.ser.imp.KieServiceImpl] (main) Loaded kie server configuration for: org.kie.processmigration.model.config.KieServers$KieServer9579928Impl@4b6b5352
    2022-03-11 13:04:18,715 INFO  [org.kie.pro.ser.RecoveryService] (main) Resuming ongoing migrations ...
    2022-03-11 13:04:18,856 INFO  [io.quarkus] (main) process-migration-service 7.59.0.Final-redhat-00006 on JVM (powered by Quarkus 2.2.3.Final-redhat-00013) started in 1.443s. Listening on: http://0.0.0.0:8090
    2022-03-11 13:04:18,857 INFO  [io.quarkus] (main) Profile prod activated.
    2022-03-11 13:04:18,857 INFO  [io.quarkus] (main) Installed features: [agroal, cdi, config-yaml, flyway, hibernate-orm, hibernate-orm-panache, jdbc-db2, jdbc-h2, jdbc-mariadb, jdbc-mssql, jdbc-mysql, jdbc-oracle, jdbc-postgresql, narayana-jta, quartz, resteasy, resteasy-jackson, scheduler, security, security-jdbc, security-ldap, security-properties-file, smallrye-context-propagation, smallrye-health]
  10. To access the Process Instance Migration application, enter http://localhost:8090/ in a web browser .

  11. When prompted, enter the user name admin and the password admin1!. The Process Instance Migration console appears.

Using Keystore Vault

You can use the Quarkiverse File Vault extension to store credentials as keystore files and use the file method to use the keystore files with the process instance migration (PIM) Keystore Vault. For more information about the Quarkiverse File Vault extension, see Quarkiverse File Vault. For more information about using the KeyStore Vault, see Using Keystore Vault on GitHub. For more information about credentials provision, see the Using a Credentials Provider section in the Quarkus documentation.

Note

You can only use database and KIE Server related credentials for PIM configurations.

Procedure
  1. To add passwords to anew or existing keystore file for the PIM Keystore Vault, use the keytool command. For example:

    $ keytool -importpass -alias pimdb -keystore pimvault.p12 -storepass password -storetype PKCS12
    $ keytool -importpass -alias kieserver -keystore pimvault.p12 -storepass password -storetype PKCS12
    $ keytool -importpass -alias cert -keystore pimvault.p12 -storepass password -storetype PKCS12
    $ keytool -importpass -alias keystore -keystore pimvault.p12 -storepass password -storetype PKCS12
    $ keytool -importpass -alias truststore -keystore pimvault.p12 -storepass password -storetype PKCS12
  2. Configure the PIM Keystore Vault to use the keystore file. For example:

    quarkus:
      file:
        vault:
          provider:
            pim:
              path: pimvault.p12
              secret: ${vault.storepassword} # This will be provided as a property
  3. Configure your application to use the credentials from the vault. For example:

    quarkus:
      datasource:
        credentials-provider: quarkus.file.vault.provider.pim.pimdb
    kieservers:
      - host: http://localhost:18080/kie-server/services/rest/server
        credentials-provider: quarkus.file.vault.provider.pim.kieserver
  4. To start PIM with the configured credentials, specify the credentials as an environment variable or as a system property. For example:

    • As an environment variable:

      VAULT_STOREPASSWORD=mysecret java -jar quarkus-app/quarkus-run.jar
    • As a system property:

      java -Dvault.storepassword=password -jar quarkus-app/quarkus-run.jar

Creating a migration plan

You can define the migration between two different process definitions, known as a migration plan, in the process instance migration (PIM) service web UI.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • The process instance migration service is running.

Procedure
  1. Enter http://localhost:8080 in a web browser.

  2. Log in to the PIM service.

  3. In the upper right corner of the Process Instance Migration page, from the KIE Service list select the KIE Service you want to add a migration plan for.

  4. Click Add Plan. The Add Migration Plan Wizard window opens.

  5. In the Name field, enter a name for the migration plan.

  6. Optional: In the Description field, enter a description for the migration plan.

  7. Click Next.

  8. In the Source ContainerID field, enter the source container ID.

  9. In the Source ProcessId field, enter the source process ID.

  10. Click Copy Source To Target.

  11. In the Target ContainerID field, update the target container ID.

  12. Click Retrieve Definition from backend and click Next.

    pim migration wizard
  13. From the Source Nodes list, select the source node you want to map.

  14. From the Target Nodes list, select the target node you want to map.

  15. If the Source Process Definition Diagram pane is not displayed, click Show Source Diagram.

  16. If the Target Process Definition Diagram pane is not displayed, click Show Target Diagram.

  17. Optional: To modify the view in the diagram panes, perform any of the following tasks:

    • To select text, select the pim selection icon icon.

    • To pan, select the pim pan icon icon.

    • To zoom in, select the pim zoom in icon icon.

    • To zoom out, select the pim zoom out icon icon.

    • To fit to viewer, select the pim fit to icon icon.

  18. Click Map these two nodes.

  19. Click Next.

  20. Optional: To export as a JSON file, click Export.

  21. In the Review & Submit tab, review the plan and click Submit Plan.

  22. Optional: To export as a JSON file, click Export.

  23. Review the response and click Close.

Editing a migration plan

You can edit a migration plan in the process instance migration (PIM) service web UI. You can modify the migration plan name, description, specified nodes, and process instances.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • The PIM service is running.

Procedure
  1. Enter http://localhost:8080 in a web browser.

  2. Log in to the PIM service.

  3. On the Process Instance Migration page, select the Edit Migration Plan pim edit icon icon on the row of the migration plan you want to edit. The Edit Migration Plan window opens.

  4. On each tab, modify the details you want to change.

  5. Click Next.

  6. Optional: To export as a JSON file, click Export.

  7. In the Review & Submit tab, review the plan and click Submit Plan.

  8. Optional: To export as a JSON file, click Export.

  9. Review the response and click Close.

Exporting a migration plan

You can export migration plans as a JSON file using the process instance migration (PIM) service web UI.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • The PIM service is running.

Procedure
  1. Enter http://localhost:8080 in a web browser.

  2. Log in to the PIM service.

  3. On the Process Instance Migration page, select the Export Migration Plan pim export icon icon on the row of the migration plan you want to execute. The Export Migration Plan window opens.

  4. Review and click Export.

Executing a migration plan

You can execute the migration plan in the process instance migration (PIM) service web UI.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • The PIM service is running.

Procedure
  1. Enter http://localhost:8080 in a web browser.

  2. Log in to the PIM service.

  3. On the Process Instance Migration page, select the Execute Migration Plan pim execute icon icon on the row of the migration plan you want to execute. The Execute Migration Plan Wizard window opens.

  4. From the migration plan table, select the check box on the row of each running process instance you want to migrate, and click Next.

  5. In the Callback URL field, enter the callback URL.

  6. To the right of Run migration, perform one of the following tasks:

    • To execute the migration immediately, select Now.

    • To schedule the migration, select Schedule and in the text field, enter the date and time, for example 06/20/2019 10:00 PM.

  7. Click Next.

  8. Optional: To export as a JSON file, click Export.

  9. Click Execute Plan.

  10. Optional: To export as a JSON file, click Export.

  11. Check the response and click Close.

Deleting a migration plan

You can delete a migration plan in the process instance migration (PIM) service web UI.

Prerequisites
  • You have defined processes in a backed up IBM Business Automation Manager Open Editions development environment.

  • The PIM service is running.

Procedure
  1. Enter http://localhost:8080 in a web browser.

  2. Log in to the PIM service.

  3. On the Process Instance Migration page, select the Delete pim delete icon icon on the row of the migration plan you want to delete. The Delete Migration Plan window opens.

  4. Click Delete to confirm deletion.