Microsoft Low Code Plattform: Teil1

Low-Code/No-Code oder Micro Web-App?

Alle sprechen von Low-Code und No-Code, von „Power-Apps in a day“ und davon, Software ohne ausgebildete Software-Entwickler und ohne grossen Aufwand einfach selbst zu entwickeln. Bei Allgeier setzen wir selbst Power-App und Power-Automate Lösungen ein und nutzen die Vorteile, rasch auf Business-Anforderungen reagieren zu können und flexibel zu sein.

In einer mehrteiligen Blog-Serie zeigen wir Ihnen die Vorteile und die Grenzen von Power-App und Power-Automate auf und für welche Szenarien welche Lösungen und Tools geeignet sind.

Dieser erste Beitrag widmet sich den Grenzen von Low- und No-Code und den Möglichkeiten und Vorteilen von Micro Web-Apps.

Low-Code eignet sich nicht für alles

Microsoft bietet mit der Power-Plattform einen der besten Low-Code-Werkzeugkästen, die es auf dem Markt gibt. Power-Apps sind zum Beispiel hervorragend geeignet, formularbasierte Anwendungen zu erstellen, die keine allzu komplexen Anforderungen an die Benutzeroberfläche stellen. Das Zusammenspiel mit Power-Automate ermöglicht auch ohne Programmierkenntnisse, Anforderungen umzusetzen, die z.B. auch Geschäftsprozesse mit automatisierten Genehmigungsverfahren beinhalten können. Auch das Zusammenspiel mit der Power-BI-Plattform und der möglichen Einbindung von künstlicher Intelligenz mit dem „AI Builder“ macht die Power-Plattform sehr attraktiv.

Grenzen der Power-Plattform

Sobald die Anforderungen komplexer werden, kann man jedoch auch an technische Grenzen stossen. Beispielsweise gibt es in Power-Apps keine Tree-Komponente, um Daten hierarchisch darzustellen. Man kann sich hier mit Tricks behelfen, in dem man Steuerelemente ineinander verschachtelt, aber dieser Workaround ist weder elegant und flexibel noch gut wartbar. Auch Datenmengen mit mehr als 500 Datensätzen können bei Power-Apps zu Problemen führen. Ein serverseitiges Partitionieren der Daten ist nicht immer einfach umzusetzen. Die Umsetzung von Responsive Layouts kann mitunter zu einer sehr zeitintensiven und anspruchsvollen Aufgabe werden. Bei Apps mit vielen Screens und Steuerelementen kann es zu Performance Problemen kommen. Zu guter Letzt darf nicht vergessen werden, dass auch Low-Code ein Stück Quellcode ist. Dieser Code ist zwar eher mit Excel-Formularen vergleichbar, kann mitunter aber auch komplex werden, beispielsweise wenn Formeln verhaltensabhängig verschachtelt werden müssen.

Andere Einschränkungen können schlicht lizenzbasiert sein. Lizenzen der Power-Plattform sind benutzerbasiert oder benutzerbasiert pro App. Die Kosten erhöhen sich linear mit der Anzahl der Benutzer, was bei vielen Benutzern und Premium-Lizenzen schnell ins Geld gehen kann. Die aktuellen Preise von Microsoft liegen bei 4,20 € pro Monat pro Benutzer und App oder bei 16,90 € pro Benutzer für beliebig viele Apps. Hinzu kommen ggf. zusätzliche Kosten für Premium-Features, beispielsweise um einer App Zugriff auf SQL-Server-Datenbanken oder REST-APIs zu ermöglichen.

Die Alternative – Micro Web-App

Was ist mit klassischen Web-Apps oder Web-Applikationen? Werden diese mittlerweile nur noch von grossen Nearshore- und Offshore-Teams entwickelt, weil die Entwicklung sonst zu teuer wäre?

Nein. Der Aufwand eine Web-App zu entwickeln, muss nicht höher sein als der für eine vergleichbare Low-Code-Anwendung. Natürlich sprechen wir hier nicht von großen Anwendungen mit Hunderten von Datenbanktabellen. Wir sprechen von „Micro Web-Apps“.

Unter «Micro Web-App» verstehen wir Anwendungen, die auf einen bestimmten Business-Teilbereich zugeschnitten sind. Typischerweise liegen Ihnen kleine Datenmodelle mit 10-20 Tabellen zu Grunde. Ein klassischer Anwendungsfall ist die Datenpflege. Die Daten können dabei sehr viel komplexer sein als beispielsweise in SharePoint-Listen. Während in SharePoint meist nur Listen mit Lookups verwaltet werden, können in Micro Web-Apps auch Baumstrukturen und n:m-Beziehungen problemlos abgebildet werden. Die übersichtliche Darstellung und die komfortable Eingabe und Validierung von Daten mit all ihren Regeln und Abhängigkeiten steht dabei meist im Vordergrund. Aber auch die Datenvisualisierung in Dashboards z.B. mit der Einbindung von Power-BI-Reports ist möglich. All dies mit modernsten Benutzeroberflächen, die responsive sind und sich somit also auch auf mobilen Geräten und Tablets gut bedienen lassen.

