Komponenten für die Entwicklung von Model-driven Power Apps

post-thumb

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.

Geschäftsregel zur Anzeige Immatrikulationsnummer beim Typ Student

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.

Power Fx Command

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.

Power-Automate-Flow erstellt einen Notenspiegel

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.


Lernen Sie uns kennen

Das sind wir

Wir sind ein Software-Unternehmen mit Hauptsitz in Karlsruhe und auf die Umsetzung von Digitalstrategien durch vernetzte Cloud-Anwendungen spezialisiert. Wir sind Microsoft-Partner und erweitern Standard-Anwendungen bei Bedarf – egal ob Modernisierung, Integration, Implementierung von CRM- oder ERP-Systemen, Cloud Security oder Identity- und Access-Management: Wir unterstützen Sie!

Mehr über uns

Der Objektkultur-Newsletter

Mit unserem Newsletter informieren wir Sie stets über die neuesten Blogbeiträge,
Webcasts und weiteren spannenden Themen rund um die Digitalisierung.

Newsletter abonnieren