Erster Blick: Microsofts API-Mashup-Tool für den Rest von uns

Nicht alle Cloud-Anwendungen müssen Cloud-skaliert sein. Es handelt sich häufig um einfache Routing- und Switching-Apps, die Informationen aus einer Hand entnehmen, minimal verarbeiten und dann weitergeben. Hier kamen Tools wie IFTTT und Yahoo Pipes ins Spiel, mit denen Sie schnell Informationsflüsse erstellen und austauschen können, die einen Dienst mit einem anderen verknüpfen. Leider wurde Yahoo Pipes geschlossen und IFTTT hat sich auf einfache Links zum Internet der Dinge konzentriert.

Das bedeutet, dass auf dem Markt Platz für ein neues Tool vorhanden ist - eines, das sich auf die Arbeit mit Anwendungen und Diensten konzentriert und in der Lage ist, komplexere Betriebsketten zu handhaben als IFTTTs grundlegende Zuordnung von einer Eingabe zu einer Ausgabe. Sie könnten Microservices auf Node.js erstellen, um diese Art von Verbindungen zwischen Anwendungen und APIs zu automatisieren, aber das wäre übertrieben. Dies gilt auch für Azure Logic Apps oder AWS Lambda.

Neben der Einführung des neuen visuellen Entwicklungstools PowerApps hat Microsoft kürzlich das neue verbindungsbasierte Entwicklungstool Flow vorgestellt. Wie IFTTT und Pipes wurde Flow so konzipiert, dass Sie Ausgaben und Eingaben schnell miteinander verbinden können, um Anwendungen zu erstellen, die durch ein Ereignis auf einer Eingabe ausgelöst werden, und Antworten auf einen oder mehrere Dienste zu liefern. Wenn IFTTT einen Stream von Tweets scannen und bestimmte Inhalte in einer Datei speichern kann, kann Flow eine Eingabe verwenden und diese als Grundlage für einen komplexeren Informationsfluss verwenden, mehrere Informationsquellen abfragen und mehrere Aktionen ausführen.

Mit der anfänglichen Unterstützung von 12 Diensten (und vielen weiteren APIs) ist Microsoft Flow eindeutig darauf ausgelegt, die ansonsten mühsamen Aufgaben zu automatisieren. Zu den unterstützten Diensten gehören Twitter, GitHub, Salesforce, Dropbox, Slack und Office 365, mit denen Sie auf einen Großteil des Office-Diagramms zugreifen können. Mit diesen Diensten können Sie beispielsweise Twitter nach Erwähnungen eines Produkts durchsuchen und diese in einem Slack-Kanal für das Produktteam bereitstellen, sodass das Team sehen kann, was die Benutzer über ihr Produkt sagen.

Ins und Outs, wenn und dann

Microsoft bietet eine Reihe von 63 ersten Vorlagen für eine Vielzahl von Aufgaben, die alle auch zur Anpassung bereit sind. Die Vorlagenpalette umfasst das Kundenbeziehungsmanagement, Entwicklerbenachrichtigungen und Möglichkeiten zur Verwaltung Ihres Online-Lebens und schließt die Lücken zwischen Speicher, sozialen Medien, E-Mail und anderen Cloud-Diensten.

Ich begann damit, eine der grundlegenden Vorlagen anzupassen, die von mir gesendeten Tweets zu nehmen und sie in einer CSV-Datei auf meinem persönlichen OneDrive zu archivieren. Das Bearbeiten eines Flows ist relativ einfach. Sie erhalten die wichtigsten Elemente einer Vorlage in Ihrem Browser als grundlegendes Flussdiagramm, Eingaben am oberen Bildschirmrand und Ausgaben am unteren Bildschirmrand. Sie können auf einen Block klicken, um dessen Eigenschaften zu öffnen. In einem Twitter-Block finden Sie beispielsweise eine Standard-Twitter-Abfrage.

