Die Power Platform
ist eine Low-Code-Entwicklungsumgebung, welche sich aus verschiedenen Softwarekomponenten, u.a. Power Apps, Power Automate und Power BI, zusammensetzt. Innerhalb der Plattform lassen sich mittels Power Apps Geschäftsanwendungen implementieren und Geschäftsprozesse automatisieren. Dabei ist Dataverse
die zugrundeliegende Datenbank-Technologie, welche Daten cloudbasiert speichert und den Tools und Anwendungen innerhalb der Power Platform zur Verfügung stellt.
Dieser Artikel gibt Entwicklern einen Überblick über die zur Verfügung stehenden Komponenten bei der Entwicklung von Model-driven Power Apps.
Solution
Komponenten werden in eine Solution gepackt und können so in verschiedenen Entwicklungs-, Test- und Produktivumgebungen bereitgestellt werden. Als Grundstruktur dienen Datenbank-Tabellen, die sich wiederum aus Spalten zusammensetzen. Je Tabelle können verschiedene Ansichten, welche die Daten der Spalten anzeigen, gebaut werden. Außerdem gibt es für jede Tabelle mind. 1 Formular, damit der Endnutzer neue Datensätze einpflegen und bestehende editieren kann. Unter anderem können Umgebungsvariablen, Vorlagen oder Sicherheitsrollen Komponenten einer Solution sein.
Wie findet man die richtige Low-Code-Plattform? Jetzt mehr Infos zur Power Plattform und zum Auswahlprozess in unserer Checkliste nachlesen.
Entwicklungsmöglichkeiten von Model-driven Power Apps
Microsoft bietet eine breite Auswahl an Entwicklungsmöglichkeiten (Customizing und Coding). Der Entwickler kann zwischen Geschäftsregeln, JavaScript, Power Fx, C#-Plugins und Power-Automate-Flows wählen. Die Entscheidung, welche Möglichkeit sich am besten eignet, ist nicht immer ganz einfach und hängt stark vom Anwendungsfall ab. Im Folgenden werden die genannten Varianten näher betrachtet.
Geschäftsregeln
Geschäftsregeln eignen sich besonders gut für einfache Logiken und können via Drag-and Drop-Mechanismus direkt in der Power-Apps-Oberfläche festgelegt werden. Beispiele hierfür sind Felder, die basierend auf einer Bedingung ge-/entsperrt oder zum Pflichtfeld werden sollen. Darüber hinaus lassen sich Feldwerte setzen, Sichtbarkeiten anpassen oder Fehlermeldungen anzeigen.
Nachteile bei Geschäftsregeln sind die Unübersichtlichkeit und dass diese sich auf die Felder der aktuellen Entität beschränken. Folgende Geschäftsregel zeigt das Feld “Immatrikulationsnummer” als Pflichtfeld an, wenn es sich bei dem Kontakt um einen Studenten handelt.
JavaScript
JavaScript kommt zum Einsatz, wenn auf Endnutzer-Aktionen auf der Benutzeroberfläche reagiert werden soll. Hierbei sollten keine kritischen Aktionen durchgeführt werden. JavaScript wird bei synchronen und asynchronen Operationen eingesetzt. Das Script wird als Webressource registriert und die Bibliothek innerhalb eines Formulars oder der Command Bar eingefügt. Als Reaktion auf Onload, OnSave oder OnChange Events lassen sich Funktionen ausführen.
Innerhalb des Scripts ist es möglich, auf den Kontext zuzugreifen. Somit lassen sich Daten der aktuellen oder anderer Entitäten über die Web-API abfragen, hinzufügen, verändern oder löschen. Außerdem können Ansichten manipuliert oder Benachrichtigungen angezeigt werden.
Power Fx
Power Fx ähnelt der Script-Sprache von Excel. Alternativ zu JavaScript bietet Power Fx die Möglichkeit, verschiedene Befehle als Reaktion auf Button-Klicks auszuführen. Es lassen sich beispielsweise Datensätze erstellen oder aktualisieren (Patch Funktion
), die Sichtbarkeit des Buttons manipulieren oder zu einem bestimmten Datensatz navigieren. Power Fx kommt in der Command Bar, bei Custom Pages, Canvas Apps und Low-Code-Plugins
zum Einsatz.
Im Screenshot sind Power-Fx-Befehle zu sehen, welche bei Button-Klick eine Bewertung erstellen und diese innerhalb des Formulars öffnen.
C#-Plugins
Bei der Verwendung von Plugins werden C#-Klassenbibliotheken (aktuelle Version .NET Framework 4.6.2) erstellt. Diese implementieren das Plugin Interface und dessen Execute-Methode. Plugins reagieren auf bestimmte Ereignisse wie Create, Update oder Delete im Kontext einer Tabelle. Diese können PreValidation (vor Validierung des Formulars), PreOperation (vor der Datenbank-Transaktion) oder PostOperation (nach der Datenbank-Transaktion) ausgeführt werden.
Plugins eignen sich für synchrone oder asynchrone Backend-Operationen. Sie können Daten hinzufügen, verändern, löschen oder referenzierte Datensätze erstellen.
Power Automate
Power Automate ist ein Tool, welches Automatisierung verwirklicht. Power Automate bietet viele Konnektoren, um sich mit Tools und Plattformen wie Dataverse, SharePoint und Outlook zu verbinden. Als Reaktion auf ein Ereignis (Trigger) werden bestimmte Aktionen ausgeführt. Power-Automate-Flows eignen sich für Backend-Operationen, die asynchron ausgeführt werden und/oder eine Verbindung zu anderen (Microsoft-) Tools benötigen.
Nachfolgend wird ein Power-Automate-Flow angezeigt, welcher für einen neuen Studenten einen Notenspiegel erstellt.
Zusammenfassung
Zusammenfassend empfiehlt es sich, falls möglich, das Customizing (Geschäftsregeln, Power Fx und Power Automate) dem Coding (JavaScript und C#-Plugins) vorzuziehen. Muss jedoch eine synchrone Backend-Operation durchgeführt werden, kommt man Stand heute nicht drum herum, ein C#-Plugin zu implementieren, da Power-Automate-Flows immer asynchron ausgeführt werden.
Wie findet man die richtige Low-Code-Plattform? Jetzt mehr Infos zur Power Plattform und zum Auswahlprozess in unserer Checkliste nachlesen.