Microsoft Azure Mobile Services

Milen KoychevMicrosoft Azure, Mobile Services, Mobility, Windows Phone

Der Besuch der .NET User Group in Hamburg brachte interessante Einblicke in die Microsoft Azure Mobile Services. Wie alle Cloud-Dienste bietet auch hier Microsoft einiges an Releastempo, so dass die Evangelisten zum Teil selbst nicht mehr hinterherkommen. Einen guten und aktuellen Überblick gab Malte Lantin(@MalteLantin) vom Microsoft.

Mmsmainscreen

Grundlage für die Entwicklung des Microsoft Azure Mobile Services war die Feststellung, dass eine signifikante Anzahl von mobilen Applikationen nicht ohne Backend funktioniert. Um es genauer zu spezifizieren – nahezu alle! Dementsprechend wollte Microsoft ein dynamisches Backend schaffen, welches den modernen Anforderungen gerecht wird und dennoch leicht zu konfigurieren ist. Die erste Version der Microsoft Azure Mobile Services unterstützte Node.js und war dementsprechend durch die JavaScript Komponente selbst im Webbrowser zu modifizieren. Sämtliche Änderungen an der Businesslogik können direkt im Managementportal von Microsoft Azure durchgeführt werden. Alternativ ist die Nutzung des Visual Studio Plugins möglich, welches ebenso die Modifikation des Quellendes zulässt. Die Microsoft Azure Mobile Services versuchen die gängigsten Bedürfnisse von mobilen Backend-Architekturen abzubilden:

  • Sicherheit
  • Skalierbarkeit
  • Push-Benachrichtigung
  • Datenbank-Anbindung

Die Datenschicht wird durch SQL-Server abgebildet, welche zum einen mit modernen und professionellen Tools adminstrierbar sind, wie man es auch von anderen SQL-Server Installationen her kennt. Ferner ist mittels die Node.js eine Abstraktionsebene integriert worden, die ein dynamisches Datenbankschema unterstützt.

Mmscreatescreen

Dies ist gerade für die Entwicklung von Backend-Datenstrukturen wichtig und kann und sollte in der Produktivumgebung dann entsprechend abgeschaltet werden, um Manipulationen am Datenbankschema zu verhindern. Die Node.js Variante des Microsoft Azure Mobile Services Backends ermöglicht neben einer GIT-Anbindung auch noch die Erweiterung der serverseitigen Businesslogik durch die Nutzung von Node.js Modulen. Hier werden nicht alle Module unterstützt die Node.js bietet, jedoch die sinnvollen sind verfügbar. Die Microsoft Azure Mobile Services bieten zur Authentifizierung eine Abstraktionsschicht an, welche eine einfache Integration der Auhtentifizierung der eingehen App mittels

  • Facebook
  • Google
  • Twitter
  • Microsoft
  • Active Directory (AD)

ermöglicht. Die Integration ist ebenso simpel, wie der Austausch des angeschlossenen, authentifizierenden Dienstes. Die wohl wichtigste Eigenschaft in puncto Skalierbarkeit ist die Abrechnung des Microsoft Azure Mobile Services nach API Aufrufen. So braucht man sich während der Nutzung nicht um die Skalierung einzeler Dienste, wie etwa die virtuellen Maschinen kümmern, sondern kann einfach die API-Aufrufe im Auge behalten. Dies ist sowohl in Hinblick auf die Kosten, als auch auf die Wartbarkeit ein großer Pluspunkt.

Wer die Businesslogik seines Backendsystems lieber in .NET implementiert, hat dazu nun auch die Möglichkeit. Mit Hilfe eines Temples aus dem Microsoft Azure Management Portals, kann man sich aus einer Vorlage die Client- und Serverimplementierung automatisch generieren lassen und diese dann als Visual Studio Projekte herunterladen. Nachdem die gewünschten Anpassungen vorgenommen worden sind, kann man das Backend wir andere Dienste auch aus dem Visual Studio heraus direkt veröffentlichen. Dadurch werden dann die entsprechenden Dienste auf Micorsoft Azure angepasst.

Bereits in dem Artikel über die Anbindung mobiler Prozesse an Microsoft Dynamics AX habe ich aufgezeigt, wie die Services im Unternehmenskontext sinnvoll integriert werden können. Das in dem Beitrag beschriebene Einsatzszenario gibt einen guten Überblick für eine Integration der Microsoft Azure Mobile Services außerhalb der Demo-Apllikationen.