Building an app with Boomi Flow, is a lot like playing with building blocks in real life. Building blocks that we can not only configure and customize, but connect to each other, or use microservices to connect to third-party integrations.
(Image courtesy: Wikimedia)
‘Element’ is what we call the building blocks in Flow. And like with building blocks, we have different shapes and categories of elements that do different things.
Flow elements can be broadly grouped into four categories: 1. Map, 2. Navigation, 3. Group, and 4. Shared elements.
Map element — Map elements help us perform various actions, like showing a screen to user, getting user input, updating data, and so on. We also use map elements to build out the logic of our flows, and determine the path (or paths) a flow will take. Map elements are found on the left-hand side of the Flow canvas.
There are eight map elements in Flow:
- Database Load
- Database Save
- Database Delete
Navigation element — We use the navigation element to build non-sequential workflows, where flow control passes from one element to another without waiting for a previous element to be executed. The navigation is used to ‘point’ to particular map elements.
Flow has one navigation element; aptly called, Navigation.
Group element — A group element lets us change the behavior of any map element we insert inside it. We use a group element to change authentication context.
Flow has one group element; the swimlane.
Shared — Shared elements are elements we can share across multiple flows. These elements are ‘global’ for the tenant, and lets us build once, and re-use the elements for different flows. Shared elements can contain data, structure, or logic.
Flow has six shared elements.
- Page Layout
- A flow references all of the elements that are needed for the flow to function.
- Every element in flow has a unique identifier and version identifier. The unique identifier remains the same throughout the lifecycle of the flow; the version identifier changes every time the element is modified.
- When a flow snapshot is created, the build process takes the latest version of all elements associated with the flow, and locks the flow to those versions of the elements.