Getting started with case management

Red Hat Process Automation Manager 7.0

Red Hat Customer Content Services

Abstract

This document describes case management in Red Hat Process Automation Manager 7.0.

Preface

As a case worker or process administrator, you can use case management to create or manage unpredictable and ad hoc processes.

Case management differs from business process management (BPM) in that it focuses on the actual data being handled throughout the case and less on the sequence of steps taken to complete a goal. Case data is the most important piece of information in case handling, while business context and decision-making is in the hands of the human case worker.

Use this document to get started with case management while referring to the IT Orders sample project in Business Central. Deploy the project in Business Central to view and interact with the case assets described in this tutorial, or recreate the project yourself.

Prerequisites

Chapter 1. Case management

Case management is an extension of Business Process Management (BPM) that enables you to manage dynamic and ad hoc business process.

BPM is a management practice for automating tasks that are repeatable and have a common pattern, with a focus on optimization by perfecting a process. Business processes are usually modeled with clearly defined paths leading to a business goal, often with a starting point that is structurally connected to build an end to end flow of work and data. This requires a lot of predictability, usually based on mass-production principles. However, many real world applications cannot be described completely from start to finish (including all possible paths, deviations, and exceptions). Moreover, using a process-oriented approach in certain cases may lead to complex solutions that are hard to maintain.

Case management provides problem resolution for non-repeatable, unpredictable process instances as opposed to the efficiency-oriented approach of BPM for routine, predictable tasks. It manages one-off situations where the process cannot be predicted in advance. Case definition usually consists of loosely coupled process fragments that can be connected directly or indirectly to lead to certain milestones and ultimately a business goal, while the process is managed dynamically in response to changes that occur during run time.

Case management solutions are template-based, with users having control over processes that can change on a case-by-case basis. Because work cannot be predefined in case management, each case instance must have a goal, a deadline, and a predefined product or outcome. Case management is for collaborative and dynamic tasks that require human actions. You must own the case, manage the process, and make the necessary changes to reach a case resolution.

In Red Hat Process Automation Manager, case management includes the following core engine features:

  • Case file instance
  • A Per case runtime strategy
  • Case comments
  • Milestones
  • Stages
  • Ad hoc fragments
  • Dynamic tasks
  • Case identifier (correlation key)
  • Case lifecycle (close, reopen, cancel, destroy)

In Red Hat Process Automation Manager, case management authoring uses Business Process Model and Notation (BPMN2) rather than Case Management Model and Notation (CMMN) for both modeling and execution. This means that there is no need to choose between BPM or case management; you can use both, taking advantage of your existing knowledge of BPM, while also benefiting from the dynamic capabilities of case management.

Case definition is always an ad hoc process definition and does not require an explicit start node. The case definition is the main entry point for the business use case, for example:

  • Insurance claim
  • Hardware order
  • Hospital patient treatment

Process definition can still be introduced as a supporting construct of the case and can be invoked either as defined in the case definition or dynamically to bring in additional processing when required. A case process defines the following new objects, though they are not mandatory or required for every case:

  • Activities
  • Stages
  • Milestones
  • Roles
  • Case file

Chapter 2. Creating a case

A case project is a type of project in Business Central that is configured for case management. When you create a new case project, the following configurations are set automatically in Business Central:

  • Runtime strategy is set to Per Case in order to correctly initialize the Process Server.
  • Case and documents marshallers are configured. These marshallers serialize case file data across the entire case.
  • WorkDefinition.wid files are created in the project and its packages to ensure case-related nodes such as Milestone and Cases are available in the case definition design palette.

Procedure

  1. In the MySpace space in Business Central, click the down arrow next to the Add ProjectCase project.
  2. In the New Project wizard, complete the required project information and click Finish.
  3. To check that the case project has been set up correctly, click SettingsDeployments.
  4. Verify that the Runtime Strategy is set to Per case and that the Marshalling Strategies include a case marshaller and a documents marshaller.

Chapter 3. Designing a case

Cases are designed using the Case definition process designer in Business Central. The case design is the basis of case management and sets out the specific goals and tasks for each case. The case flow can be modified dynamically during run time by adding dynamic tasks or processes.

To demonstrate how to design a case, Red Hat Process Automation Manager includes the IT Orders sample project in Business Central, which includes the following case definition:

