Skip to main content

Process workflow

FA Platform provides the Flowable Process Engine as a standalone micro-service. The engine allows you to deploy processes using BPMN 2.0 definitions, and with the Flowable Modeler, you can create process definitions without having to write them in XML. To learn more about Flowable, see the documentation on their website.

In the Processes view of the FA Developer App, you are provided with a visual process modeler and a process engine for creating and deploying custom processes. To create a process, you model it by choosing and configuring elements, such as tasks and events, and connecting them to form a process flow. You can then deploy the process by publishing an app with the model. To see more details of the Process view in the FA Developer App, check out Processes view

Create a process model

To create a process model:

  1. Open the Modeler view in the FA Developer app, go to the Processes tab, and click Create process.

  2. Define the model's name and the model key (a unique identifier that can be used to launch the process via GraphQL) and click Create new model.

    You can now start creating the process definition with the visual editor. When you start the editor for the first time, you can edit the main configurations of the process at the bottom of the screen. You can access them later by clicking on an empty spot on the model canvas.

  3. In the visual editor, create a process model by adding BPMN 2.0 elements, defining their configurations, and connecting them with sequence flow arrows: 

    • Add an element to your model from the menu on the left side, and drag and drop it into the model canvas. 

    • Define configurations for the elements at the bottom of the screen when it is selected.

    • To create a sequence flow from one element to another, select an element and drag and drop the arrow icon appearing on its right side onto another element. 

  4. Save your model once you're finished with editing.

BPMN elements in FA processes

This section provides an overview of the BPMN 2.0 elements (constructs) supported by Flowable that are commonly used in FA processes. 

Events

Name

Function

Start event

Indicates the starting point of the process.

Intermediate event registry catching event

Continues the process upon receiving a signal.

End event

Ends the current  process execution path.

Terminate end event

Terminates the process instance.

Tasks

Name

Function

User task

The user performs a task using an application interface, such as form.

Service task

Launches a service depending on the delegate expression defined in task configuration:

  • ${importer} - Import data to FA Back

  • ${reports} - Generate documents with JSReport

  • ${reporter} - Import generated JSReport to FA Back

  • ${files} - Import user's attached files to FA Back

  • ${API} - Fetch data from an API

  • ${roaring} - Fetch data from Roaring

Decision task

Triggers the rules defined in the referenced decision table. 

Deploy the process

To deploy a process, you need to create an app containing the process model. You can do this on the Apps tab of the Modeler view by following these steps:

  1. Click Create App and define the app definition name and key. 

  2. Choose Edit included models to select the model for the app.

  3. Save the app and close the editor. 

  4. Select the app again and click Publish.

Your process is now deployed and ready to be used.

Notice

You can include multiple process models in a single app. Publishing the app will then deploy all the processes at once.

Caution

If you make any changes to your process model, the application must be re-published for the changes to take effect. If you save a new version of your process model instead of overwriting the previous one, you should also change the model version under the app.

Automated deletion of process instances

In FA, old Flowable process instances are automatically deleted. FA does this to prevent the accumulation of unfinished instances from affecting system performance. By default, a process instance is deleted after 60 days from when it was started. FA checks for and deletes old instances daily at 10pm.

You can postpone the deletion of a process instance by setting an execution variable named keepAliveUntilDate with a date (java.util.Date object) as value. As a result, the process instance is deleted only after the set date has passed.