Power Platform und Axon Ivy im Vergleich

In einer schnelllebigen und digitalisierten Welt punktet Low-Code- und No-Code-basierte Programmierung durch kurze Entwicklungs- und Einarbeitungszeiten, sowie intuitiver Umsetzung. Anwendungen und Prozesse müssen so nicht von Grund auf neu konzipiert werden, sondern können per Drag-and-Drop, der Konfiguration vorgefertigter Elemente und etwas Code geschaffen werden.

In unserem heutigen Blogbeitrag möchten wir uns vor allem auf Low-Code-basierte Programmierung in den Bereichen Prozessautomatisierung und Applikationsentwicklung fokussieren und einen Vergleich zwischen der Power Platform (https://prodato.de/technologien/power-platform/) und Axon Ivy (https://prodato.de/technologien/axon-ivy/) vornehmen, welche unter anderem ebendiese Bereiche mit ihrer angebotenen Funktionalität abdecken. Ziel ist es auf die individuellen Vorteile der beiden Technologien einzugehen, aufzuzeigen wie sie sich in ihren Stärken unterscheiden und mögliche Use Cases zu beleuchten.

Stärken der Power Platform

Die Microsoft Power Platform­­­­ – bestehend aus Power Apps, Power Automate, Power BI, Power Pages und Power Virtual Agents ­– versteht sich als gesamtheitlicher Service, mithilfe dessen IT-Anwendungen, unter anderem bestehend aus Applikationen, automatisierten Workflows und Datenvisualisierungen, erstellt werden können. In unserem heutigen Blogbeitrag möchten wir uns auf Power Apps und Power Automate konzentrieren, da diese den Bereichen der Prozessautomatisierung und Applikationsentwicklung zugeordnet werden können und damit mehr thematische Nähe zu Axon Ivy aufweisen.

Intuitive Handhabung

Bei der Ausarbeitung erster Anwendungen und Prozesse in Power Apps und Power Automate ist auffällig, wie viel ohne die Einarbeitung von Code bereits implementiert werden kann. In Power Apps werden die entsprechenden Einzelkomponenten wie Schaltflächen, Formulare oder Textfelder per Drag-and-Drop innerhalb des Screens platziert und hinsichtlich ihrer Länge und Breite angepasst. Die Konfiguration weiterer Eigenschaften wie der Farbe des Elements oder dem Schriftfont sowie der Aufsetzung einer Datenbankverbindung können ebenso ohne Programmierkenntnisse vorgenommen werden und geben der Applikation Struktur.

Benötigt wird die microsofteigene Low Code Sprache Power Fx erst bei der Einarbeitung der Applikationslogik. Hierzu wird zunächst das Element angewählt, welches mit Logik ausgestattet werden soll und anschließend die Kategorie ausgewählt, welche der User bearbeiten möchte. Ein Beispiel einer solchen Kategorie wäre „On Select“, innerhalb welcher festgelegt werden kann, was beim Anklicken der jeweiligen Komponente geschehen soll. Nach Auswahl ebendieser Kategorie wird der Code im hierzu vorgesehenen Textfeld platziert. Dadurch, dass viel Funktionalität ohne Code eingearbeitet werden kann und der Code zunächst einer Elementkategorie zugewiesen werden muss, wird der Programmieraufwand minimiert und der Entwicklungsprozess vereinfacht.

Ähnlich verhält es sich mit dem Prozessautomatisierungstool Power Automate, innerhalb welchem man in den meisten Anwendungsszenarien ganz ohne Code auskommt und die einzelnen Prozessschritte per Drag-and-Drop untereinander platziert. In jedem dieser Prozessschritte kann der User hierbei aus einer großen Auswahl an bereitgestellten Aktionen wählen und diese anschließend dem Use Case entsprechend konfigurieren.  So können beispielsweise SharePoint-Listen ausgelesen, Word-Dokumente erstellt oder E-Mails in Outlook versendet werden. Auch kann im Prozess festgelegt werden, wann die Ausführung des Prozesses geschehen soll: Unter Auftreten eines festgelegten Triggers (wie dem Eintreffen einer E-Mail), zeitlich wiederkehrend zu einer bestimmten Uhrzeit oder nur im Falle eines expliziten Aufrufs durch den User.

Inter- und Intrakonnektivität

Einer der größten Vorteile der Power Platform liegt in der Intrakonnektivität der Einzelanwendungen Power Apps, Power Automate, Power BI, Power Pages und Power Virtual Agents untereinander sowie der Einfachheit, mit welcher weitere gängige Microsoft Programme wie Microsoft Teams, Outlook, Excel, SharePoint oder Word an die Plattform angeschlossen werden können. Dies erlaubt es dem User die Funktionalität der Einzeltools zu kombinieren und so größere Anwendungen zu kreieren, die nicht nur aus einer Applikation bestehen, sondern zusätzlich Prozesse, Visualisierungen, Datenspeicherungsmöglichkeiten und ähnliches umfassen. Der Zusammenschluss der Einzeltools ist hierbei dank passender, bereits vorhandener Konnektoren ohne technisches Know-how und der Nutzung von Code möglich. Beispielsweise kann eine Power App an eine SharePoint-Liste angeschlossen werden und dort neue Einträge generieren, welche wiederum von einem Power Automate Flow genutzt werden können, um Word-Dokumente zu befüllen und herunterzuladen. Alternativ könnten die übermittelten Informationen in ein E-Mail-Template eingefügt und an eine bestimmte Adresse versandt werden.

Die Nutzung der Power Platform bietet sich vor allem dann an, wenn bereits Microsoft 365 innerhalb eines Unternehmens genutzt wird und Business Prozesse automatisiert werden sollen, die mit Microsoft 365 Anwendungen in Verbindung stehen. In diesem Fall kann die vorhandene digitale Infrastruktur weiterhin wie gewohnt genutzt und nur punktuell erweitert werden, ohne grundsätzliche Abläufe und Arbeitsweisen zu verändern. Beispielsweise können so Excel-Daten direkt als Datenquelle einer Power App dienen, sodass nicht zusätzlich eine Datenbank aufgesetzt, konfiguriert und mit den entsprechenden Daten befüllt werden muss, ehe die Applikation erstellt werden kann. Dies minimiert den Zeit- und Entwicklungsaufwand weiter.

Die Axon Ivy Plattform

Axon Ivy bietet eine einheitliche Plattform für No-Code-, Low-Code- und Full-Stack-Entwicklung. Die offene Architektur ermöglicht die Zusammenarbeit durch die Verwendung von Bibliotheken, wiederverwendbaren Teilprozessen, Datenstrukturen und Dialogen und fördert so die Effizienz und Teamarbeit. Die Plattform unterteilt sich in den Designer, die Engine und das Portal, wie in folgender Grafik veranschaulicht:

Das Portal und No-Code Entwicklung mit Axon Ivy Express

Das Portal ist von beliebigen Endgeräten aus über eine Webseite erreichbar. Dort können Nutzer:innen mit den Anwendungen und Prozessen, die auf der Engine laufen, interagieren. Visuell ansprechende Dashboards können an verschiedene Nutzergruppen zweckgemäß angepasst werden. Eines der Standard-Dashboards ist das Aufgaben-Dashboard: dort können alle Aufgaben eingesehen werden, die im Rahmen eines Prozesses bzw. Vorgangs anstehen, wie z. B. ein Genehmigungs-Schritt. Über das „Vorgänge“-Dashboard können alle aktuellen bzw. vergangenen Vorgänge eingesehen werden. Hier erhält man auch Informationen darüber, wie weit ein Vorgang bzw. Prozess momentan ist und welche Nutzer:innen ggf. noch involviert sind.

Außerdem ist über das Portal der sogenannte Axon Ivy Express nutzbar. Dieser bietet Endanwender:innen die Möglichkeit, einen Prozess als Web-Anwendung komplett ohne Code zu realisieren:

  1. Zuerst wird der Prozess fachlich definiert, d. h. es wird festgehalten, wie viele Prozessschritte es insgesamt gibt und welche Nutzergruppe bzw. welcher Nutzer in jedem Prozessschritt welche Aufgabe starten kann.
  2. Anschließend wird für jeden Prozessschritt je ein Webformular gestaltet. Dazu stehen verschiedene vorkonfigurierte grafische Elemente zur Auswahl, die per Drag-and-Drop an die gewünschte Stelle im Webformular platziert werden können. Das sind z. B. Eingabefelder für Zahlen, Text und Datumsangaben. Aber auch (Mehrfach-)Auswahl-Felder oder Buttons für Dateiupload können auf einfachste Weise hinzugefügt werden.

Sobald ein Prozess mit Axon Ivy Express fertiggestellt wurde, kann er entweder direkt im Portal gestartet werden oder in den Designer importiert und dort mit Axon Ivy‘s Low-Code Werkzeugen ergänzt werden, um beispielsweise Drittsysteme anzubinden oder komplexere Funktionen zu realisieren.

Intuitive Low-Code Entwicklung über den Designer im Front- und Back-End

Axon Ivy verfolgt einen Nutzer-Dialog-Ansatz, der dem Model-View-Controller (MVC) Design Pattern folgt. Neben den Prozessdaten (= Model) wird ein XHTML-Formular (= View) benötigt, in dem das äußere Erscheinungsbild des Nutzerdialogs bzw. Webformulars definiert ist. Für jeden Nutzerdialog gibt es wiederum einen zugehörigen Dialog-Prozess, in dem das Verhalten des Webformulars modelliert wird (= Controller). Im Folgenden gehen wir auf alle drei Bestandteile im Hinblick auf die Low-Code Unterstützung ein:

Für die Modellierung der Prozessdaten (= Model) gibt es einen übersichtlichen Datenklassen-Editor, in dem für eine Datenklasse jeweils zeilenweise ein Attribut samt Namen, zugehörigen Datentyp und Beschreibung festgelegt werden kann. Nach einem Klick auf Speichern werden im Hintergrund automatisch Java-Datenklassen erstellt.

Wenn beispielsweise die Prozessdaten per Mausklick auf einen Webformular-Button weiterverarbeitet werden sollen, müssen im Prozess-Editor geeignete Methoden oder Events modelliert werden, die das gewünschte Verhalten steuern. In der Prozesspalette stehen uns dazu verschiedene BPMN-2.0-konforme Elemente zur Auswahl, die per Drag-and-Drop miteinander verbunden werden. Auch Datenbanken, Webservices oder selbst geschriebene Subprozesse lassen sich über die Prozesspalette einbinden. Über diesen modellbasierten Prozess-Editor können somit sowohl fachliche Prozesse BPMN-konform abgebildet als auch die technische Logik hinter den Nutzerdialogen umgesetzt werden (= Controller).

Für die Gestaltung der grafischen Benutzeroberfläche (= View) gibt es im Designer einen zweigeteilten Editor: 1) Im Vorschau-Fenster können eigene bzw. von Axon Ivy vorkonfigurierte grafische Komponenten per Drag-and-Drop an geeignete Stellen im Web-Formular platziert werden. Die grafischen Elemente können per Mausklick mit den entsprechenden Prozessdaten bzw. Methoden aus dem Dialog-Prozess verknüpft werden. 2) Alternativ kann direkt im XHTML-Code-Editor programmiert werden. Mittels der Java Expression Language werden Prozessdaten und Methoden aus der Prozess-Logik eingebunden.