IT Orders case design

You can refer to and interact with this case definition by importing the sample project in Business Central.

Prerequisite

You have followed the procedure in Chapter 2, Creating a case to create a new case in Business Central.

Procedure

  1. In the Assets window, click Add Asset in the upper-right corner of the project perspective and select Case definition.
  2. Complete the required information in the Create new Case definition window:

    • name: The name of the case. This is usually the subject of the case or project that is being case managed.
    • package: The location in which case file is to be created.
    • Case ID prefix (optional): A configurable prefix that enables you to easily distinguish different types of cases. The prefix is followed by a generated ID in the format ID-XXXXXXXXXX, where XXXXXXXXXX is a generated number that provides a unique ID for the case instance. If a prefix is not provided, the default prefix is CASE and generates instances with the following identifiers:

      CASE-0000000001

      CASE-0000000002

      CASE-0000000003

      If a prefix is set to something else, such as IT for example, the following identifiers are generated:

      IT-0000000001

      IT-0000000002

      IT-0000000003

  3. Click Ok to open the process designer.

    The designer creates a WorkDefinition file that includes the work items required for case definition. These appear as usable objects in the process designer Object Library, accessible by clicking the left arrows in the upper-left corner of the designer.

    Verify that the process designer includes the Milestones and Cases objects by either checking the Object Library dock on the left side of the process designer, or by checking the WorkDefinition file under Work Item Definitions in the Project Explorer window on the left side of Business Central.

  4. Define process level and case level variables.

    Click the 3897 arrow on the right side of the designer to open the Properties panel. Click the down arrow next to Variable Definitions to open the Editor for Variable Definitions.

    Figure 3.1. IT Orders variables

    Editor for IT Orders variables

    In the IT Orders sample project, you can see that certain variables are identified as Case File. A case file variable is stored in the case file itself and promotes reuse of the case file data rather than copying it across multiple process instances. For example, the hwSpec variable is available to all processes within the case and is accessible directly from the case file even without an existing process instance.

    For more information about the case file, see Chapter 4, Case file.

  5. To define the roles involved in the case, click 3897 to open the Properties menu on the right side of the designer and open the Editor for Case Roles. Click Add Case Role to add case roles.

    The IT Orders sample case management project includes the following roles:

    Figure 3.2. ITOrders Case Roles

    Case Roles
    • owner - the employee who is making the hardware order request. There can be only one of these roles.
    • manager - the employee’s manager; the person who will approve or deny the requested hardware. The role cardinality is set to 1, which means that only one person or group can be assigned to this role.
    • supplier - the available suppliers of IT hardware in the system. There is usually more than one supplier.

      For more information about creating case roles, see Chapter 5, Case roles.

  6. Define the work item to be triggered when a new case starts.

    Because case definition is an ad hoc process definition, it does not require an explicit start node. Nodes that have no incoming connections are marked as Adhoc Autostart and are automatically triggered when an instance is started.

    By default, the process designer includes a Milestone object configured as Adhoc autostart in the palette. Modify this object or replace it with another work item such as a user task or script task to be triggered when a new case is started.

    In the IT Orders example, the Prepare hardware spec user task and the Milestone 1: Order placed milestones are configured as Adhoc autostart, and are automatically triggered when an instance is started by a request being made for new IT hardware.

  7. Define the Place order subprocess.

    In the IT Orders example, the place-order process is a separate business process that is carried out by the supplier. This is a reusable process that occurs during the course of case execution.

    1. From the project menu, click Add AssetBusiness Process to create a new business process. Define the name and package for the new process and click Ok.
    2. Define the process that is a subprocess within the case. For example, the IT Orders Place order process is a simple user task that applies to the supplier group and receives the relevant order data and case variables directly from the case file.
  8. Add a milestone to the case definition by selecting Milestone from the Object Library and dragging it on to the process designer.

    1. Create an evaluation condition for the milestone based on a case file variable that determines when the milestone is completed. From the Properties menu on the right, open the Data Inputs and Assignments window and click Add to add a new condition.

      In the IT Orders case, the status of Milestone 1: Order placed depends on the org.kie.api.runtime.process.CaseData(data.get("ordered") == true) variable. This means that a case variable named ordered exists with the value true, and it is configured on the milestone in the following way:

      Milestone evaluation condition configuration

