Skip to content

Business Process Modeling

This section is a collection of detailed guides teaching the reader the various intricacies of BPMN and our extensions to BPMN.

Business Process Model and Notation (BPMN)

Provides a standard notation that is understandable by many different business employees/stakeholders and makes for the maintenance of these workflows easier.

Business Process Model and Notation (BPMN) is the global standard for process modeling and one of the most important components of successful Business-IT-Alignment.

More and more organizations are using BPMN and in more and more universities BPMN is taught as a subject. These are the reasons:

  • Standard - BPMN is managed by OMG, an established institution responsible for multiple worldwide standards including UML. The standard is supported by many software products making it less dependent on any particular vendor’s products.
  • Simplicity - The principle behind BPMN is rather simple enabling a quick uptake.
  • Power of expression - If necessary, you can describe precisely how a process should function with BPMN. However, this is more difficult than only roughly describing the process. This way of precise modeling is possible, but not mandatory.
  • Implementation in IT - BPMN has been primarily developed to support the technical implementation of processes (“Process Automation”). The more important the IT is in a company, the more helpful the use of BPMN becomes.

Adding the BPMN specification to IFS Cloud allows someone already familiar with BPMN to be able to configure the different actions using our Workflow Designer. The different BPMN symbols and elements, such as tasks, events, and gateways are all part of the BPMN specification, this means the workflow functionality will be able to be understood, maintained, and amended by our customers many business analysts,  developers, or subject matter experts.

Common BPMN Symbols

IFS BPMN Extensions

IFS provides pre-created tasks that implement IFS specific delegates. These can be initialized in the Workflow by creating a new task and then selecting the type of task.

Note: It is not recommended to change the type of the same task,

  • If the task type is accidentally changed, the properties and parameters you have given during the selection of the previous type will be retained once you change the task type back.
  • If you intend to change the type of the task, it is recommended to delete the task and create it again with the new type.

Below is a snapshot of the IFS Process Enrichment, IFS Projection, and IFS REST Call type options in the list.

Expression Language

Expression Language can be used within a Workflow to define and evaluate small script-like expressions. Expressions are evaluated using Java Unified Expression Language (JUEL).

For detailed information, refer to the Camunda documentation link.

Usage of Expression Language

Scripting

Script Task

JavaScript scripting in a Workflow can be performed by using a script task. When the process execution arrives at the script task, the attached script is executed. To use JavaScript, the Script Format in the script task can be specified to be JavaScript.

ScriptTask

Below is the generated XML for the script task.

<bpmn:scriptTask id="ScriptTask\_19c2f27" name="Inc Counter"  scriptFormat="JavaScript">  
      <bpmn:incoming>SequenceFlow\_19jwfjw</bpmn:incoming>  
      <bpmn:outgoing>SequenceFlow\_1h10vij</bpmn:outgoing>  
      <bpmn:script>var counter = execution.getVariable('counter\_t');  
        execution.setVariable('counter\_t',counter + 1);  </bpmn:script>  
 </bpmn:scriptTask>

Refer Camunda Documentation link for more information.

Numeric Functions

Numeric functions can be performed using JavaScript in a Script Task. Some common arithmetic functionality includes:

  • Sum
  • Subtract
  • Multiply
  • Divide

As shown in the figure below, arithmetic can be used on different numeric variables, and the results set in the execution variables to be used in another process state.

NumericFunction

Date Functions

Dates can be created and manipulated with JavaScript.

The Date object contains information about the:

  • Day
  • Month
  • Year
  • Time

Dates can be manipulated using built-in functionality in the Date object. In the figure below, days, months, and years can be added or subtracted to the current date. Time can also be added or subtracted by seconds, minutes, and hours using the built-in functionality.

Refer to the JavaScript documentation for Date functionality here.

DateFunction

Strings

Strings can be built and manipulated using JavaScript. Common string manipulation such as concatenation and substring can be performed.

To concatenate a string, the ‘+’ can be used to concatenate multiple strings and variables together. As shown in the figure below, the string concatenates two variables retrieved from the execution.

Substring functionality is a native method provided in JavaScript. The substring() method will return the string between the start and end indexes. Refer to the JavaScript documentation for the substring method here.

Strings

Example BPAs