Natürlich hängt der Aufwand immer vom Anwendungsfall und von der Komplexität der Anforderungen ab. Mit einem Budget von rund 15‘000 CHF und einer Durchlaufzeit von nur 2 Wochen lässt sich schon vieles erreichen. In diesem Umfang haben wir beispielsweise für einen Kunden eine App entwickelt, mit der die Organisationsstruktur der Firma mit verschiedenen Abhängigkeiten und Regeln verwaltet werden kann.

Das Geheimnis ist hierbei, einen optimal abgestimmten „Werkzeugkasten“ für eine schnelle und agile Entwicklung zu verwenden. Frameworks wie z.B. Vuetify erlauben es, mit wenig Aufwand und ohne Designer-Kenntnisse ansprechende Benutzeroberflächen zu gestalten und sehr schnell umzusetzen. Serverseitig gibt es Frameworks, die den Datenzugriff für einfache Lade- und Speicheroperationen vollständig automatisieren können. Auch die Azure-Cloud hilft, Aufwand zu sparen, beispielsweise indem die Benutzerauthentifizierung durch Azure erfolgt und keine eigenen Login-Screens oder „Passwort-vergessen-Funktionen“ mehr implementiert werden müssen. Nicht zuletzt können auch SQL-Server-Datenbanken in der Azure-Cloud mit wenig Aufwand und geringen Kosten (ab ca. 10 € pro Monat pro App) bereitgestellt werden. Die Cloud ist zwar kein Muss, wir empfehlen unseren Kunden jedoch diesen Weg einzuschlagen.

Die Lizenzmodelle in der Cloud sind meistens „consumption-basiert“, somit wird nur die effektive Nutzung bezahlt, wodurch erneut Kosten gespart werden können.

Einsatzgebiete

Datenpflege

Wie bereits erwähnt sind Micro Web-Apps hervorragend für Anwendungsfälle geeignet, in denen es darum geht Daten zu pflegen.

Sie werden z.B. in Data-Analytics-Projekten eingesetzt, in denen die Daten in erster Linie ausgewertet werden. Häufig wird dabei auch eine Datenpflege benötigt, um Daten aus verschiedenen Datenquellen miteinander zu verknüpfen und ins Datawarehouse zu überführen.

Wir haben für einen Kunden eine Web-App entwickelt, mit der Excel-Dateien mit Buchhaltungsdaten validiert und hochgeladen werden. Diese Daten werden dann in einer Azure-SQL-Datenbank überführt und später auch im Datawarehouse ausgewertet.

Hinzu kam eine Mapping-Funktionalität, mit der die Buchungskonten von einem System in das andere gemappt werden kann. Die hierarchische Darstellung der Konten und das schnelle Suchen der Konten über alle Hierarchien hinweg war hierfür eine wichtige Anforderung.

Für einen anderen Kunden haben wir eine Web-App entwickelt, mit der die Organisationsstruktur des internationalen Vertriebs mit ihren Standorten und unterschiedlichen Personenzuteilungen verwaltet werden kann. Auch dieses Projekt entstand im Rahmen eines Data-Analytics Projekts.

Micro Web-App
Abbildung 1: Micro Web-App mit Responsive UI für den Desktop und auf dem mobile Device

Dashboards

Auch Dashboards, die schnell und direkt einen Überblick zu Geschäftsprozessen und Statistiken geben, lassen sich sehr gut mit Micro Web-Apps abbilden. Besonders interessant ist hier die Verwendung von Power-BI-Embedded, der Einbettung von Power-BI-Reports. Hier lassen sich ganze Reports oder auch nur Teilbereiche (Visuals) von Reports direkt in die Micro Web-App integrieren. Auf diese Weise kann auch eine andere Lizenzierung verwendet werden. Während in einer normalen Power-BI-Umgebung jeder Benutzer separat lizenziert werden muss, errechnen sich die Kosten in einer Power-BI-Embedded-Lösung an der Nutzung der notwendigen Rechenleistung. Wenn das Dashboard von vielen Benutzern verwendet wird, kann dies die wesentlich günstigere Variante sein.

Wenn die Micro Web-App, sowohl für die Datenpflege als auch für die Visualisierung von Reports verwendet wird, erhält man eine durchgängige und angenehme User-Experience.

Ablösung von Excel-Lösungen

