Bots EDI Translator als Open Source Middleware

Im Zeitalter der Digitalisierung ist es immer wichtiger, die Kommunikation zwischen Unternehmen oder/und Behörden auch digital werden zu lassen. Diese haben jedoch die verschiedensten (ERP-) Systeme. Damit diese untereinander kommunizieren können, ist eine sog. Middleware empfohlen, welche die Übersetzung übernimmt.

Dafür gibt es bereits fertige Lösungen von namhaften Firmen, die jedoch häufig kostenintensiv sind. Viele mittlere und kleine Unternehmen und auch manche große Player können oder wollen sich das nicht leisten. Unser Lösungsvorschlag ist die Verwendung einer Open Source Software, wie Bots EDI Translator (im folgenden kurz Bots).

In diesem Beitrag erklären wir am Beispiel einer Ausgangsrechnung Schritt für Schritt, wie wir Bots in unser (ebenfalls Open Source) ERPNext-System integriert haben:

Schritt 1: Erstellung einer Custom App zum Datenexport im ERPNext

Um die Daten zu verschicken, müssen sie erstmal aus dem ERP System geschrieben werden. Dieser Weg ist für die verschiedenen ERP Systeme unterschiedlich. Für SAP R/3 | S/4 müssten entsprechende Userexits ausgeprägt werden, um eine strukturierte Datei zu erstellen und auf dem Server abzulegen.
In ERPNext ist dazu eine sogenannte Custom App nötig, da die Funktionen zum Export bei Serverskripten aus Sicherheitsgründen sehr limitiert sind. Beispielsweise stehen Befehlen zum Schreiben von Dateien nicht zur Verfügung.

Schritt 2: Definieren der Eingangsstruktur für Bots

Die Definition der (Eingangs-)Struktur, auch Grammar genannt, sieht im Auszug wie folgt aus:

Schritt 3: Definieren der Ausgangsstruktur für Bots

Auch die Ausgangsstruktur muss angelegt werden. Im Fall von edifact-Format gibt es jedoch schon vordefinierte herunterladbare Strukturen. Das erspart viel Zeit und senkt den Projektumfang und die -kosten.

Schritt 4: Erstellung eines mapping-Scripts für Bots

Das mapping-Script ist das Kernstück des Bots EDI Translators. Hier wird jedes einzelne Feld überführt in die Ausgangsstruktur. Dazu können einfache Zuweisungen verwendet werden. Ein grafisches Mapping-Tool gibt es nicht, aber wie man an folgendem Ausschnitt erkennt, sind dafür keine tiefen Programmierkenntnisse notwendig:

Schritt 5: Einrichtung von Routen, Channel, Übersetzungsregeln und User Code Typen

Über die Bots-Oberfläche (Web-Oberflächen) kann man die oben erstellten Skripte zusammenführen und weitere wichtige Einstellungen vornehmen, sowie die Ausführung überwachen.

Hierzu wird eine Route erstellt, die im Wesentlichen einen Eingangskanal, eine Übersetzung und einen Ausgangskanal enthält. Die Übersetzung enthält wiederum einen Eingangstyp, ein mapping-Skript und einen Ausgangstyp.

Channel enthalten eine Richtung (in/out) und einen „Kommunikations“-Typ. Im Falle des Typs: Datei zudem unter anderem noch einen Dateipfad und eine erwartete Dateiendung.

Schritt 6: Bots Engine ausführen (manuell und als Job)

Um einen Verarbeitungslauf zu starten, gibt es zwei Optionen.

  • Manuell kann man einen Lauf über den Bots-Webserver im Menü starten.
  • Für eine produktive Nutzung macht es jedoch mehr Sinn einen Lauf periodisch einzuplanen. Dazu kann unter Linux ein Cronjob mit /.local/bin/bots-engine erstellt werden. Unter Windows wird die ausführbare Datei „bots-engine“ in eine Aufgabe (Aufgabenplanung) eingestellt.

Ist ein Lauf beendet, so kann das Ergebnis mit eventuellen Fehlern wieder im Bots-Webserver unter „All runs” eingesehen werden.

Die hier beispielhaft dargestellte Verarbeitung einer Ausgangsrechnung aus ERPNext ist nur eine von vielen Möglichkeiten, deren Einrichtung möglich ist. Durch den Open Source Ansatz entfallen Lizenzkosten, die sich bei vielen neueren Systemen ja sogar an der Anzahl der übertragenen Nachrichten richten können!

Wir unterstützen Sie gern dabei, Ihre Geschäftspartner kostengünstig aber qualitativ hochwertig und robust anzubinden.