The IT Orders case can be closed after all milestone sequences are completed. However, due to the ad hoc nature of cases, the case could be reopened if, for example, the order was never received by the customer or the item is faulty. Tasks can be re-triggered or added to the case definition as required, even during run time.

For more information about ad hoc processes, see Chapter 6, Ad hoc and dynamic tasks.

Chapter 4. Case file

A case file is used in case management as a repository of data for the entire case instance. It contains all roles, the object itself, the data map, and any other data. The case can be closed and reopened at a later date with the same case file attached. A case instance can be closed at any time and does not require a specific resolution in order to be “completed”. The case instance can be reopened at a later date with the same case file referenced.

Importantly, the case file can also include documentation in the form of embedded documentation, references, PDF attachments, web links, and so on.

Chapter 5. Case roles

Case roles provide an additional layer of abstraction for user participation in case handling. Roles, users, and groups are used for different purposes in case management.

Role
Roles drive the authorization for the case instance, and can be used for user activity assignments. The only role that is predefined is Owner. A user or one or more groups can be assigned to the owner role. The owner is whoever the case belongs to. Roles are not restricted to a single set of people or groups as part of case definition. Roles should always be used for task assignment rather than assigning a specific user or group in order to ensure the case remains dynamic.
Group
A group is a number of people who are able to carry out a particular task or have a set of specified responsibilities. There can be any number of people assigned to a group, and a group can be assigned to a role. Members of a group can be added or changed at any time, which is why a group should never be hardcoded to a particular task.
User
A user is an individual who can be given a particular task by assigning them a role or adding them to a a group.

The following illustrate how the preceding case management concepts apply to a hotel reservation.

  • Role = Guest
  • Group = Receptionist, Maid
  • User = Marilyn

The role assignment (Guest) affects the specific work of the case and is unique to all case instances. The number of users or groups that can be assigned to a role is limited by the Case Cardinality, which is set during role creation in the process designer. For example, there may be only one guest in a hotel reservation case, or there may be two suppliers of IT hardware as in the IT Orders sample project.

When the roles are defined, case management must ensure that these are not hardcoded to single set of people or groups as part of case definition and that they can differ for each case instance. This is where case role assignments become important. Role assignments can be assigned or removed in the following ways:

  • when case starts
  • any given point in time while case is active
  • removed at any given point in time while case is active

The second and third options do not alter the task assignments for active tasks.

Roles are optional and not a case requirement, however, you should use roles within case definitions.

Important

Always use roles for task assignments instead of actual user or group names. This ensures the case remains dynamic and actual user or group assignment can be made as late as possible.

Roles are assigned to users or groups and authorized to perform tasks when a case instance is started either in an application or by using the REST API.

For more information about how to assign and authorize roles, see Section 5.1, “Role authorization”.

5.1. Role authorization

Role assignments can be given when the case starts or while it is active at any time, and can be changed at any point while the case instance is active. Case Management users should always assign roles to task assignments rather than actual user or group names. This enables the case to be as dynamic as possible, as actual user or group assignment can happen as late as possible, and can also be changed.

Roles are authorized to perform certain case management tasks when starting a new case instance using the Showcase application or the REST API.

Use the following procedure to start a new IT Orders case using the REST API.

Prerequisite

  • The IT Orders sample project has been imported in Business Central and deployed to the Process Server.

Procedure

  1. Create a POST REST API call with the following endpoint:

    http://host:port/kie-server/services/rest/server/containers/itorders/cases/itorders.orderhardware/instances

    • itorders: The container alias that has been deployed to the Process Server.
    • itorders.orderhardware: The name of the case definition.
  2. Provide the following role configuration in the request body:

    {
      "case-data" : {  },
      "case-user-assignments" : {
        "owner" : "cami",
        "manager" : "cami"
      },
      "case-group-assignments" : {
        "supplier" : "IT"
     }
    }

This starts a new case with defined roles, as well as autostart activities, which are started and ready to be worked on. Two of the roles are user assignments (owner and manager) and the third is a group assignment (supplier).

After the case instance is successfully started, the case instance returns the case ID: IT-0000000001.

For information about how to start a new case instance using the Showcase application, see Section 10.2, “Starting an IT Orders case in the Showcase application”.

Chapter 6. Ad hoc and dynamic tasks

