Using BPM Rules

Usage

The BPM Rules component of the INUBIT software offers the possibility to formalize and automatize decisions in business processes using rules, to select data from data structures by using rules and to forward tasks to employees based on these rules.

BPM Rules are created in the INUBIT Workbench, filled with default values and centrally stored in the Repository. Thus, BPM rules can be deployed company-wide on a technical and functional level.

Besides their technical definition, BPM rules do always have a business representation. This representation can be used by business users to assign BPM rules to elements of their business process description and to adjust them.

BPM Rules can be instantiated and thus make it possible that global rules that have been created on a company-wide level can be adapted for individual departments and can thus be assigned individual values.

The resulting process models are made available in the BPC Portal where they can also be adjusted by business users.

Controlling business process via BPM rules which are managed centrally increases the flexibility of applications and allows for even faster adaptations of complex process implementations through business users.

Example

With BPM rules, the Assembler AG ensures that all orders exceeding a given order value are released by the respective department managers before they are sent to the suppliers.

In order to implement this, the Assembler AG had their order process mapped onto a Business Process Diagram and realized technically by a Technical Workflow. The BPM rules are stored on the business level as well as on the technical level. The company‘s organizational structure is defined in an Organization Diagram.

The order process looks as follows:

  • Employee Smith needs a new office chair. He fills in an order form in the BPC Portal and submits it.

  • By clicking the Submit button the Technical Workflow is started which spots a BPM rule checking the order value.
    Because the office chair costs more than the maximum order value, the order is routed into the corresponding release workflow.
    Refer to Rule Type Decision Rule.

  • In the release workflow at the Task Generator, the order meets the BPM rule Assign task to employee having the role department manager.
    Refer to Rule Type Task Rule.
    On basis of the Organization Diagram Mr. Smith‘s department manager is determined.

  • The Task Generator creates a task Release order for the department manager. The department manager finds the task in his task list within the BPC Portal, checks the order and releases it.
    Now, the order is send to the supplier.

  • Besides the ordinary order process, the sales department needs regular access to customer numbers for orders exceeding a certain order sum. This action is represented by a data-based BPM rule.
    Refer to Rule Type Data Rule.

In case the Assembler AG wants to modify the sum above which orders must be released officially or customer data are required and extracted, the Assembler AG only needs enter the new value in the BPM rules in the Process Viewer of the BPC Portal or in the Business Process Diagram in the INUBIT Workbench. No changes of Technical Workflows are required.

Rule Type Task Rule

Usage

With the rule type task rule you can let forward tasks to employees and define, to whom these employees may delegate their tasks.

Proceed as follows

  1. Depicting an organization as Organization Diagram

  2. Creating a task rule

    A task rule consists of an XPath expression which is executed on the XML Schema representation of the Organization Diagram:

    Example Explanation

    Business definition

    Assigning tasks to employees with the role $roleName

    Technical definition

    /Model/orgUnit/orgRole[@name=$roleName]/orgPerson

    Parameter

    $roleName

    Parameter value

    The values which can be selected on the business level are restricted by means of the XPath expression /Model/orgUnit/orgRole to those roles which exist in the Organization Diagram:

    workbench user guide 670 0

    You can display the task rules which are executed on an Organization Diagram directly at this Organization Diagram.
    Refer to

  3. Assigning task rules

  4. Adjusting task rule in the portal
    Refer to Adjusting Rules in the BPC Portal.

Identifying Tasks for a User

Rules defined for an organizational chart can be reused to assign tasks to all elements of an organizational chart (users, roles, and organizational units – even combined).

If a user requests his task list, the tasks are identified as follows:

  1. All organizational charts are identified where he is registered with his portal login name.

  2. All organizational units and roles are identified which are valid for the user.

  3. It is identified if there are tasks for the organizational units and roles identified in step 2 as well as for the user himself.

  4. All tasks are identified for the process user roles where the user is a member of.

  5. All identified tasks are displayed.

The organizational charts and the portal user management or the LDAP user management can be synchronized using workflows.

Rule Type Decision Rule

Usage

