Ja, gibt’s – und auch noch eine ganze Plattform für Enterprise Applikationsentwicklung dazu. Die Microsoft Power Platform verbindet Systeme, automatisiert Abläufe und stellt plattformübergreifende Applikationen zur Verfügung – auf Wunsch auch ganz ohne Code!
Die Microsoft Power Platform setzt auf das Zusammenspiel von vier mächtigen Lösungen. Gemeinsam haben sie den Anspruch, nicht nur Microsofts eigene Systeme zu verbinden, sondern alle im Unternehmen eingesetzten Lösungen – unabhängig vom Hersteller. Die Power Platform ist der Produkt-gewordene Inbegriff von Microsofts Vision: „Empower every person and every organisation on the planet to achieve more”.
Vier Komponenten im Zusammenspiel
- PowerApps liefert plattformübergreifende No-Code Applikationsmodellierung und erlaubt die Erstellung von pixel-perfekten Apps, die Generierung von Modell-basierten Applikationen mit fixem Layout und sogar die Publikation von Webportalen.
- Microsoft Flow automatisiert Abläufe. Entweder on-demand, durch ein Ereignis gesteuert oder zeitgesteuert und füllt, als Integrationsschicht mit derzeit circa 270 Konnektoren, die Funktion eines „Klebstoffes“ für alle nur erdenklichen Systeme von A wie Apache Impala bis Z wie Zendesk.
- Die Grundlage für die übergreifende Applikationsmodellierung stellt der Common Data Service dar. Der Common Data Service for Apps ist eine standardisierte Datenplattform, die die Modellierung von Entitäten und ihren Beziehungen zueinander erlaubt. Zudem ist der Common Data Service for Apps eine Integrationsschicht, da auch auf Datenebene Daten direkt aus externen Systemen integriert werden können und somit für PowerApps und Flows transparent zur Verfügung stehen.
- Der Common Data Service (CDS) basiert auf offenen Standards – dem Common Data Model – die eine gemeinsame Sprache für die Beschreibung von Datendiensten im Unternehmen liefern. Somit wird der Common Data Service als Integrationsschicht zur „Single Source of Truth“ für alle noch vorhandenen Datensilos.
How to: Wie eine PowerApp entsteht
Folgendes Beispielszenario zeigt wie Maschinendaten verwaltet werden. Die Gerätedaten befinden sich in einem legacy System und werden mittels Excel Export zur Verfügung gestellt. Diese Daten werden in einem nächsten Schritt mit Kundendaten zusammengeführt, die in Microsoft Dynamics 365 for Sales gehalten werden. Zusätzlich soll es möglich sein, neue Maschinen anzulegen – diese werden via Microsoft Flow direkt in das Excel File zurückgeschrieben. Das Excel File stellt somit eine beispielhafte Schnittstelle zu einem Fremdsystem dar.
Los geht‘s mit der Modellierung der Entitäten: Die Maschinendaten liegen in Excel – das Excel File wiederum liegt auf einer SharePoint Bibliothek oder OneDrive for Business. Um die Maschinendaten im CDS nutzen zu können, müssen sie erst einmal eingebunden werden. Das geschieht im Power Platform Maker Portal unter dem Menüpunkt „Data > Entities > Get Data“.
Hier ein Beispiel, wie Entitäten aus Fremdsystemen eingebunden werden können. In diesem Fall ist die Datenquelle Excel.
Hierfür wird im Assistenten die Excel Verbindung ausgewählt. Das Ergebnis sieht wie in folgender Abbildung aus:
PowerQuery verfeinert die Abfrage vor der Erstellung und wendet Projektion, Selektion sowie Transformationen auf die Spalten an. Nach Abschluss des Assistenten sind die Daten als Entitäten direkt im CDS verfügbar.
Nun kann in der neuen Entität „Machine“ durch Klick auf „Relationships > Add > Many-to-One“ eine Relation der Excel Daten zu den Kundendaten aus Dynamics for Sales erstellt werden. Dazu wird im folgenden Dialog die Entität „Account“ als Beziehung gewählt – schon hat man Daten aus mehreren Quellen in Beziehung gesetzt.
Das Datenmodell liegt nun vor. Nur die mobile App, die die Daten darstellt, fehlt noch.
Das wird im Maker Portal unter folgendem Menüpunkt in die Wege geleitet: „Apps > Create an App > Canvas > Blank >Phone Layout“.
Dadurch landet man im PowerApps Studio und kann die Applikation nun mit Steuerelementen und Bildschirmen frei gestalten. Die App wird direkt beim Speichern erstellt und ist sofort im HTML5 Browser, auf iOS und Android nativ lauffähig!
Um die Daten anzuzeigen, wird mittels „Insert > Gallery > Blank Vertical“ eine Liste eingefügt. Sofort zeigt der Designer mögliche Datenquellen, wie in der nächsten Abbildung ersichtlich. Beliebige Steuerelemente, wie Labels, werden nun in das Gallery Element etc. gezogen und den Feldern in der Datenquelle zugewiesen.
Wie das Ergebnis aussehen kann, zeigt die folgende Abbildung:
Ein Klick rechts oben auf „Play“ und die App läuft!
Zwei Systeme, eine App
Schon sind Daten aus zwei Systemen eingebunden und über eine mobile App publiziert. Nun soll sie auch längerfristig funktionieren. Die Anlage eines neuen Maschinendatensatzes im externen System erfolgt aus der App via Microsoft Flow. Dazu wird in der App mittels „Insert > Button“ eine Schaltfläche eingefügt. In einem neuen Browser Tab wird nun im Maker Portal unter „Flow > New > Instant > From PowerApps“ ein neuer Flow erzeugt, der als Trigger „PowerApps“ aufweist. Das bedeutet, dass dieser, nach Erstellung des Flows, direkt mit dem PowerApps Button aufgerufen werden kann. Anschließend wird mittels „+ New Step“ ein neuer „Schritt“ eingefügt (Excel > Add row to table). Die finale Aktion ist in folgender Abbildung ersichtlich:
Wie kommen nun die Daten für die Spaltenwerte in den Flow?
Ganz einfach: Im Auswahlfenster gibt es die Option „Ask in PowerApps“. Jeder Parameter, der dem Flow übergeben werden soll, wird mittels dieser Option abgefragt. Und so sieht es dann aus:
Nachdem der Flow gespeichert wurde, geht es zurück zur App.
Nun muss für jeden Parameter ein passendes Steuerelement zur Eingabe her. Die Eingabe des „Customer“ erlauben wir über ein DropDown Feld, das wiederum an die „Account“ Entitäten in CDS gebunden ist. Diese stellen die Relation dar, die wir eingangs geschaffen haben. Das DropDown Feld wird eingefügt und rechts unter „Items“ wird die Entität „Accounts“ aus CDS gewählt. Voilá: Die Datenverbindung ist geschaffen. Die restlichen Werte werden über Textfelder bzw. einen Date Picker abgefragt.
Nun geht es an den Button: Nach Auswahl des Buttons, „Action > Flows“ den gewünschten Flow auswählen.
Nun müssen die Werte aus den Steuerelementen dem Flow Aufruf zugewiesen werden. Dies geschieht in der Formelleiste. Der Editor färbt dabei die Werte ein. So ist sofort ersichtlich, welcher Wert in der Formel aus welchem Steuerelement stammt.
Und schon sind alle Teile implementiert. Um die App auf einem mobilen Gerät zu starten, wird im entsprechenden AppStore die App „PowerApps“ gratis geladen.
Nach der Anmeldung in der App mit den Login Daten des Microsoft Tenants, werden die erstellten Apps aufgelistet und lassen sich starten. Mittels „Pin to Home“ kann die App auf iOS und Android auch gleich direkt auf den Home Screen gepinnt werden.