Consulting box
Microsoft DataverseFlexibel Daten in Microsoft 365 speichern
Microsoft Dataverse – die Idee
Sie haben vermutlich schon Berührungspunkte mit Power Apps und Power Automate gehabt, vielleicht auch mit den Power Virtual Agents. Die Lösungen, die Sie mit diesen drei Entwicklungsumgebungen erzeugen, werden früher oder später Daten speichern müssen. Klassischer Weise können Sie die Daten natürlich in SharePoint-Listen ablegen. Dagegen ist auch nichts einzuwenden, allerdings stoßen die SharePoint-Listen auf Grenzen. Um es etwas zu konkretisieren, nenne ich einige Aspekte:
- SharePoint-Listen eigenen sich nicht für komplexe Datenbestände mit vielen Relationen
- Es gibt etliche Limitierungen bezüglich der Menge der Daten, Anzahl der Felder, Lookups etc
- Wirklich granulare Berechtigungssteuerung ist in SharePoint-Listen nur schwer machbar
- „Business Rules“, also automatische Berechnung und Validierung, gibt es in SharePoint-Listen nur sehr begrenzt
Ich möchte auf keinen Fall den Eindruck, erwecken, als hätte ich Zweifel an der Praxistauglichkeit von SharePoint – durchaus nicht. Ich bin bei SharePoint seit Version 2001 dabei und finde SharePoint super. Trotzdem eigenen sich SharePoint-Listen nicht, um Daten dort zu speichern, die an sich in eine „richtige Datenbank“ gehören – und da kommt Microsoft Dataverse ins Spiel.
Microsoft Dataverse hieß zunächst Common Data Service (CDS). Diese Bezeichnung taucht auch an einigen Stellen nach wie vor auf, beispielsweise bei der Bezeichnung des entsprechenden Connectors (Stand April 2021).
Microsoft Dataverse ist eine flexible Datenbank, die übrigens auch Dateien/Dokumente speichern kann, in der umfangreiche „Business Logik“ hinterlegt werden kann. Man kann Ansichten und Formulare erstellen. Außerdem können „Modellgesteuerte Apps“ (model driven apps) aus Dataverse-Datenbanken erzeugt werden. Das hört sich in dieser knappen Aufzählung vielleicht nicht übermäßig spektakulär an – in der Praxis macht das aber alles absolut Sinn. Dataverse muss, beispielsweise im Gegensatz zum SQL Server, nicht technisch administriert werden. Es ist sozusagen „einfach da“
Erwähnen möchte ich an dieser Stelle noch, dass Microsoft Dataverse der Datenspeicher von Dynamics 365 ist. Es gibt somit also erstklassige Beispiele für die Leistungsfähigkeit dieses Datenspeichers
Umgebungen und Microsoft Dataverse
Bevor Sie mit Dataverse loslegen, macht es Sinn, kurz über das Thema „Umgebungen“ (Environments) im Umfeld der Power Platform nachzudenken. Mittels dieser Umgebungen können Sie beispielsweise für verschiedene Unternehmen innerhalb eines Konzerns getrennte Applikationslandschaften einrichten und so Daten (gespeichert in Microsoft Dataverse) und Funktionen (erstellt mit Power Automate, Power Apps oder Power Virtual Agents) für die jeweilige Organisationseinheit isolieren. Natürlich ist ein weiterer wichtiger Anwendungsfall, dass Sie zwischen Entwicklung, Test und Produktion trennen können.
Auf der nachfolgenden Abbildung ist eine Umgebung ausgewählt, in der eine Dataverse-Datenbank vorhanden ist. Das Wechseln der Umgebung geschieht am rechten oberen Rand der Seite (Pfeil rechts). Der Zugriff auf die Objekte in der Datenbank wird über das Menü auf der linken Seite (unterhalb des Menüpunkts „Daten“) vorgenommen. Da Umgebungen auch ohne Datenbank erstellt werden können, wäre es möglich, dass der Menüpunkt Daten fehlt. Dann müssen Sie eine andere Umgebung wählen.
Tabellen
Das zentrale Element in Microsoft Dataverse sind die Tabellen. Nach dem Erzeugen der Datenbank (exakt: Nach dem Erzeugen einer Umgebung, die eine Datenbank enthält) sind bereits diverse Tabellen vorhanden – das ist auf der nächsten Abbildung zu erkennen.
Wie bei jeder „normalen“ Datenbank ist einer der wichtigsten Schritte das Erzeugen der benötigten Tabellen. Das ist auch bei der Arbeit mit Microsoft Dataverse nicht anders. Auf der folgenden Abbildung ist der entsprechende Dialog zu sehen – wenig überraschend.
Interessanter wird es, wenn Sie die Optionen aufklappen (teilweise auf der nächsten Abbildung zu sehen). Auch wenn dieses kurze Tutorial nicht weiter auf die Details eingeht, kann man auch bei kurzem Überfliegen erkennen, dass Dataverse über interessante Funktionen verfügt, die sich bei „normalen“ Datenbanken, wie beispielsweise dm SQL Server nicht finden.
Spalten hinzufügen
Direkt nach dem Anlegen der Tabelle wird zunächst nur die Spalte vorhanden sein, die Sie in dem Tabellen-Anlege-Dialog benannt haben. Kurze Zeit (in etwa eine halbe Minute) später wird ein gutes Dutzend Spalten vorhanden sein. In Ihrer Tabelle sieht es dann in etwa so aus, wie auf der folgenden Abbildung gezeigt. Die hinzugefügten Standard-Spalten speichern beispielsweise das Erstelldatum, den Ersteller und einiges andere mehr ab.
Mit dem Filter-Dropdown (rechts oben, Pfeil) können Sie mit einem Klick dafür sorgen, dass nur Ihre selbst angelegten Spalten angezeigt werden („Benutzerdefiniert“), was das Arbeiten etwas übersichtlicher macht.
Wenn Sie neue Felder anlegen, steht eine schon ganz ordentliche Anzahl von Datentypen zur Auswahl. Etliche Datentypen benötigen eine weitergehende Konfiguration, wie beispielsweise die Optionsfelder
Optionsfelder
Wenn man beispielsweise, wie auf dem vorherigen Bild gezeigt, in einem Feld die Farbe speichern möchte, bietet sich ein Optionsfeld an. Dieser Feldtyp hat, wie andere Feldtypen übrigens auch, weitere Konfigurationsmöglichkeiten, nämlich die auswählbaren Optionen. Der Dialog ist unspektakulär – siehe nachfolgende Abbildung.
Relationen / Beziehungen
Die Definition von Beziehungen zwischen Tabellen ist eine der grundlegensten Funktionen von Datenbanken, das ist natürlich auch in Microsoft Dataverse nicht anders. Wenn Sie bei der Bearbeitung einer Spalte sind, können Sie auf dem Reiter „Beziehungen“ eine solche hinzufügen. Sie werden übrigens feststellen, dass bereits einige Beziehungen zu Standard-Tabellen der Datenbank vorhanden sind.
Beim Hinzufügen einer Beziehung können Sie bequem den Beziehungstypen auswählen. Da ich für dieses kleine Beispiel eine Tabelle „Hersteller“ angelegt habe und „viele“ Autos „einen“ Hersteller haben, ist „Viele-zu-eins“ der richtige Typ.
Auf der nachfolgenden Abbildung sehen Sie, dass für diese „Viele-zu-eins“-Beziehung in der „Viele“-Tabelle eine zusätzliche Spalte vom Typ Suche angelegt worden ist. Für jemanden, der sich ein wenig mit relationalen Datenbanken beschäftigt hat, sieht das völlig einleuchtend aus.
Geschäftsregeln in Microsoft Dataverse
Mit Hilfe der Geschäftsregeln lassen sich beispielsweise Feldwerte anhand von Regeln setzen. Ich habe ein kleines Beispiel vorbereitet, bei dem für Fahrzeuge, deren Kennzeichen mit DO beginnt, eine bestimmte Kostenstelle eingetragen wird, für alle anderen Kennzeichen eine andere. Natürlich sind auch deutlich komplexere Szenarien mit mehr Logik möglich, für einen ersten Eindruck sollte es aber genügen.
Wenn Sie das Anlegen einer neuen Geschäftsregel aufrufen, erscheint der nachfolgend gezeigte Dialog. Sie können dort direkt mit der Erstellung der ersten Bedingung starten. Wie Sie sehen können, wird sie einfach „zusammengeklickt und kann eine oder mehrere Regeln umfassen.
Ist die erste Bedingung erstellt, können Sie Aktionen festlegen. Wechseln Sie dazu in der rechten Liste auf die Registerkarte „Komponenten“. In dem Bereich Aktionen gibt es zwei Farben, die auch eine Bedeutung haben:In Canvas Apps können die grünen Aktionen verwendet werden, während in modellgesteuerten Apps sowohl die grünen als auch die blauen Aktionen verwendet werden können,
Ziehen Sie also die gewünschte Aktion, in diesem Fall „Feldwert festlegen“ auf den jeweiligen „Anschluss“ der Bedingung (für true und false).
Die Konfiguration der Aktion, also in diesem Fall „Feldwert festlegen“ wird in einem Eigenschaften-Dialog in der Leiste am rechten Bildschirmrand vorgenommen. Neben dem statischen Wert in diesem Beispiel, könnte man beispielsweise auch rechnen lassen – der Dialog ist ähnlich. Auf diese Weise bauen Sie also nun die Geschäftslogik auf, wobei Sie beispielsweise auch mehrere Bedingungen verschachteln können – je nach Bedarf.
Wenn Sie fertig sind, muss die Geschäftsregel noch gespeichert und aktiviert werde werden. Zuvor sollten Sie allerdings einen sinnvollen Namen vergeben und optimaler Weise eine Beschreibung hinzufügen. Am linken oberen Rand gibt es ein kleines Dropdown-Symbol, das einen entsprechenden Dialog aufklappt – sonst heisst die Regel „Neue Geschäftsregel“, was nicht so wirklich zu einer übersichtlichen Gesamtsituation führt.
Hinweisen möchte ich auch darauf, dass Sie im unteren Bereich eine textuelle Zusammenfassung der Regel erhalten. Im Grunde genommen ist das garnicht mal so unpraktisch, weil die Bedingungen und Aktionen beim einfachen Darüberschauen (also so lange Sie nicht draufklicken), relativ wenig über ihren Inhalt verraten.
Nun bleiben noch zwei Aufgaben. Erstens muss die neue Geschäftsregel gespeichert werden, danach müssen Sie sie aktivieren, damit sie tatsächlich aktiv wird. Die benötigten Schaltflächen finden Sie am oberen Rand.
Anzumerken wäre vielleicht noch, dass Sie die Regel deaktivieren müssen, wenn Sie sie bearbeiten möchten. Bei einer aktiven Regel ist die Bearbeitung komplett gesperrt.
Wenn Sie nun wieder auf die Registerkarte „Geschäftsregeln“ wechseln, sollte das soeben erstellte Objekt sichtbar sein und als aktiviert angezeigt werden.
Ansichten
Microsoft Dataverse enthält Ansichten, um die in einer Tabelle vorhandenen Daten in unterschiedlichen Darstellungen anzuzeigen. Sie können sich diese ähnlich wie SharePoint-Ansichten vorstellen.
Wenn Sie auf die Registerkarte „Ansichten“ wechseln (folgende Abbildung) werden Sie sehen, dass bereits einige Ansichten für die Tabelle, an der wir momentan arbeiten, vorhanden sind. Diese bestehenden Ansichten können bearbeitet werden, alternativ können Sie auch weitere Ansichten hinzufügen.
Für dieses kleine Beispiel werde ich einer bestehenden Ansicht weitere Spalten hinzufügen. Dazu öffnen Sie einfach eine Ansicht (einfach draufklicken), worauf hin Sie in den nachfolgend gezeigten Dialog gelangen. Neben dem Hinzufügen von weiteren Spalten zur Ansicht können Sie hier beispielsweise auch den Namen anpassen, die Sortierung ändern oder Filter setzen.
Für das Hinzufügen von weiteren (bereits angelegten!!!) Spalten, gibt es mehrere Wege. Eine Möglichkeit ist, auf „Spalte anzeigen“ zu klicken, woraufhin ein Dialog aufklappt, in dem Sie die gewünschten Spalten wählen können. Alternativ können Sie auch aus der linken Leiste eine Spalte direkt in den Kopfbereich der Tabelle ziehen.
Um die Reihenfolge in der Tabelle zu verändern, lassen sich die Spalten mit der Maus verschieben. Ein Klick auf das Dropdown-Symbol der jeweiligen Spalte fördert weitere Einstellmöglichkeiten zu Tage.
Wenn die Ansicht so konfiguriert ist, wie Sie sich das vorstellen, können Sie speichern UND anschließend veröffentlichen. Beide Schaltflächen finden sich im oberen rechten Bereich
Formulare
Im vorherigen Abschnitt habe ich vorgeführt, wie man Ansichten erstellen kann, mit denen man Daten mit verschiedenen Spalten, Filtern und Sortierungen anzeigen kann.
Das Erfassen der Daten erledigt man mit Formularen, die ebenfalls angepasst werden können (und müssen), was ich Ihnen jetzt kurz vorführen möchte.
Wenn Sie auf die entsprechende Registerkarte wechseln, werden Sie feststellen, dass bereits einige Formulare vorhanden sind. Sie können nun ein bestehendes Formular verändern oder ein neues erstellen. Für dieses kleine Beispiel werde ich ein bereits existierendes Formular anpassen.
Auf der nachfolgenden Abbildung sehen Sie den Formular-Editor. Am (hier schmal dargestellten) rechten Rand können Sie unterschiedliche Arbeitsbereiche wählen, zunächst befinden wir uns in der Strukturansicht. Wie Sie erkennen können, ist sie in drei Abschnitte (Header, Allgemein, Footer) gegliedert. Im Allgemein-Bereich sind bereits zwei Spalten vorhanden. Wählt man diese an, können am rechten Rand verschiedene Einstellungen vorgenommen werden.
Wenn Sie, wie auch ich zuvor, weitere Spalten erstellt haben, werden Sie diese sicherlich dem Formular hinzufügen wollen. Dazu wechseln Sie in den Tabellenspalten-Arbeitsbereich und ziehen mit der Maus die gewünschte Spalte auf die Position im Formular, an der sie erscheinen soll. Die Spalten können verschoben und konfiguriert werden.
Neben den Eigenschaften können Sie übrigens auch Ereignisse konfigurieren, was aber über den Rahmen dieser kleinen Einführung hinausgeht.
Hinweisen möchte ich an dieser Stelle noch auf den Arbeitsbereich „Komponenten“, den Sie auf der folgenden Abbildung erkennen können. Sie finden dort beispielsweise verschiedene Layouts und Eingabe-Elemente, mit denen auch komplexe Formulare gestaltet werden können.
Daten mit den integrierten Möglichkeiten erfassen
Wenn die Tabellen erstellt, die Ansichten und Formulare angepasst und gegebenenfalls auch Geschäftsregeln erstellt worden sind, stellt sich die Frage, wie nun Daten erfasst und ausgegeben werden können. Der gewissermaßen „natürliche und naheliegende“ Weg ist die Erstellung einer modellgesteuerten App, in der dann auch die erstellten Formulare und Ansichten verwendet werden (ein separater Artikel folgt).
Allerdings kann man schon direkt aus dem Dialog, in dem wir hier die ganze Zeit arbeiten, auf Daten zugreifen und auch Daten eingeben. Sie können dazu die Registerkarte „Daten“ aufrufen, in der man übrigens auch die Ansicht festlegen kann, mit der man arbeiten möchte (siehe Abbildung, rechts oben). Zur Verfügung stehen hier die Ansichten, die auf der gleichnamigen Registerkarte in der Datenbank angelegt worden sind.
Wenn Sie das Erstellen eines neuen Datensatzes aufrufen, gelangen Sie zu einem Dialog, der in etwa wie der nachfolgend gezeigte aussehen wird. Auch hier wird auf das zuvor erstellte Formular zugegriffen. Auf der Abbildung sehen Sie die Auswahl eines Herstellers – das Feld ist mit einer anderen Tabelle verknüft. Die vorhandenen Datensätze werden aufgeführt, so dass man bequem auswählen kann.
Auf der nächsten Abbildung sieht man eine Ansicht, nach dem zwei Datensätze erfasst worden sind. Interessant ist hier das Feld Kostenstelle, den diese wurde in dem Formular nicht abgefragt. Das ist auch nicht erforderlich, weil die Kostenstelle über eine Geschäftsregel eingesetzt wird. Man sieht, dass es klappt.
Lizenzierung
Man kann nicht über Microsoft Dataverse schreiben, ohne auf die Lizenz-Sitatuion einzugehen.
Bevor Sie weiterlesen, möchte ich aber dringend darauf hinweisen, dass es erforderlich ist, dass Sie die Lizenzierung mochmals genau nachlesen und überprüfe, beispielsweise hier: https://go.microsoft.com/fwlink/?linkid=2085130
Nach meinem Verständnis verhält es sich so, dass Sie für die Nutzung von Dataverse, genauso wie für die Nutzung von modellgesteuerten Apps, für jeden zugreifenden Anwender eine Power Apps-Lizenz benötigen. Die Pläne E1, E3 und E5 beinhalten nicht die Lizenz
Dataverse for Teams
Zum Schluss möchte ich noch darauf hinweisen, dass es ergänzend zum „normalen“ Dataverse ein Dataverse for Teams gibt, das für die Entwicklung von innerhalb der Teams-Umgebung zu nutzenden Apps gedacht ist.
Dataverse for Teams ist in diversen Aspekten eingeschränkt, siehe hier: https://docs.microsoft.com/de-de/powerapps/teams/data-platform-compare
Sofern Lösungen erstellt werden, die nur innerhalb Teams verwendet werden, ist ein Blick auf Dataverse for Teams in jedem Fall empfehlenswert, allein schon wegen der günstigeren Lizenzsituation. Ein separater Artikel folgt.
Microsoft Dataverse for Teams
Flexible Apps in Microsoft Teams erstellenMicrosoft Dataverse for Teams - die Idee Microsoft Teams ist als Koounikations- und Zusammenarbeitsplattform außerordentlich erfolgreich und wird von den Anwendern meistens heiß und innig geliebt. Es ist natürlich einigermaßen...
Microsoft Power Virtual Agents
Intelligente Chat Bots erstellenPower Virtual Agents - die Idee Bots sind mittlerweile in Hype beim Bau von Mensch-Maschine-Schnittstellen. Nicht ganz zu unrecht, denn in der Tat kann ein gut gemachter Bot den Anwender sehr schnell und effizient zum Ergebnis führen....