It is important to understand the various components that make up the Flow Information Platform. A Flow system can be deployed to a single machine (host). However, the components of Flow have been designed to work together across multiple machines where required. This architecture allows for large systems to be distributed for redundancy and load-balancing. The following diagram shows a distributed Flow System:
① Flow Bootstrap
The Flow Bootstrap is installed as a Windows Service on each machine in the distributed architecture. It is responsible for communication with Flow Config ② as well as coordinating the startup and shutdown of the Flow Platforms ⑤.
All Flow components communicate with each other over a TCP/IP port, namely, the Bootstrap Port. This is port 4501 by default but can be configured differently if required. It is important that the required firewall settings are configured on each machine in the architecture to allow for this communication to take place. To change port 4501 to another port, see section XXX for the Flow Bootstrap and section XXX for the Config Tool.
② Flow Config
The Flow Config tool is the configuration environment used to build a Flow System. It can be installed on workstations or laptops that have access to the Flow Bootstrap machines. It is used to create and configure events, measures, calculations, forms, charts, dashboards, etc. It is also used to manage and deploy the various Flow components according to the required system architecture.
③ Microsoft SQL Server
The Flow Information Platform requires a Microsoft SQL Server installation to serve the Flow Database ④. The Microsoft SQL Server edition installed depends on the Flow license size and number of years of data to be stored in the Flow System. Note that the Microsoft SQL Server installation files are not included with the Flow Information Platform installation files.
④ Flow Database
The Flow Database is used to structure, store and index the Flow System’s configuration and data. The Flow System will automatically maintain its database (i.e. index rebuilding, etc.) but note that Flow Database backups and disaster recover procedures remain the responsibility of licensee.
⑤ Flow Platform
The Flow Platform is responsible for the startup, management and communication of components deployed to it (e.g. Flow Engines ⑥, etc.).
⑥ Flow Engines
The Flow Data Engine is the primary data collection, calculation, aggregation and evaluation component of a Flow System. More than one Data Engine can be deployed in a Flow System for load-balancing purposes. Data Engines are responsible for the following:
- Creating time periods against which data is collected, calculated and aggregated. These time periods are generated according to the Flow calendar definitions. For more information on configuring Flow calendars, see section XXX.
- Accessing configured Data Sources ⑦ to automatically query and retrieve information from other systems. For more information on available Data Sources, see section XXX.
- Performing “rollup” aggregations.
- Performing calculations.
- Evaluating information against targets or limits.
- Generating event periods based on data retrieved from other systems via the Data Sources.
- Collecting attribute information (e.g. product, batch, shift team, work order, etc.) relating to event periods in order to provide additional context.
The Flow Message Engine is the primary notification component of a Flow System. It will automatically package and send any messages that are configured. Once a message is packaged by the Message Engine, it is passed on to a Notification Service (e.g. email, SMS, Slack, Flow Mobile, etc.) for distribution to it configured recipients. A message can contain a combination of Flow KPI information as well as charts and dashboards. Flow Mobile ⑧ is a Notification Service built specifically for users to receive information via their mobile devices, either iOS or Android. For more information on available Notification Services, see section XXX.
The Flow Integration Engine is the primary integration component of a Flow System. It is used to automatically push Flow information into other systems via Flow Data Consumers (e.g. SQL, MQTT, Flow, etc.). The Integration Engine can be used, as an example, to send Flow KPI information up to an ERP System, or even down to a SCADA System. For more information on the available Data Consumers, see section XXX.
The Flow Server is the primary user portal component of a Flow System. It is used to serve data visualization and analytics to Flow users via web browsers. It is used to server Flow Forms to users via web browsers to enable the manual entry of data into a Flow System. For more information on the Flow Server, see section XXX.
Flow Tiered Deployment Architecture
A powerful use case for Flow is the collection of information from multiple production sites into one Head Office (or Regional Office) Flow System for comparison, benchmarking and production planning purposes. Flow handles this requirement through the Flow Tiered Deployment Architecture providing information at all levels within an organization (i.e. Enterprise Information Platform).
The “Site” level Flow Systems will push information up to the “Head Quarters” Flow Systems as and when that information is available. Similarly, Flow will also “push” any user commentary up to the “Head Quarters” Flow System. This ensures decision support context for all information is available at all levels.
Where template configuration is used within an organization’s Flow Systems, the tiering architecture allows for templates to be developed and maintained at the “Head Quarter” level systems, and then pulled down to the “Site” level systems. This allows for rapid rollout of KPI systems, as well as standardization across an organization’s sites.
In this architecture, Flow becomes the “standard” information layer across an organization’s production sites, even if they have disparate control systems or data sources.
Note that there is practically no limit to the number of “tiers” a tiered architecture could have. For example, a third tier could be added to the above architecture, one for a Global Head Office that collects information from multiple Regional Offices.
For more information on configuring Flow Tiering, see section XXX on the Flow Integration Engine and Flow Consumers.