The rule type decision rule renders it possible, to control the message flow with rules. To achieve this, you define branching conditions as a rule and connect the rule with workflow controls like, for example, Demultiplexers.

Proceed as follows

  1. Creating a decision rule

    Example Explanation

    Business definition

    Check whether the sum of an order value is larger than $maxAmount

    Technical definition

    //Order/Amount/sum > $maxAmount

    Adjustable parameters

    $maxAmount

    Parameter values

    For $maxAmount a default value is defined, which can be adjusted on the business level.

  2. Assigning the decision rule

  3. Adjusting decision rule in the portal Refer to Adjusting Rules in the BPC Portal.

Rule Type Data Rule

Usage

The value-based rule type Data Rule contains an XPath expression used to select any data from a given data structure (e.g. an XML-based order list) or from parameter/variable values. To do this, you define a condition that delivers a return value that can be used for parameterization or you only define parameters that are directly used in the workflow.

Proceed as follows

  1. Creating a data rule

    Example Explanation

    Business definition

    Provides as return value client data for clients with an order value exceeding $maxAmount.

    Technical definition

    //Order/Customerdata[../Amount/sum > $maxAmount]

    Adjustable parameters

    $maxAmount

    Parameter values

    For the parameter a default value is defined, which can be adjusted on the business level.

  2. Assigning data rule

  3. Adjusting decision rule in the portal Refer to Adjusting Rules in the BPC Portal.

Creating Tasks, Data, or Decision Rules

Tasks, data, and decision rules can be created, edited and deleted in the Repository view BPM rules.

For information about the functional principle of these rules refer to

Proceed as follows

  1. In the INUBIT Workbench, display the Repository tab.

  2. Display the BPM rules view.
    Refer to View (DropDown list) in section Repository User Interface.

  3. Navigate to the directory where the rules are to be stored.
    In case there are already rules stored in the directory, these rules are displayed.

  4. To create a new rule, do one of the following:

    • Click the workbench user guide 672 1 button.

    • Open the context menu of the directory area and select Add rule. The dialog for creating rules opens up:
      Refer to Dialog Adding Rules.

  5. Select the type of rule.

  6. Name the rule.

    Creating functional definition

  7. In the Functional definition tab, enter the business representation of the rule.

    This representation is displayed in the Business Process Diagrams and in the Process Viewer for business users. This means, you should phrase the representation in such a way that the meaning of the rule and the adjustable parameters become clear.

    Creating technical definition

  8. In the Technical definition tab define the technical rule:

    • Decision rule:

      1. In case the structure of the rule is defined by an XML Schema you can select this Schema and the element to make creating the XPath expression easier.

      2. Define the XPath version and the XPath expression. Parameters business users can adjust are marked with $, e.g. $maxAmount.
        The XPath wizard can help you with creating the expression: Click the workbench user guide 673 1 button to open the XPath wizard.+ Refer to XPath Assistant.

    • Task rule:

      1. Specify the Organization Diagram on which the XPath expression is to be executed.

      2. Define the XPath version and the XPath expression in such a way that XML elements of the organization diagram are selected. You can use the XPath wizard here as well.

    • Data rule:

      1. If the rule applies to a schema, select the respective schema and the element, for which the condition applies, here.

      2. Define an XPath expression and select an XPath version.
        The XPath assistant supports you in defining the expression: Click the workbench user guide 672 1 button to open the XPath wizard.

  9. To define the parameters which can be adjusted by business users later, open the context menu of the Parameter area and select Add parameter, e.g. maxAmount.
    Define the types, default values and allowed values of the parameters. Parameters that can be adjusted by business users are characterized by $ in the functional definition, e.g. $maxAmount.

  10. To define who may be allowed to adjust the parameters in the BPC Portal display the Process user roles tab and select the appropriate roles.

  11. Click OK to save the rule.

The rule is displayed in the directory area.

Creating Rule Instances

You can create instances of individual rules. Thus, it is possible - without the bother of creating copies - to adapt company- wide created global rules for individual departments and to assign individual values to them.