You can use case management to carry out tasks in an ad hoc way, rather than following a strict end-to-end process. Tasks can also be added to a case dynamically during run time when required.

Ad hoc tasks are predefined in the case modeling phase. Ad hoc tasks are optional and may or may not be worked on during a case and therefore must be triggered by a signal event or by Java API to be available to be worked on during a case.

Dynamic tasks are defined in the case run time execution and are not present in the case definition model. Dynamic tasks address specific needs that arise during the case. They can be added to the case and worked on at any time using a case application, as demonstrated in the Red Hat Process Automation Manager Showcase application. Dynamic tasks can also be added by Java and Remote API calls.

Dynamic tasks can be user or service activities, while ad hoc tasks can be any type of task.

Dynamic processes are any process from a case project.

Ad hoc nodes with no incoming connections can be configured with the Adhoc autostart property, which is a property of the node itself. These tasks are triggered automatically when the case instance is started.

6.1. Adding ad hoc tasks

Ad hoc tasks are optional tasks that are configured in a case definition. Because they are ad hoc, they must be triggered in some way, usually by a signal event or Java API call.

Prerequisite

  • A case project has been created in Business Central.
  • A case definition has been created.

Procedure

  1. In the process designer, click right arrows to open the Object Library on the left of the design palette.
  2. From the list, select a user or service task that you want to add to the case definition as an ad hoc task.

    For example, you might want to add a user task to fill out a warranty claim if goods that are received are faulty. A warranty claim may or may not need to be completed during the course of the case, but it is available to be performed in an ad hoc way if required.

  3. Configure the ad hoc task properties in the Properties panel on the right.
  4. Trigger the task during run time using a Java API call. For example, the Order rejected ad hoc task is triggered by the following API call: CaseService.triggerAdHocFragment

6.2. Starting dynamic tasks and processes

You can add dynamic tasks to a case during run time. Dynamic tasks are a way to address changing situations, where an unanticipated change during the case requires a new task or process to be incorporated into the case in response.

Use a case application to add a dynamic task during run time. For demonstration purposes, the Business Central distribution includes a Showcase application where you can start a new dynamic task or process for the IT Orders application. For more information about installing and running the Showcase application, see Chapter 10, Case management Showcase application.

Prerequisites

  • The Process Server is deployed and connected to Business Central.
  • The IT Orders project is deployed to Process Server.
  • The Showcase application .war file has been deployed alongside Business Central.

Procedure

  1. With the IT Orders project deployed and running in Business Central, in a web browser, navigate to the Showcase login page http://localhost:8080/rhpam-case-mgmt-showcase/.

    Alternatively, if you have configured Business Central to display the Apps launcher button, use it to open a new browser window with the Showcase login page.

    apps launcher showcase button

    For instructions on how to configure the Apps launcher button in Business Central see the Section 10.1, “Install and login to the Showcase application”.

  2. Log in to the Showcase application using your Business Central login credentials.
  3. Select an active case instance from the list to open it.
  4. Under OverviewActionsAvailable, click the dotdotdotbutton button next to New user task or New process task to add a new dynamic task or process task.

    Figure 6.1. Showcase dynamic actions

    showcase dynamic actions
    • To create a dynamic user task, start a New user task and complete the required information:

      showcase dynamic user task
    • To create a dynamic process task, start a New process task and complete the required information:

      showcase dynamic process task
  5. To view a dynamic user task in Business Central, click MenuTrackTask Inbox. The user task that was added dynamically using the Showcase application appears in the Task Inbox.

    task inbox dynamic task
    1. Click the dynamic task in the Task Inbox to open the task. A number of action tabs are available from this page.
    2. Using the actions available under the task tabs, you can begin working on the task.
    3. In the Showcase application, click the refresh button in the upper-right corner. Case tasks and processes that are in progress appear under OverviewActionsIn progress.
    4. When you have completed working on the task, click the Complete button under the Work tab.
    5. In the Showcase application, click the refresh button in the upper-right corner. The completed task appears under OverviewActionsCompleted.
  6. To action a dynamic process task in Business Central, click MenuManageProcess Instances.

    dynamic process instance
    1. Click the dynamic process instance in the list of available process instances to view information about the process instance.
    2. In the Showcase application, click the refresh button in the upper-right corner. Case tasks and processes that are in progress appear under OverviewActionsIn progress.

