Einbinden Ihrer App in die Cloud mit Windows Azure Mobile Services

Die tollen Apps aus dem Windows Store sind umfassend verbunden. Sie verfügen über Live-Kacheln, authentifizieren Benutzer durch einmalige Anmeldung und teilen Daten zwischen Geräten und Benutzern. Diese Vorteile von verbundenen Apps werden durch Cloud-Dienste ermöglicht.

Das Erstellen von Cloud-Diensten ist ein komplexer Vorgang. Die meisten Cloud-Plattformen bieten eine allgemeine Funktionalität zum Speichern von Daten und Ausführen von Code. Um die einzelnen Funktionen miteinander zu kombinieren, ist jedoch eine ganze Menge Infrastrukturcode erforderlich. Bestimmt reizt Sie diese Aufgabe, aber es gibt für Sie wahrscheinlich interessantere Themen als den Code für die Backend-Infrastruktur. Sie möchten sich darauf konzentrieren, Ihre großartige App-Idee zu realisieren.

Aus diesem Grund haben wir zu Beginn dieser Woche eine Vorschau des neuen Diensts in Windows Azure angekündigt: Mobile Services. Erfahren Sie nun, wie Sie Ihrer App mit Mobile Services in wenigen Minuten die gewünschten Cloud-Dienste hinzufügen können.

Registrieren Sie sich zunächst für die kostenlose Testversion von Windows Azure. Diese enthält 10 kostenlose Mobile Services. Im Folgenden erfahren Sie, wie Sie mit einem dieser Dienste eine einfache ToDo-Listen-App erstellen können.

Erstellen eines neuen Mobile Service

  1. Melden Sie sich nach der Registrierung unter https://manage.windowsazure.com mit Ihrem Microsoft-Konto an. Klicken Sie zum Erstellen eines neuen Mobile Service unten im Navigationsbereich auf die Schaltfläche „+NEW“.

    new_button

  2. Wählen Sie „Mobile Service“ aus, und klicken Sie auf „Create“. Folgender Bildschirm wird angezeigt:

    mobile_service

    Abbildung 1: Erstellen eines Drawers im Verwaltungsportal.

  3. Geben Sie im „New Mobile Service“-Assistenten einen Namen für Ihre App ein. Dieser ist Bestandteil der URL für den neuen Dienst.

    mobile_service_wizard

    Abbildung 2: „Create Mobile Service“-Assistent, erster Bildschirm.

  4. Wenn Sie einen Windows Azure Mobile Service erstellen, wird dieser automatisch einer SQL-Datenbank in Windows Azure zugeordnet. Ohne dass Sie benutzerdefinierten Servercode schreiben oder bereitstellen müssen, bietet das Windows Azure Mobile Service-Backend anschließend eine integrierte Unterstützung für Remote-Apps zum sicheren Speichern und Abrufen von Daten. Geben Sie den Namen der neuen Datenbank sowie einen Anmeldenamen und ein Kennwort für SQL Server ein. Notieren Sie diese Anmeldeinformationen, wenn Sie den Datenbankserver auch für andere Mobile Services verwenden möchten. Wenn Sie sich für eine kostenlose 90 Tage-Testversion registriert haben, steht Ihnen eine 1 GB-Datenbank kostenlos zur Verfügung.

    mobile_service_wizard2

Abbildung 3: „Create Mobile Service“-Assistent, zweiter Bildschirm.

Klicken Sie zum Abschließen des Vorgangs auf die Schaltfläche mit dem Häkchen. In nur wenigen Sekunden verfügen Sie über einen Mobile Service – ein Backend zum Speichern von Daten, Senden von Pushbenachrichtigungen und zum Authentifizieren von Benutzern. Als Nächstes probieren wir das Gleiche für eine App aus.