Proceed as follows

  1. In the INUBIT Workbench, display the Repository tab.

  2. Display the BPM rules view.
    Refer to View (DropDown list) in section Repository User Interface.

  3. Navigate to the directory where the rule is stored that is to be used as basis for the new rule instance.

  4. Select the rule that is the basis for the new instance.

  5. To create a new rule instance, perform one of the following operations:

    • Click workbench user guide 673 2.

    • Open the context menu of the selected rule and select Add rule instance for selected rule.
      A dialog opens and displays the data of the original rule.
      Refer to Dialog Adding Rules.

      When creating rule instances, you can only change the values of the Name and File name fields as well as assignment of process user roles and the parameter values. All other data of the original rule cannot be edited.

  6. If necessary, change name, file name, parameter values and process user role assignments.

  7. Click OK to save your changes.
    → The rule instance is displayed in the directory area. Rule instances are characterized by another icon as rules themselves.

Due to the reference between original rule and rule instance, all subsequent changes to technical and/or business definition of the original rule are automatically inherited by all rule instances.

Combining Rules to Rule Sets

You can combine rules to rule sets. By default, all rules are connected to one rule by using the AND operator.

In order to create complex decisions, you can also combine rules with other operators thus create rule trees. There are specific operators for each rule type.

Rules can only be combined to a rule set if they have the same type and are executed on the same data structure:

  • All rules of a task rule set are task rules and refer to the same Organization Diagram.

  • All rules of a data or decision rule set are either data or decision rules. In case XML Schemas are given, it must always be the same XML Schema.

Proceed as follows

  1. In the INUBIT Workbench display the Repository tab.

  2. Display the BPM rules view. Refer to View (DropDown list) in section Repository User Interface.

  3. Navigate to the directory where the rules are stored which you want to combine.

  4. Do one of the following to create a rule set:

    • Click the workbench user guide 674 1 button.

    • Open the context menu of the directory area and select Add rule set.
      The dialog for creating a rule set opens up.
      Refer to Dialog Adding Rule Set for BPM Rules.

  5. Name the rule set.

  6. To add rules, click the workbench user guide 674 2 button. The rule browser opens.

  7. Select all rules which are to be added.

  8. Click OK to accept the choice.
    The selected rules are displayed in the Contained rules area.

    By default, decision rules are combined by the AND operator. Task rules and data rules are, by default, combined by the Union operator.

  9. By using the extended combination possibilities with AND, OR and IF-THEN for rule definition, you can create complex decisions. To do this, select for each rule type operators available in the Rule definition window to add to the definition.

  10. Click OK to save the rule set.
    → The rule set is displayed in the directory area.

You can copy available rule sets by using the workbench user guide 674 3 button. However, only a flat copy is created, which means that no copies of the contained rules are created.

Assigning Rules on the Technical Level

In order to control the task forwarding, task delegation or the message flow on the technical level, task and decision rules must be assigned to modules in Technical Workflows or use them in the variables mapping. Data rules on workflow level are only used in the variables mapping.

Task Rules in Task Generators

Task rules must be assigned to Task Generators.

Proceed as follows

  1. Open the Task Generator for editing.

  2. In the dialog, select a task rule or rule set

Decision Rules at Demultiplexer, Switch and If

You can use decision rules at the connection lines of the following modules:

Task, Decision and Data Rules in Variables Mapping

All rule types can be used as source for a mapping rule in the variables mapping.

Refer to

Proceed as follows

  1. Display the desired Technical Workflow in the local mode.

  2. Select the module where you want to use the variables mapping. A V button is displayed at the lower left side of the module.

  3. Double-click the V button.

    The dialog Dialog Variables mapping opens.

  4. To create a new mapping rule, click workbench user guide 675 1 in the toolbar.

  5. Select BPM rule as source.

  6. To select a rule, click the workbench user guide 675 2 button in the Rule field. The Repository Explorer opens.

  7. Navigate to the directory in the Repository where the rule is stored and select it.

  8. Confirm the selection by clicking OK.

  9. The Repository Explorer closes. The selected rule is displayed.

  10. Select if you want to use the Rule XPath result or the Rule parameter. Depending on your choice, the respective values are displayed.

  11. If you use the Rule XPath result, select the structure in the Execute on field that you want to use in the XPath.

    If you only use variables or parameters in the XPath, you can also select Empty document.