Chapter 7. Stages

Case management stages are a collection of tasks that must be completed in order to reach specific milestones, or to resolve the case. A stage is an ad hoc subprocess that can be defined using the process designer and may include other case management nodes, such as a milestone. A milestone can also be configured as completed when a stage or a number of stages are completed. Therefore, a milestone may be activated or achieved by the completion of a stage, and a stage may include a milestone or a number of milestones.

A stage represents activities that are meant to serve certain business purposes. For example, in a patient triage case, the first stage may consist of observing and noting any obvious physical symptoms or a description from the patient of what their symptoms are, followed by a second stage for tests, and a third for diagnosis and treatment.

A stage consists of the following elements:

  • Allowed process fragments and standalone activities
  • Some activities that can start upon stage activation (Adhoc autostart)
  • Reaction to changes in case file data

There are three ways to complete a stage:

  • By completion condition.
  • By terminal end event.
  • By setting the AdHocCompletionCondition to autocomplete, which will automatically complete the stage when there are no active tasks.

7.1. Defining a stage

A stage can be modeled in BPMN2 using the process designer. Stages are a way of grouping related tasks in a way that clearly defines activities that, if the stage is activated, must complete before the next stage of the case commences. For example, the IT Orders case definition described in Chapter 3, Designing a case can also be defined using stages in the following way:

Figure 7.1. IT Orders project stages example

IT Orders - stages

Prerequisites

  • You have followed the procedure in Chapter 2, Creating a case to create a new case in Business Central.
  • You have started a case definition and defined any other required case nodes described in Chapter 3, Designing a case. Stages must be triggered by another node within a case definition, so at least one other node must be configured in the designer before the stage can be started.

Procedure

  1. From the process designer, click 3897 on the left of the palette to open the Object Library. Open the Subprocesses object list, drag and drop an Ad-Hoc node onto the design canvas and provide a name for the stage node.
  2. Define how the stage is activated:

    • If the stage is being activated by an incoming node, connect the stage with a sequence flow line from the incoming node.
    • If the stage is instead being triggered by a signal event, configure the SignalRef on the signal node with the name of the stage that you configured in the first step.
    • Alternatively, configure the AdHocActivationCondition property to start the stage when the condition has been met.
  3. Re-size the node as required to provide room to add the task nodes for the stage.
  4. Add the relevant tasks to the stage and configure them as required.
  5. (Optional) Configure a completion condition for the stage. As an ad hoc subprocess, stages are configured as autocomplete by default, which means that the stage will automatically complete and trigger the next activity in the case definition once all instances in the stage are no longer active.

    To change the completion condition, select the stage node and open the Properties panel on the right. Modify the AdhocCompletionCondition property field in the with a free-form Drools expression for the completion condition you require. For more information about stage completion conditions, see Section 7.2, “Configuring stage activation and completion conditions”.

  6. Once the stage has been configured, connect it to the next activity in the case definition using a sequence flow line.

7.2. Configuring stage activation and completion conditions

Stages can be triggered by an end node, intermediate node, or manually using an API call.

You can configure stages with both activation and completion conditions using free-form Drools rules, the same way that milestone completion conditions are configured. For example, in the IT Orders sample project, the Milestone 2: Order shipped completion condition (org.kie.api.runtime.process.CaseData(data.get("shipped") == true)) can also be used as the completion condition for the Order delivery stage represented here:

Figure 7.2. IT Orders project stages example

IT Orders - stages

Activation conditions can also be configured using a free-form Drools rule to configure the AdHocActivationCondition property to activate a stage.

Prerequisite

  • You have created a case definition in the Business Central process designer.
  • You have added an ad hoc subprocess to the case definition that is to be used as a stage.

Procedure

  1. With the stage selected on the process design canvas, click 3898 to open the Properties panel on the right.
  2. Open the AdHocActivationCondition property editor to define an activation condition for the start node. For example, autostart: true to make the stage automatically activated when a new case instance is started.
  3. The AdHocCompletionCondition is set to autocomplete by default. To change this, open the property editor to define a completion condition using a free-form Drools expression. For example, org.kie.api.runtime.process.CaseData(data.get("ordered") == true) to activate the second stage in the example shown previously.

