Edge2Web Flow Server

Edge2Web Director is an easy to use tool for building web applications and interactive dashboards for Industrial IoT with minimal to no code. Its powerful Flow Editor makes it easy to build custom logic in the form of the flow chart and perform various functions like fetch data from Time Series using inbuilt connections, fetch Data from external REST endpoints, manipulate data and display transformed data in beautiful dashboards and graphs. But this flow is always executed on a client machine during runtime. In order to schedule or execute such flows on the server side so they can perform the logic in the background, we need to use Edge2Web’s new product FLOW SERVER.

Flow Server uses the same flow editor technology present in Edge2Web Director and it also uses the same built-in platform connectivity giving us instant bi-directional access to existing MindSphere data and analytical services.

What is a Flow?

A Flow comprises a group of Steps / Blocks each having a function and together executing a complex custom logic. It can have inputs from external sources (from where the Flow was called for execution), temporary variables (used within the flow) and Outputs (which will be passed back to wherever the Flow was triggered)

A Flow is executed by the Client when it is in the current context in the browser. It could be the page where the Flow is being called from or a button click which triggers the flow.

The above image shows a basic flow that fetches data from a REST endpoint and plots a Line Chart.

  • The start step initiates the Flow. This is where we configure our Input Data Objects, Output Data Objects other temporary variables.
  • Connection Step is used to fetch Data from a REST Endpoint. It is a prebuilt connection where we have already made all the necessary configurations using SWAGGER as to what is the Hostname, Endpoint, Authentication mechanism, and timeout.
  • Assign Step is used to convert the REST API output which is a JSON String into an object which can be used by Edge2Web to plot a Time Series Line chart. This can be achieved using a simple Javascript code snippet in the Assign Step.
  • We pass the Output as a Data Object containing all necessary data for the Time Series Line chart to be Plotted.

Time Series

What is the need for Flow Server?

Flow Server facilitates the server-side execution of flows which are created in the Flow Editor within the Edge2Web Director so that they can perform background tasks that require no UI. It can be scheduled to run for a frequency and requires no trigger (like a page or a button). It also does not require any client involvement and is independent of the web application created within a director. It is a robust and reliable solution to perform repetitive background tasks and removes the performance overhead if such flows were executed within the browser context on the client-side.

Application

  • Flow server can be used to fetch data periodically from Time Series Database or external REST Endpoints and perform any sort of sanitization and filtering of such data and store it in another Time Series DB for further usage.
  • Flow server can be used to perform aggregation and other operations on the data fetched from MindSphere and store the results in a new Time Series Aspect.
  • Monitoring critical events and then triggering Alerts and Notifications in case of any pre-configured alert situation. This use case is paramount in an Industrial IoT application.
  • Drive multi-step analytical pipelines.
  • Integrating MindSphere with enterprise applications (e.g., ERP), process flows, and datastores.

Flow Logs

Flow server also captures the logs during the execution of scheduled flows with its Inputs, Outputs and Errors if any providing meaningful details in case of any failure while executing the flow logic.

keyboard_arrow_up