Erstellen einer neuen App für den Windows Store

  1. Klicken Sie auf den Namen des neu erstellten mobilen Diensts.

    store_apps

    Abbildung 4: Ihr neu erstellter mobiler Dienst.

    Sie haben jetzt zwei Möglichkeiten: Erstellen einer neuen App oder Verbinden einer vorhandenen App mit dem Mobile Service. Wenn Sie sich für die erste Möglichkeit entscheiden, erstellen Sie eine einfache ToDo-Liste zum Speichern von ToDo-Elementen in Ihrer SQL-Datenbank. Befolgen Sie die Schritte auf dem Bildschirm:

    todo

    Abbildung 5: Erstellen einer Mobile Services-App.

  2. Installieren Sie das Visual Studio 2012 und das Mobile Services SDK, sofern noch nicht geschehen.

  3. Erstellen Sie zum Speichern von ToDo-Elementen eine Tabelle. Sie müssen das Schema für die Tabelle nicht vordefinieren, da Mobile Services zum Speichern der Daten benötigte Spalten automatisch hinzufügt.

  4. Wählen Sie anschließend Ihre bevorzugte Sprache aus, C# oder JavaScript, und klicken Sie auf „Download“. Nun wird ein personalisiertes Projekt heruntergeladen, das bereits für die Verbindung mit dem neuen Mobile Service vorkonfiguriert wurde. Speichern Sie die komprimierte Projektdatei auf Ihrem lokalen Computer.

  5. Navigieren Sie zu dem Speicherort der komprimierten Projektdateien, extrahieren Sie diese auf dem Computer, und öffnen Sie das Projekt in Visual Studio 2012 Express für Windows 8.

  6. Drücken Sie F5, um die App zu starten.
    Geben Sie in der App im Textfeld auf der linken Seite ein ToDo-Element ein, und klicken Sie auf „Save“. Es wird eine HTTP-Anforderung an den neuen Mobile Service in Windows Azure gesendet. Anschließend werden die Daten sicher in Ihrer TodoItem-Tabelle gespeichert. Sie erhalten durch den Mobile Service eine Bestätigung, und die Daten werden in der Liste auf der rechten Seite angezeigt.

todolist

Abbildung 6: Fertige App.

Lassen Sie uns nun einen Blick auf den Code werfen, mit dem Ihre Daten in der App gespeichert werden Beenden Sie die ToDo-Listen-App, und doppelklicken Sie auf „App.xaml.cs“. Sehen Sie sich folgende Zeilen an:

 public static MobileServiceClient MobileService = new MobileServiceClient(
       "https://todolist.azure-mobile.net/",
       "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);

Hierbei handelt es sich um den vollständigen Code, der zum Verbinden Ihrer App mit dem Mobile Service erforderlich ist. Wenn Sie eine vorhandene App mit Ihrem Mobile Service verbinden möchten, können Sie diesen Code aus der Schnellstartoption „Verbinden einer vorhandenen App“ kopieren. Öffnen Sie nun „MainPage.xaml.cs“, und sehen Sie sich den folgenden Code zum Einfügen von Daten in den Mobile Service an:

 private IMobileServiceTable<TodoItem> todoTable = App.MobileService.GetTable<TodoItem>();
private async void InsertTodoItem(TodoItem todoItem)
{    
    await todoTable.InsertAsync(todoItem);    
    items.Add(todoItem);  
}

Mehr ist zum Speichern von Daten im Cloud-Backend nicht erforderlich. Der entsprechende Code in JavaScript ist folgender:

 var client = new Microsoft.WindowsAzure.MobileServices.MobileServiceClient(
    "https://todolist.azure-mobile.net/",
    "xPwJLJqYTMsAiBsHBHDhDEamZdtUGw75"
);
var todoTable = client.getTable('TodoItem');

var insertTodoItem = function (todoItem) {
    todoTable.insert(todoItem).done(function (item) {
        todoItems.push(item);
    });
};

Verwalten und Überwachen des Mobile Service

Wechseln Sie zurück zum Verwaltungsportal von Windows Azure, und klicken Sie auf die Registerkarte „Dashboard“, um Überwachung in Echtzeit und Auslastungsinformationen für Ihren neuen Mobile Service anzuzeigen.

todolist2

Abbildung 7: Dashboard für Mobile Services.

Klicken Sie auf die Registerkarte „Data“ und anschließend auf die TodoItems-Tabelle.

data_tab

Abbildung 8: Registerkarte „Data“.

An dieser Stelle können Sie die von der App in die Tabelle eingefügten Daten durchsuchen.

browse

Abbildung 9: Durchsuchen von Daten.

 

Fazit

In diesem kurzen Überblick sollte deutlich werden, wie einfach es ist, die Leistungsfähigkeit von Windows Azure für eine App zu nutzen, ohne den Aufwand, den das Schreiben, Verwalten und Bereitstellen eines komplexen Backend-Projekts mit sich bringt. Dies war nur ein kleiner Einblick in die Möglichkeiten von Mobile Services. Im Folgenden finden Sie einige weitere Funktionen, die Sie noch kennenlernen können.

Weitere Informationen zu Mobile Services finden Sie unter https://www.windowsazure.com/mobile.

– Kirill Gavrylyuk, Lead Program Manager, Windows Azure