For more examples and information about the conditions used in the IT Orders sample project, see Section 8.2, “IT Orders case milestones”.

Chapter 8. Milestones

Milestones are a special service task that can be configured in the case definition designer by adding the milestone node to the process designer palette. When creating a new case definition, a milestone configured as Adhoc autostart is included on the design palette by default.

Case management milestones usually occurs at the end of a stage, but they can also be the result of achieving other milestones. A milestone always requires a condition to be defined in order to track progress. Milestones react to case file data when data is added to a case. A milestone represents a single point of achievement within the case instance. It can be used to flag certain events, which can be useful for KPI tracking or identifying the tasks that are still to be completed.

Milestones can have three states:

  • Active - The condition has been defined on the milestone but it has not been met.
  • Completed - The milestone condition has been met, the milestone has been achieved, and the case can proceed to the next task.
  • Terminated - The milestone is no longer a part of the case process and is no longer required.

While a milestone is available or completed it can be triggered manually using a signal or can be automatically started (by configuring Adhoc autostart) when a case instance starts. Milestones can be triggered as many times as required, however, it is directly achieved when the condition is met.

8.1. Milestone configuration and triggering

Case milestones can be configured to start automatically when a case instance starts or they can triggered using a signal, which is configured manually during the case process design.

Prerequisite

  • A case project has been created in Business Central.
  • A case definition has been created.

Procedure

  1. In the process designer, click right arrows to open the Object Library on the left of the design palette.
  2. From the list, open Milestone and drag the Milestone object onto the palette.

    Milestone
  3. With the milestone node selected, click left arrows to open the Properties panel on the right.
  4. Open Assignments to add a completion condition. Milestones include a condition parameter by default.
  5. To define the completion condition to for the milestone, select Constant from the list. The condition must be provided using the Drools syntax. (For examples, see Section 8.2, “IT Orders case milestones”).
  6. Configure the Adhoc autostart property.

    • Set this property to true for milestones that are required to start automatically when a case instance starts.
    • Set this property to false for milestones that are to be triggered by a signal event.
  7. (Optional) Configure a signal event to trigger a milestone once a case goal has been reached.

    1. With the signal event selected in the process designer palette, open the Properties panel on the right.
    2. Set the Signal Scope property to Process Instance.
    3. Open the SignalRef expression editor and type the name of the milestone to be triggered.

      Milestone trigger expression

      Click Ok to finish.

8.2. IT Orders case milestones

Milestones are configured in the process designer by adding a milestone node to the design palette.

The following milestones are configured in the IT Orders sample project:

Hardware spec ready

This milestone is reached when the required hardware specification document is completed. This is configured using the following condition:

org.kie.api.runtime.process.CaseData(data.get("hwSpec") != null)

Adhoc autostart is enabled for this milestone.

Manager decision

This milestone is reached when the managerDecision variable has been given a response. It is configured using the following condition:

org.kie.api.runtime.process.CaseData(data.get("managerDecision") != null)

Adhoc autostart is enabled for this milestone.

Milestone 1: Order placed

This milestone is in a wait state until the completion condition is met.

The condition for this milestone is that a case file variable named ordered exists with the value true. This is configured using the following condition:

org.kie.api.runtime.process.CaseData(data.get("ordered") == true)

A script task then sends a notification that the hardware order has been placed.

Adhoc autostart is enabled for this milestone.

Milestone 2: Order shipped

The condition for this milestone is that a case file variable named shipped is true. This is configured using the following condition:

org.kie.api.runtime.process.CaseData(data.get("shipped") == true)

The Send to tracking system script is executed when the condition is met.

Adhoc autostart is not enabled for this milestone. Instead, it is triggered by a signal event when the order is ready to be sent.

Milestone 3: Delivered to customer

The condition for this milestone is that a case file variable named delivered is true. This is configured using the following condition:

org.kie.api.runtime.process.CaseData(data.get("delivered") == true)

A Customer satisfaction survey task is created when the condition is met.

Adhoc autostart is not enabled for this milestone. Instead, it is triggered by a signal event after the order has successfully shipped to the customer.

Chapter 9. Comments

In case management, comments facilitate collaboration within the case instance, and allow case workers to easily communicate with each other to exchange information.

Comments are bound to the case instance. They are part of the case file, and therefore comments can be used to take action on them. Basic text-based comments can have a complete operations set, similar to CRUD (create, read, update, and delete).

