Flows are entities responsible for orchestrating the execution of Services.
Each instance of a flow, sometimes referred to as a Itinerary, holds state of all Services, Variables and Messages. While Variables and Messages may change over the lifetime of the Flow, the structure remains immutable, meaning once started, -Services and their related connections will not change although updated in the portal.
Create a flow
You create Flows by going to the Flow page using the menu or by using the short-key CTRL+R and type “flow”. Clicking the “Create new” button on the top of the page takes you to the a page where give your flow a name and description. Clicking the “Create” button takes you to the Flow details page, and will present you with the Flow designer:
The Flow designer is made up of two parts; the toolbox and the designer. The toolbox shows all the Services created in your organization and Services that belongs to the Root organization which is not directly accessible to you, other than you have access to all its Services.
As you might remember from the What is a Service? section, there are different kind of Services. Only three kind of Services are visible in the toolbox.
Inbound Services starts the Flow. These Services will always create the Message along with the context.
Inbound Services are often triggered on an interval or event such as reading a Modbus register every minute.
Interval (or other)
Connecting two Services instructs the orchestrator to pass the execution from one Service to the other. The default routing condition is ‘true’, meaning the Message will always take this route.
However, you can set the routing condition by double-clicking the connection and set the route variable. Eg.
var route = message.temperature > 30;
Setting this condition means only route Messages to the destination if the temperature is more than 30 degrees.
Variables are available through the the whole execution of the itinerary and can be read or updated. However, you need to create them prior to using them. Click the “VARIABLES” button at the bottom to add variables.