Darüber hinaus ermöglicht der in den Designer integrierte Webbrowser eine unkomplizierte Live-Prozess-Simulation der aktuell entwickelten Anwendung.

Außerdem lassen sich verschiedenste Konfigurationen entweder über entsprechende grafische Editoren oder über Modifikation von YAML-Dateien vornehmen. Mit ein paar Mausklicks kann beispielsweise ein hierarchisches Rollenkonzept im Designer erstellt werden. Wenn einzelne Geschäftsprozesse nur für bestimmte Nutzer:innen/Gruppen ausführbar sein sollen, kann im Prozess-Editor per Mausklick die Start-Berechtigung über die zuvor definierten Rollen einfach eingestellt werden.

Mehr als Low-Code: Full-Stack Development im Designer

Der Designer basiert auf der Eclipse-IDE und bietet damit nicht nur für Low-Code-Applikationen, sondern auch für Full-Stack-Development eine ausgereifte Entwicklungsumgebung.

Komplexe Anforderungen, die allein mit Low-Code-Funktionalitäten nicht mehr realisierbar sind, können über eigene Java-Programmierungen innerhalb des Designers erfüllt werden. Jeder Prozess, der mit AxonIvy erstellt wird, wird im Hintergrund auf der Festplatte im JSON-Format abgespeichert. Um den Überblick zu bewahren, lassen sich Axon Ivy Projekte z. B. über die Git-Integration des Designers versionieren. Was agile Entwicklung angeht, kann Axon Ivy zudem mit einer Deployment-Pipeline (CI/CD), Autobuild-Infrastruktur und Testautomatisierung punkten.

