×

Please give details of the problem

Docs

Find

ProcessModeler Concepts

The DigitalSuite ProcessModeler allows you to design, develop, and test your application's business logic. This business logic is represented as a process flow and is modelled using the industry standard Business Process Modelling Notation (BPMN). Once deployed, this process definition will be used by the platform to respond to events initiated by users or systems.

Process Steps

A process is designed as a series of steps. DigitalSuite distinguishes between the following step types:

  • Events are used to represent a situation that requires a response.
  • Activities are used to represent an action that is carried out by the process.
  • Gateways are used to represent a decision point within the process.

Steps are connected with arrows to indicate the way in which work should flow through the process.

Events

Events signal that something of significance has happened that needs to be dealt with. For example, every process always has start and end events which are triggered at the beginning and end of any process.

The other type of event is called an intermediary event. These events can be configured to trigger the execution of alternative process branches in response to a defined situation; examples could include process cancellation, an unrecoverable failure, or a lack of a timely response.

Activities

Activities are explicit actions undertaken during the execution of a process. There are six activity types that can be used to support different kind of actions:

  • Simple Activity is typically used for housekeeping tasks, e.g. initializing variables.
  • Connector Activity is used to integrate with external systems or data via a connector.
  • Email/Notification Activity is used to send information to a user (or group of users) via email or mobile push notification.
  • Subprocess Activity is used to launch a subprocess. Subprocesses enable a simplified process design and allow you to reuse existing processes.
  • Manual Activity is used to assign a manual task to a user or group of users.
  • Script Activity is used to run a JavaScript, FreeMarker, or PDF Transformation script.

Gateways

Gateways represent decision points within a process, enabling alternative paths to be taken depending on the situation. There are two types of gateway available:

  • Exclusive Or is used to make a choice between mutually exclusive paths based on the evaluation of a condition.
  • And is used to separate the process flow in order to execute separate paths in parallel.

Each of these has a Split and a Join gateway. A Split is used to create the separate paths while a Join is used to bring separate paths back together at a later point in the process.

Roles and Lanes

Within the DigitalSuite, users are assigned to specific roles within a project in order to give them the necessary access rights necessary to undertake the responsibilities of the role. A user can belong to more than one role. Roles are grouped into organizations which can contain many roles.

In the ProcessModeler and in Business Process Modelling Notation, roles are represented as swim lanes, commonly referred to as lanes, and organizations are represented as pools.

Lanes

This diagram shows the process design for a straightforward budget approval application.

Number Description
Number1 The pool or organization. In this example, all lanes that have responsibilities within the process belong to the same pool. Roles from different organizations can play a part in the same process, in which case the process has more than one pool.
Number2 The lanes or roles. The process design in the diagram has three lanes, which means that users from three roles play a part in the process. Process steps that are the responsibility of a particular role are placed within the corresponding lane. This simplifies and enriches the process design by making it easier to understand the responsible person and organization for each step in the process.

In the diagram above, members of the Everybody role can trigger the process; the start event is therefore in the Everybody lane. Users from the Team manager's role can validate the initial request. Users from the Financial director role can provide further approval and notify the team member of the final decision.

Variables

Variables can be defined at set points in a process:

  • Process input variables allow you to define variables that are required to launch the process.
  • Process activities can have input and output variables.
  • Process events can have input and output variables, as appropriate.

Input variables are prepared before executing the step in which they are defined. For process input variables this means before the start event. Variables can be static or dynamic and can also reference other variables created within any associated web interfaces.

Some connectors require parameters to be passed to them. In this situation, the input variables section of the connector activity will be pre-populated with these parameters - the process designer can set the parameter values from here.

Output variables are evaluated after running the activity or event in which they are defined. They usually store the result of the activity. These variables can then be used later in the process.

Input and output variables can be instantiated with a static value (e.g. john.doe@mydomain.com), or a dynamic one (e.g. ${P_user.login}). Their value can also be set to be the result of the execution of a FreeMarker script.

Measures

Measures can be defined for any variable defined or transiting through the process. By creating a measure you can present the data in a process or web interface report.