Assigning Rules on Business Level

To control task forwarding, task delegation or the message flow on the business level, you must assign task and decision rules to elements in Business Process Diagrams. You assign data rules to task elements in Business Process Diagrams.

Assigning Task Rules to Tasks and Adjusting Values

Proceed as follows

  1. Open the Business Process Diagram for editing.

  2. Point at a task element with your cursor. A rule button ® is displayed:

    workbench user guide 676 0
  3. Double-click the rule button. The dialog for assigning a rule opens.

  4. To assign a rule, click workbench user guide 676 1 in the Rule field. The Repository Explorer opens.

  5. Navigate to the Repository directory, where the task rule is stored and select it.

  6. Confirm your choice with OK.
    The Repository Explorer closes. The selected task rule is displayed.

  7. Adjust the parameter values.
    You can also adjust parameters in the BPC Portal in the Process Viewer.
    Refer to Adjusting Rules in the BPC Portal.

  8. Save the assignment with OK.

Using Decision Rules at Gateways

Proceed as follows

  1. Open your Business Process Diagram for editing.

  2. With the cursor, point at a connection after a Gateway element. A rule button is displayed:

    workbench user guide 676 2
  3. Double-click the rule button. The dialog for assigning a rule opens.

  4. Proceed as described in step 4 of section Assigning Task Rules to Tasks and Adjusting Values.

Using Data Rules at Tasks

Proceed as follows

  1. Open the Business Process Diagram for editing.

  2. Continue as described in step 2 in paragraph Assigning Task Rules to Tasks and Adjusting Values. Instead of Task rule, use Data rule.

Displaying the Use of Rules

In the BPM rules view of the Repository, the Usage tab lists where the different rules are used in diagrams:

  • Usage of rules in Business Process Diagrams

  • Usage of rules in workflows

  • Usage of task rules in modules where the rules are used as delivery and/or delegation rules

Proceed as follows

  1. In the INUBIT Workbench, display the Repository tab.

  2. Display the BPM rules view.
    Refer to View (DropDown list) in section Repository User Interface.

  3. Navigate to the directory containing the rule the usage of which you want to display.

  4. Select the rule and display the Usage tab.
    → The usage of the rules is displayed in different categories, depending on whether they are used in workflows and Business Process Diagrams.

Jump from Repository to diagram

Double-click the line that lists the usage of the rule.
→ The corresponding BPD or the corresponding workflow is displayed and the element or module to which the rules is assigned is highlighted.
Afterward, you can jump back from the diagram to the Repository.

Jumping back from the diagram to the Repository is only possible if the rule is configured via the mapping of variables, at the if frame exit, at the switch frame exit, or at a Demultiplexer. A Task Generator’s task rule does not allow jumping to the Repository.

Jump from diagram to Repository
Depending on whether you are in a workflow or BPD, perform one of the following operations:

  • Jump from BPD to rule in Repository:

    1. Open the diagram for editing.

    2. With the cursor, point at a task element. A rule button is displayed.

    3. From the context menu of the rule button, click Show BPM rule in the Repository.
      → You are automatically directed to the Repository. The used rule is highlighted in the directory area.

  • Jump from Technical Workflow to rule in the Repository:

    1. Open the diagram for editing.

    2. With the cursor, point at the concerning Technical Workflows module. A V button is displayed on the bottom left.

    3. From the context menu of the V button, click Show BPM rule in the repository.

      For the modules Demultiplexer, If, and Switch, you must open the context menu(s) of the connection(s) with the previous module(s) and click Show BPM rule in the repository.

    4. Select a rule.
      → You are automatically directed to the Repository. The used rule is highlighted in the directory area.

Adjusting Rules in the BPC Portal

You can display rules in the INUBIT BPC Documentation module and adjust its parameters.