Chapter 10. Case management Showcase application

The Showcase application is included in the Red Hat Process Automation Manager distribution to demonstrate the capabilities of case management in an application environment. Showcase is intended to be used as a proof of concept that aims to show the interaction between business process management (BPM) and case management. You can use the application to start/close, monitor, and interact with cases.

Showcase must be installed in addition to the Business Central application and Process Server. The Showcase application is required to start new case instances, however the case work is still performed in Business Central.

After a case instance is created and is being worked on, you can monitor the case in the Showcase by opening the case Overview page.

Showcase Support

The Showcase application is not an integral part of Red Hat Process Automation Manager and is intended for demonstration purposes for case management. Showcase is provided to encourage customers to adopt and modify it to work for their specific needs. The content of the application itself does not carry product-specific Service Level Agreements (SLAs). We encourage you to report issues, request for enhancements, and any other feedback for consideration in Showcase updates.

Red Hat Support will provide guidance on the use of this template on a commercially reasonable basis for its intended use, excluding the provided example UI code provided within.

Note

Production support is limited to the Red Hat Process Automation Manager distribution.

10.1. Install and login to the Showcase application

The Showcase application is included with the Red Hat Process Automation Manager{PRODUCT_VERSION } distribution in the add-ons Zip file. The purpose of this application is to demonstrate the functionality of case management in Red Hat Process Automation Manager and enable you to interact with cases created in Business Central. You can install the Showcase application in a Red Hat JBoss Enterprise Application Platform instance or on OpenShift. This procedure describes how to install the Showcase application in Red Hat JBoss EAP.

Prerequistes

  • Business Central and Process Server are installed in an Red Hat JBoss EAPinstance.
  • Business Central is not running.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Red Hat Process Automation Manager
    • Version: 7.0
  2. Download Red Hat Process Automation Manager 7.0.0 Add Ons (rhpam-7.0.0.GA-add-ons.zip).
  3. Extract the (rhpam-7.0.0.GA-add-ons.zip). file. The (rhpam-7.0-case-mgmt-showcase-eap7-deployable.zip). file is in the unzipped directory.
  4. Extract the (rhpam-7.0-case-mgmt-showcase-eap7-deployable.zip). archive to a temporary directory. In the following examples this directory is called TEMP_DIR.
  5. Copy the contents of the _TEMP_DIR/rhpam-7.0-case-mgmt-showcase-eap7-deployable/jboss-eap-7.1 directory to EAP_HOME.

    When asked to overwrite files or merge directories, select Yes.

    Warning

    Ensure the names of the Red Hat Process Automation Manager deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss EAP instance.

  6. Add the following system property to your deployment’s EAP_HOME/jboss-eap-7.1/standalone/configuration/standalone-full.xml file: <property name="org.jbpm.casemgmt.showcase.url" value="/rhpam-case-mgmt-showcase"/>
  7. In a terminal window, enter the following command to start Business Central:

    EAP_HOME/bin/standalone.sh -c standalone-full.xml

  8. In a web browser, enter localhost:8080/business-central.

    If Red Hat Process Automation Manager has been configured to run from a domain name, replace localhost with the domain name, for example:

    http://www.example.com:8080/business-central

  9. In the upper-right corner in Business Central, click the Apps launcher button to launch the Case Management Showcase in a new browser window.

    apps launcher showcase button
  10. Log in to the Showcase application using your Business Central user credentials.

10.2. Starting an IT Orders case in the Showcase application

You can start a new case instance for the IT Orders sample case management project in the Showcase application.

Prerequisites

Procedure

  1. In the Showcase application, start a new case instance by clicking the Start Case button.
  2. Select the Order for IT hardware case name from the list and complete the role information as shown in the following example:

    showcase itorders start case

    Click Start to start the case instance.

  3. Select the case from the Case List. The Overview page opens.

    From the Overview page, you can monitor the case progress, add comments, start new dynamic tasks and processes, and complete and close cases.

    Note

    Cases can be started and closed using the Showcase application, but they cannot be reopened using this application. You can only reopen a case using a JMS or REST API call.

Appendix A. Versioning information

Documentation last updated on: Friday, July 13, 2018.

Legal Notice

Copyright © 2018 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.