Integrationflows

Integrationsflows erlauben es Datenpakete aus niotix an ein Drittsystem zu übertragen. Zusätzlich können die zu übertragenden Datenpakete vor der Übertragung gefiltert und transformiert werden. So können die relevanten Datenpakete in dem vom Drittsystem benötigten Datenformat übertragen werden.

Grundsätzlich können in einem Integrationsflow, die folgenden Daten verwendet werden:

  1. Jedes empfangene Datenpaket eines eingehenden Konnektors.
  2. Jede Änderung an einem Datenpunkt eines virtuellen Gerätes.
  3. Jede Änderung eines Datenpunktes eines digitalen Zwillings.

Hierbei werden für einen Integrationsflow zunächst alle erzeugten Daten für den jeweiligen Account berücksichtigt. Um nur die benötigten Datensätze weiter zu verarbeiten, können Filter (4) definiert werden, um diese beispielsweise auf die erzeugten Daten eines digitalen Zwillings oder Konnektors einzuschränken (siehe Kapitel “Filter”). Zusätzlich ist es möglich die Daten vor der Weiterleitung über einen Konnektor zu transformieren (5). Dabei können Daten in die gewünschte Struktur oder Datenformat gebracht werden (siehe Kapitel “Transformationen”). Am Ende eines Integrationsflows können ein oder mehrere ausgehende Konnektoren (6) für die Weiterleitung der Daten ausgewählt werden.

Einen Integrationsflow anlegen

Im Navigationspunkt Integrationen > Integrationsflows den den Button “Anlegen” verwenden, um einen neuen Integrationsflow anzulegen. Es öffnet sich der folgende Dialog:

Wichtig: Es ist das erwartete Datenformat des ausgehenden Konnektors zu beachten. Das niotix backend liefert hier im default das Datenformat “generic”. Sollen die Daten, z.B. an einen Webservice weitergeleitet werden, welcher JSON erwartet, so muss vor dem Schritt in dem die Daten an den Connector weitergeleitet werden eine Transformation stattfinden. Hierzu einfach eine Transformation mit dem dem Eingabe-Typ “generic” und dem Ausgabe-Typ “application/json” anlegen und in den Integrationsflow einbinden.

  • Name: Vergebe hier einen eindeutigen Namen
  • Auslöser: Hier ist auszuwählen welche Art von Datenstream von dem Integrationsflow berücksichtigt werden soll, es gibt folgende Optionen:
    • BEFORE STATE-HANDLING: berücksichtigt den unveränderten Datenstream der Konnektoren im Account. Diese Option sollte gewählt werden, wenn die unveränderten Rohdaten weitergeleitet werden sollen. Dabei ist zu beachten, dass diese in diesem Fall keine Metainformationen, wie beispielsweise dtwin_id zur Verfügung stehen.
    • AFTER STATE HANDLING: Hier werden alle Veränderungen eines virtuellen Gerätes oder digitalen Zwillings als Auslöser des Integrationsflows verwendet. Dabei stehen auch Metainformationen, wie beispielsweise die dtwin_id zur Verfügung.
  • Integrationsflow Schritte: Über dieses Dropdown können Filter, Transformationen und Konnektoren zu einem Integrationsflow hinzugefügt werden.
  • Reihenfolge: Definiert die Reihenfolge der Schritte eines Integrationsflows. Der letzte Schritt eines Integrationsflows muss ein Konnektor sein.

Übersicht der für Integrationsflows verfügbaren Konnektoren

Es können folgende ausgehende Konnektoren für Integrationsflows verwendet werden:

  • MQTT Broker
  • Websocket
  • Webhook (Outgoing)
  • MQTT (Outgoing)