Prerequisites

  • The rules are already assigned to elements in a Business Process Diagram.

  • You have a process user role with the permission to adjust rules.
    The right is assigned when creating the rule, refer to "Process user roles" tab in section Dialog Adding Rules.

Proceed as follows

  1. Display the Business Process Diagram in the Process Viewer of the INUBIT-BPC Integration.

  2. Click the rule button of the rule that you want to edit:

    workbench user guide 678 0

    The rule is displayed:

    workbench user guide 678 1

    Parameters which you can adjust are displayed on bold.

  3. To adjust a parameter, click the workbench user guide 679 0 button. The rule is opened for editing:

    workbench user guide 679 1
  4. Adjust the parameter value.

  5. Click Save to store your changes into the Business Process Diagram on the INUBIT Process Engine.
    → The page is refreshed. If you display the rule again, the new parameter values are displayed.

Dialog Descriptions for BPM Rules

Dialog Adding Rules

workbench user guide 680 0

General definition

  • Name
    Name of the rule. Is displayed everywhere, where the rule can be assigned to elements/modules and should thus be meaningful.
    The name is also used as file name for storing the rule automatically.

  • Type
    For defining whether you want to create a decision, data or a task rule.
    Refer to

  • File name
    Name of the file in which the rule is stored in the Repository.

  • Directory
    Place where the rule is stored. As a default the Repository folder of the user who creates the rule is suggested. You can change the place.

Functional definition tab

Business-related description of the rule including its parameter, which can be adjusted by business users.
The business-related description is displayed for business users in the Business Process Diagrams and in the Process Viewer.

Technical definition tab

  • Data structure the rule works on
    The following options depend on the rule type:

    • Organization diagram: For task rules for selecting an organization diagram the rule refers to.

    • Schema: For decision and data rules for selecting the XML Schema the rule refers to.

    • Element: For decision and data rules for selecting the element the rule refers to.

  • Expression
    XPath/XPath 2.0/XPath 3.1:
    For selecting the XPath version and defining the XPath expression. In the XPath wizard, the XPath expression is executed immediately, and its result is displayed in the Result field!

Process user roles tab
(Only, if process user server is activated)

For selecting the roles which are permitted to adjust rules in the portal.

Parameters

For defining the parameters, business users can adjust in Business Process Diagrams and in the Process Viewer of the BPC Portal. the following:

  • Name
    Parameter name

  • Type
    Parameter type Possible values:

    • string: sequence of characters

    • boolean: Boolean value

      • true: yes

      • false: no

    • int: 32-bit integer

    • long: 64-bit integer

  • Value
    parameter value

  • Value restriction
    Defines which value can be entered or selected in the value column.

    • None
      All values allowed by the selected data type can be entered.

    • List
      Only values entered in the Possible values column can be selected.

    • From workflow variable
      The parameter value is imported from a workflow variable with the same name.

    • XPath (for task rules only)
      Allows to enter an XPath expression in the Possible values column, e.g., to query roles or users in an organizational chart.
      This XPath expression is executed on the organizational chart referenced in the task rule. All objects whose name is available as a possible value are selected. Therefore, the XPath has to reference one or more elements (orgUnit/orgRole/orgPerson etc.), e.g.: /Model/orgUnit[@name='Company X']/orgUnit
      The selected organizational chart elements are displayed separately beneath the XPath result in the XPath assistant.
      In this case, select the xs:string parameter type.

  • Possible values (for the List value restriction only)
    For entering valid parameter values.
    To add, edit, or delete values double-click the field for editing. Afterwards, click the workbench user guide 682 0 icon at the end of the line.

Dialog Adding Rule Set for BPM Rules

workbench user guide 682 1

General definition

Here, you create the same definitions as in the dialog for creating new rules:

Refer to General definition in section Dialog Adding Rules.

The settings in the different tabs are the same as in the dialog for creating rules:

Refer to Functional definition tab in section Dialog Adding Rules.

Rule definition

For adding and aggregating the rules of the new rule set. For connecting the rules you use operators which are specific for each rule type.

Contained rules

The table provides an overview about all rules contained in the rule set and their business definitions.