Low-Code Apps mit Azure PowerApps und LogicApps

Heiss umkämpft und das Tagesthema schlechthin – Cloud Computing ist auch in diesem Jahr sicher ein brandaktuelles Thema für Unternehmen in der Schweiz. Microsoft bietet mit Azure eine Plattform und steht dabei unter anderem Amazon mit AWS und Google mit der Cloud Platform (GCP) gegenüber.

Dabei ist gerade Microsoft mit der engen Verknüpfung von Azure mit der kompletten Office 365-Suite in Unternehmen sehr beliebt. Und das darf auch so sein. Mit den PowerApps und LogicApps bietet Microsoft zudem zwei Möglichkeiten, damit auch weniger fundierte Apps entwickeln können. Beides sind sogenannte Low-Code-Lösungen wo wenig oder gar kein Code geschrieben werden muss. In diesem Blog-Beitrag untersuchen wir diese Möglichkeiten und zeigen auf, ob diese tatsächlich auch für diese Zielgruppe geeignet sind.

Schlussendlich zeigen wir eine kurze Demo einer PowerApp, welche eine LogicApp verwendet um Telefonnummern aus dem Telefonbuch abzufragen.

Was sind PowerApps und LogicApps?

Auch wenn die beiden fast gleich klingen und stark miteinander verknüpft sind, haben sie nicht sehr viel gemeinsam. PowerApps sind „Klick-Together-What-You-Get“-Oberflächen, welche Nutzer auch innerhalb ihres persönlichen Organisations-Accounts erstellen können (sofern sie die Lizenz dazu haben) und dabei später in den Account der Organisation transferiert werden können. Dabei können mit PowerApps graphische, webbasierte Oberflächen erstellt werden, welche dann auf Smartphones, Tablets oder Computer aufgerufen werden können. Ein einfaches Beispiel ist z.B. ein „Gipfeli-Tool“, welches zum Bestellen von Znüni im Unternehmen verwendet wird.

LogicApps sind sehr ähnlich, jedoch etwas mehr Low-Level. LogicApps sind, wie der Name andeutet, logikbasierte Prozesse welche im Browser modelliert werden können. LogicApps werden im Endeffekt über einen HTTP-Aufruf gestartet und können dann (fast) beliebige Aktionen ausführen.

PowerApps sind, unserer Einschätzung nach, schon ziemlich gut für den etwas fundierten Anwender gedacht. Allerdings ist es auch bei PowerApps nötig, etwas zu programmieren. Das sind zwar nur kleine Dinge wie „Was passiert, wenn ich diesen Button klicke“, doch auch dies setzt ein gutes Verständnis von der Logik und dem Ablauf einer Applikation zusammen. Jemand, der in Excel mit dem SVERWEIS zurecht kommt, sollte jedoch auch damit zurechtkommen.

LogicApps dagegen setzen mehr Kentnisse aus, da schon der (parametrisierte) Aufruf über die Weboberfläche an ein Mysterium grenzt. Da ist es einfacher zu Postman oder curl zu greifen – und schon ist man ziemlich im Low-Level-Bereich im Vergleich zu den PowerApps. Auch die Mutation der Daten (wir sehen in unserem Beispiel dann wie viele Schritte es in LogicApps von XML zu JSON braucht) ist ein komplexes Thema, welches den Durchschnittsanwender klar überfordert.

Demo: Telefonbuchabfrage als PowerApp

Unsere PowerApp: Die Suche nach „Global“ zeigt leider nicht uns zuerst…

Unser PowerApp ist im Prinzip einfach: Ein Eingabefeld, ein Button „Suchen“ und eine Ergebnistabelle. Auf die optisch Ansprechende Gestaltung haben wir einmal verzichtet. Der Klick auf „Suchen“ führt dabei eine LogicApp aus, welche das Telefonbuch (Search.ch) abgreift und den Suchbegriff dorthin weitergibt. Da Search.ch uns XML liefert und PowerApps lieber mit JSON arbeiten, müssen wir das XML noch ein wenig transformieren. Dabei extrahieren wir den „Titel“ aus dem XML und erstellen ein neues JSON-Objekt. Vermutlich ginge das noch schöner, was uns allerdings auch auf ein Problem von PowerApps und LogicApps aufmerksam macht: Es sind komplette Black-Boxes.