In vielen Firmen werden häufig Excel-Sheets verwendet, um auf unbürokratische Art und Weise dezentrale Daten zu pflegen und weiterzuverarbeiten. Diese Excel-Sheets neigen dazu, mit der Zeit immer komplexer zu werden. Häufig erweitert sich auch der Benutzerkreis dieser Excel-Sheets, so dass es passieren kann, dass Daten gleichzeitig von unterschiedlichen Benutzern bearbeitet werden. Dies kann zu Abstürzen und Dateninkonsistenzen führen.

Wir empfehlen daher zu prüfen, ob diese Excel-Lösungen nicht in eine Micro Web-App überführt werden sollte. Häufig kann man in diesem Zusammenhang auch die User-Experience und der gesamte Prozess verbessert werden.

Komponenten wie „AG Datagrid“ ermöglichen eine User-Experience, wie aus Excel gewohnt, d.h. die Dateneingabe gestaltet sich wie bei Excel, obwohl es sich um eine Web-App handelt.

Micro Web-App_2
Abbildung 2: Micro Web-App mit Excel-like UX mit „AG Datagrid“

Prototyping

In der Praxis kommt es immer wieder vor, dass Prototypen benötigt werden, mit denen sich die Benutzer einmal durch einen Prozess klicken können, um diesen besser beurteilen zu können. Häufig werden hierfür Mockup-Tools verwendet, die jedoch keine angenehme User-Experience bieten und mit Dummy-Daten „befüttert“ werden müssen.

Wenn ein schneller Prototyp mit einem modernen User-Interface benötigt wird, kann es daher Sinn machen, gleich eine Micro Web-App zu entwickeln, die etwas mehr kann als ein reiner Click-Dummy-Prototyp. Der Prototyp kann dann weiterentwickelt oder sogar sofort in der Praxis verwendet werden.

 

Mobile App

Micro Web-Apps können auch als „Progressive Web-App“ konfiguriert werden. Auf diese Weise ergibt sich die Möglichkeit, die App so auf dem Mobile Device hinzuzufügen, als würde sie durch den App-Store verteilt. Die Anwendung erhält ein eigenes Startsymbol, lässt sich starten wie eine Native App, die URL-Zeile wird unsichtbar und die Anwendung fühlt sich auch an wie eine Native App. Es lassen sich auch Offline-Daten verarbeiten. Und all dies ohne aufwändigen Bewerbungsprozess für den Apple-Store oder den Google Playstore. Dies ist ideal für Anwendungen, die nicht weiterverkauft, sondern betriebsintern genutzt werden.

Integration in Teams

Micro Web-Apps können auf einfache Art und Weise in Teams integriert werden. Benutzer sehen die Anwendung dann als „Teams-App“ und müssen nicht mehr den Browser verwenden, um die Anwendung aufzurufen. Hierbei können zur Navigation auch die nativen Tabs von Teams verwendet werden, d.h. die Navigation der Micro Web-App kann durch die von Teams ersetzt werden. So entsteht der Eindruck einer echten Teams-App, obwohl es sich in Wirklichkeit um eine Web-App handelt.

Problemlos skalierbar

Micro Web-Apps können problemlos skaliert werden. Mehrere Micro Web-Apps können parallel entwickelt und später zusammengeführt werden. Auch nach oben hin sind fast keine Grenzen gesetzt. Sowohl das Frontend als auch das Backend sind beliebig skalierbar. Die Betriebskosten bleiben nutzungsbasiert. Selbstverständlich lassen sich mit der gleichen Technologie auch sehr grosse Web-Apps entwickeln, die vielleicht einmal ursprünglich aus einer oder mehreren Micro Web-Apps entstanden sind.

Wartbarkeit

Der Quellcode einer Micro Web-App ist relativ einfach zu verstehen. Wie legen grossen Wert darauf, dass jeder sich schnell zurechtfindet und an der App weiterarbeiten kann. Möglich wird dies durch den Einsatz von gut aufeinander abgestimmten Frameworks, so dass sich der Quellcode auf die eigentliche Kernfunktionalität beschränken kann. Hierdurch wird auch eine gute Wartbarkeit sichergestellt.

 

 

Zusammenfassung

Micro Web-Apps werden bei Allgeier Schweiz immer häufiger nachgefragt. Durch die schnelle Entwicklungszeit, die damit verbundene geringe Investition und die günstigen Betriebskosten können sie eine Alternative zu Power-Apps darstellen. Insbesondere dann, wenn Power-Apps an technische oder lizenztechnische Grenzen kommen.

Angebot

Gerne zeigen wir Ihnen die Möglichkeiten auch für Ihren Anwendungsfall auf. Nehmen Sie Kontakt mit uns auf, wir beraten sie gerne und machen Ihnen ein individuelles und unverbindliches Angebot.

Fragen Sie konkret nach unserem „Web App in 2  Weeks“ Angebot und lassen Sie uns Ihre erste anspruchsvolle Micro Web-App in nur 2 Wochen entwickeln.

;