Ein wesentlicher Unterschied zwischen Flow und IFTTT ist die Unterstützung von Bedingungen. Wenn beispielsweise eine benötigte Datei nicht vorhanden ist, kann Ihr Flow sie erstellen und einen ersten Datensatz platzieren. Sobald es vorhanden ist, fügt ein alternativer Pfad der Datei neue Daten hinzu. Flow bietet einen sehr einfachen Satz von bedingten Operatoren, aber es reicht aus, um relativ komplexe Anwendungen zu erstellen. Sie können Eingaben, Abfragen und Bedingungen verketten und so den Fluss Ihres Flusses von der Eingabe bis zur Auswahl der Ausgaben steuern.

Flow bietet viel Flexibilität. Wenn Sie einen Drilldown zum Erstellen eigener Flows durchführen, anstatt die bereitgestellten Vorlagen zu verwenden, werden Sie feststellen, dass Sie Swagger-API-Definitionen verwenden können, um beliebige REST-APIs schnell in einen Flow einzubinden. Sie können auch eine Verbindung zu einer HTTP-Aktion herstellen, eine Option, mit der Sie eine Verbindung zu einem Web-Hook in einer Anwendung wie Slack herstellen oder mit Daten arbeiten können, die über ein Webformular oder über JSON gesendet werden. Dies ist eine wichtige Funktion bedeutet, dass Sie nicht auf die Standardsteuerelemente beschränkt sind.

Sie können auch einen Flow in eine PowerApps-App integrieren und ihr eine eigene Benutzeroberfläche geben. Das Debuggen ist einfach, mit Berichten für jede Operation, mit denen Sie einen Drilldown in jeden Block durchführen können, damit Sie sehen können, was schief gelaufen ist - und ebenso wichtig, was richtig gelaufen ist.

Nur der Anfang

Das Ergebnis ist ein leistungsstarkes kleines Werkzeug, das schnell einen Juckreiz kratzen kann. Die Möglichkeit, auf jede API zuzugreifen, ist ebenso wichtig wie die Unterstützung für eine Reihe verschiedener Eingabetypen. Microsoft hat genügend Routen für Flow bereitgestellt, damit Sie eine finden können, die mit den von Ihnen ausgewählten Eingaben funktioniert - auch wenn sie nicht zu den spezifischen Auslösern gehören, die Flow definiert. Die Ausgänge sind zu diesem Zeitpunkt möglicherweise etwas eingeschränkter. Ich hätte mir eine bessere Unterstützung für Office Graph und seine verschiedenen Entitäten gewünscht, einschließlich mehr Dokumenttypen als Excel.

Einige Aspekte des Flow-Entwicklungsprozesses sind immer noch ein wenig fehlerhaft, insbesondere im Hinblick auf die OneDrive-Integration. Ich fand es zum Beispiel fast unmöglich, durch eine lange Liste von Ordnern zu scrollen, und ich musste den Ordner, den ich verwenden wollte, manuell eingeben. Trotz dieser Kinderkrankheiten entwickelt sich Flow gut als Ersatz für die leider verlorenen Yahoo Pipes, obwohl sie für die heutige API-Welt entwickelt wurden und nicht nur für HTTP, RSS und XML.

Flow ist ein Service, der auch für Nicht-Programmierer schnell Sinn macht. Es ist einfach genug, mit dem Anpassen einer Vorlage zu beginnen, aber sobald Sie Ihre eigenen Flows erstellt haben, ist das grafische Layout von Flow- und Programmblöcken schnell sinnvoll. Wenn Sie über die Vorlagen und Standardaktionen hinausgehen möchten, müssen Sie sich mit der Syntax von RESTful-APIs vertraut machen. Die Unterstützung von Flow für die Beschreibungssprache der Swagger-API sollte die Dinge vereinfachen, zumindest dort, wo Websites und Dienste Swagger-Definitionen anbieten.

Mit Tools wie Flow und PowerApps bedient Microsoft endlich ein Entwicklerpublikum, das sich aus Information Workern zusammensetzt, die kleine Probleme lösen möchten. Flow ist kein universelles Programmierwerkzeug, aber dennoch leistungsstark und flexibel. Flow ist ein Einstieg in einen neuen Stil der Anwendungsentwicklung, den jeder nutzen kann.