Die LogicApp: Abfrage an Search.ch (HTTP) und die 5 Schritte darauf für die Verarbeitung des XML.

Und wie weiter? Fazit.

In einem zweiten Schritt möchten wir unsere PowerApp noch erweitern, sodass wir mit einem Klick die Telefonnummer sowie die Anschrift der Resultate direkt in einem Excel in Sharepoint ablegen können. Das sollte gehen – Microsoft verspricht es zumindest.

Während der Implementation stossen wir auf die üblichen Probleme: gewisses Unwissen führt zur Konsultation der Dokumentation. Die Dokumentation ist teilweise nicht sehr ausführlich oder dann nicht sehr explizit auf Fragestellung bezogen. Das führt zu einem „pröbeln“. Für viele Aspekte benötigt es tatsächlich viel Erfahrung. Wird z.B. die LogicApp, welche als Datenquelle für die Tabelle (die Suchergebnisse) dient, angepasst, muss das Datenformat im Connector der PowerApp angepasst werden. Damit die PowerApp dies jedoch übernimmt ist es (meistens) notwendig, die Datenquelle erneut der PowerApp zuzuordnen. Leider lassen sich alte Verbindungen nicht aus der PowerApp entfernen, sodass man schnell eine Reihe von gleichen (aber doch nicht ganz gleichen) Datenquellen hat – welche sich dann auch alle noch gleich nennen.

Unser Fazit ist klar: PowerApps und LogicApps sind cool und sie bieten die Möglichkeit, schnell und einfach einen Prototypen hochzuziehen. Keine Server bestellen, minimale Kosten und geringe Integrationszeit. Innerhalb 1 bis 2 Tagen ist es möglich, demonstrationsfähige Prototypen für Use Cases im Unternehmen (sei es Lagerbewirtschaftung, Produktionsunterstützung oder ähnliches) abzubilden. Für ein Unternehmen, welches sich tagtäglich mit versionierter, dokumentierten und durchgetester Software befasst ist es allenfalls etwas unglücklick. In PowerApps und LogicApps gibt es immer nur den Zustand „jetzt“ und kein wirkliches „zurück“. Änderungen sind praktisch nicht nachvollziehbar.

Damit ist es unserer Meinung nach jedoch auch schon erledigt. Beide Tools sind teils starke Black Boxes und die Fehlersuche ist mühsehlig und anstrengend. Gewisse Funktionen sind nur schwer zu finden oder lassen sich teils nicht mehr rückgängig machen. Manchmal ist ein Teil der Aufgabe graphisch lösbar und ein weiterer Teil muss mit Code erledigt werden. Die graphische Oberfläche unterstützt einem dabei nur teilweise. Für die Entwicklung unseres Prototypen haben wir ca. 3h aufwendet. Ein fairer Aufwand. Für die Anbindung an Sharepoint erwarten wir nochmals gleich viel Aufwand.

Dennoch würden wir Unternehmen empfehlen, PowerApps oder LogicApps in Betracht zu ziehen. Gerade für das Prototyping, für die Verdeutlichung eines Business Cases oder zum explorativen Entwickeln (z.B. im Bereich Digitalisierung) sind die beiden Tools ganz klar the-way-to-go.

Wir sind für Sie da!

Falls Sie Interesse haben an einer Demonstration von PowerApps oder LogicApps sind wir gerne Ihr Partner. PowerApps und LogicApps eignen sich sehr gut um preiswerte Prototypen für Business Cases zu erstellen um dem Management auch zu zeigen, wie etwas funktionieren können. PowerApps und LogicApps können gute Tools sein, um die Digitalisierung anzustossen.