Leistungsstarke Prozess-Engine

Die Engine ist der Ort, an dem die zuvor im Designer entwickelten Anwendungen/Prozesse in den Produktivbetrieb genommen werden. Die Engine selbst kann in verschiedenen Laufzeitumgebungen gestartet werden, nämlich unter (Debian) Linux, Windows oder als Docker-Container. Über das sogenannte Engine-Cockpit wird die Systemdatenbank angebunden und es ist das User-Management wie z. B. die Anbindung eines Active Directorys möglich. Ebenso findet man dort verschiedene Monitoring-Funktionalitäten für die Engine vor.

Die Nutzung von Axon Ivy bietet sich vor allem dann an, wenn größere Geschäftsanwendungen entwickelt werden, die beliebig erweiterbar sein sollen. Besonders hervorzuheben ist die BPMN-Integration im Low-Code Editor, welche nicht nur den Austausch zwischen Fachexperten und Entwicklern fördert, sondern auch zu einer universellen Verständlichkeit der entwickelten Prozesse beiträgt. Die offene Web-Architektur erlaubt die Nutzung von Bibliotheken, wiederverwendbaren Komponenten und ermöglicht, dass Anwendungen effizient und kostengünstig entwickelt werden können. Zu guter Letzt runden Moderne Laufzeitumgebungen sowie ein umfassendes Servermonitoring die Plattform ab, weshalb einer Skalierung auf große Geschäftsbereiche in verschiedensten Branchen nichts im Weg steht.

Wenn ihr euch noch nicht sicher seid, welche der beiden Technologien zu eurem Unternehmen am besten passen könnten oder ihr eine allgemeine Beratung rund um die Prozessautomatisierung in eurem Unternehmen wünscht, kontaktiert uns gerne!

Prodato verbindet.

Autor

Mariano Frohnmaier
Consultant

mariano.frohnmaier@prodato.de

Prodato verbindet.

Autor

Matei Ruta
Consultant

matei.ruta@prodato.de