Dieses Beispiel einer Verbindung eines ausführbaren BPMN-Prozesses mit RPA (Robotic-Process-Automation) hatte ich vor längerer Zeit schon einmal erstellt. Wie in diesem Blogbeitrag beschrieben, hatte ich das BPM-System „Bonita“ mit dem RPA-System „UIPath“ verbunden. Im Laufe der Zeit sind neue Versionen erschienen und mittlerweile funktionieren meine Beispiele nicht mehr mit der aktuellen UIPath-Version. Da das Handling von UIPath etwas umständlich ist, wenn man nur ein oder zwei Mini-Beispiele umsetzen möchte, habe ich stattdessen nun die kostenlose Version von Microsoft Power Automate verwendet. Damit ist es recht leicht möglich, einfache Automatisierungen zu erstellen, die nur auf dem eigenen Desktop laufen sollen. In der kostenlosen Version gibt es einige Einschränkungen, die für das hier vorgestellte Beispiel aber nicht problematisch sind.
In dem betrachteten Szenario sollen Aufträge, die in Form von Exceldateien vorliegen, in einem ausführbaren Prozess verarbeitet werden. Hierfür ist es erforderlich die Daten aus der Excel-Datei in den Prozess zu übernehmen. Ohne RPA müssten sie manuell erfasst werden. Diese Aufgabe wird nun von dem Bot übernommen. Er liest die Excel-Datei ein, wandelt die Daten in eine geeignete Struktur um, loggt sich in das BPMS ein, startet dort den Auftragsverarbeitungsprozess und übergibt ihm die Auftragsdaten.
Der gesamte Ablauf mit der Modellierung der RPA-Automatisierung und dem Aufruf des BPMS wird im folgenden Video gezeigt:
Wie bereits im ursprünglichen Beitrag beschrieben, hat die gezeigte Lösung einige Nachteile. So müssen beispielsweise die Daten in der Excel-Datei genau der vorgegebenen Struktur entsprechen, damit keine Fehler auftreten. Wesentlich besser wäre es, wenn die Daten direkt ins BPMS eingetragen würden, beispielsweise über eine mobile App. Oder die Kundenunternehmen würden die Daten direkt über eine richtige Schnittstelle anliefern.
Lässt es sich aber kurzfristig nicht ändern, dass die Aufträge als Excel-Dateien bereitgestellt werden, so kann der RPA-Einsatz eine schnell umzusetzende Lösung für die Erfassung sein.
Downloads und Anleitung
Um die Beispiele selbst nachvollziehen zu können, sind grundlegende Kenntnisse über Bonita und Power Automate erforderlich, wie sie beispielsweise in den folgenden Tutorials vermittelt werden:
- Bonita – Getting started: https://documentation.bonitasoft.com/bonita/latest/getting-started/getting-started-index
- Bonita Camp: https://community.bonitasoft.com/bonita-camp
- Get Started with Power Automate for Desktop -Training: https://learn.microsoft.com/en-us/training/paths/pad-get-started/
- Power Automate Desktop Tutorial for Beginners: https://www.youtube.com/watch?v=Y35ZJs16APQ
Hier sind die fertigen Projektdateien zum Download:
Die zip-Datei erhält die Bonita-Projektdatei mit der Endung .bos, Textdateien mit den Definitionen der in Power Automate benötigten „Flows“ und „Subflows“, sowie zwei Excel-Dateien mit Beispielen für Auftragsdaten.
Die .bos-Datei wird in Bonita (ab Version 2023.2) in ein neues Projekt importiert. Anschließend werden Organisation, Business Data Model und der Prozess deployed.
In Power Automate Desktop muss folgendes gemacht werden:
- Neuen Flow mit dem Namen „Start Bonita Process“ anlegen.
Es öffnet sich der Editor. Nun kopiert man den Text aus „StartBonitaProcess.txt“ und fügt ihn in den Editor ein. Der Flow wird in Blockdarstellung angezeigt. - Im Tab „Subflow“ nacheinander die folgenden Subflows anlegen:
– ReadExcelFile
– ConvertOrderToJSON
– ConvertDate
– TransferOrderToBonita
Die Bezeichnungen müssen genauso geschrieben werden wie angegeben. Dann werden in Power Automate keine Fehler mehr angezeigt. Am oberen Rand ist nun für jeden Subflow ein Tab zu sehen. - Zum Tab „ReadExcelFile“ wechseln.
Den gesamten Text aus der Datei „ReadExcelFile.txt“ kopieren und in PowerAutomate einfügen. - Auf dieselbe Weise die Inhalte der anderen Dateien in die entsprechenden Subflows kopieren.
- Speichern.
- In den Tab „Main“ wechseln und auf „Ausführen“ klicken.