1. Windows Azure Mobile Services How-to Guide
Windows Azure
Microsoft Expert Student Partner jan.hentschel@studentpartners.de
Jan Hentschel Windows Azure Insider @Horizon_Net
2. Aufbau dieses How-tos
• Einführung und Möglichkeiten
• Erstellen eines Mobile Services
• Hinzufügen von Push Notifications zur Beispiel-App
• Hinzufügen der Authentifizierung zur Beispiel-App
• Zusammenfassung und FAQ
• Videos unter
• http://bit.ly/SXDkh4
• http://janatdevelopment.com/
3. Agenda
• Einführung in die Mobile Services
• Authentifizierung
• Push Notifications
• Serverseitige Skripte
• Diagnostics, Loggin & Skalierung
• Zusammenfassung und FAQ
4. Einführung in die Mobile Services
Was sind die Windows Azure Mobile Services?
5. Einführung in die Mobile Services
Warum Windows Azure Mobile Services?
• Was braucht man ohne Mobile Services?
• Web Service
• Windows Azure Storage
• Windows Azure SQL Database
• Access Control Service
• Etc.
• Mit Windows Azure Mobile Services alles in einem Paket
• Leichtere Erstellung eines mobilen Backends innerhalb von
Minuten
7. Einführung in die Mobile Services
Strukturierter Speicher
• Strukturierter Speicher anhand einer SQL Database
• Verwalten der Daten über
• Das Portal
• Das SQL Portal
• SQL Management Studio
• REST API…
8. Authentifizierung
• Authentifizierung gegen Windows Live
• Zugriffslevel für jede CRUD-Operation
• Everyone
• Anybody with the Application Key
• Only Authenticated Users
• Only Scripts and Admins
• Feinere Kontrolle anhand von serverseitigen Skripten
10. Push Notifications
• Interagiert mit WNS um Toast, Tile, Badge & Raw
Notifications zur Verfügung zu stellen
• Portal verwaltet das WNS Client Secret und die Package SID
11. Serverseitige Skripte
• Automatisch generierte Service REST API für den Speicher
• Dynamische Schemata können ein- & ausgeschaltet werden
• Ermöglichen anwendungsspezifische Logik auf dem Server
• Logik wird als JavaScript-Funktionen bereitgestellt
• Serverseitige Skripte auf Tabellen für
• Inserts
• Updates
• Deletes
• Reads
14. Diagnostics, Logging & Skalierung
• Diagnostics
• API-Aufrufe
• CPU-Zeit
• Data Out
• Logging
• console.error(…)
• console.log(…)
• Skalierung – Compute
• Scale-out über Instanzenanzahl
• Scale-up über die VM-Größe
• Skalierung – Speicher
• Scale-out über dedizierte SQL DB
• Scale-up über die SQL DB
16. Zusammenfassung
Warum Windows Azure Mobile Services?
• Mobiles Backend in Minuten
• Leichtes Hinzufügen von
• Push Notifications
• Authentifizierung
• Anwendungsspezifischer Logik per serverseitigen Skripten
17. FAQ
Allgemeines
• Allgemeine Informationen
• Freischalten der WAMS - https://account.windowsazure.com/PreviewFeatures
• Dev Center - https://www.windowsazure.com/en-us/develop/mobile/
• Tutorials - https://www.windowsazure.com/en-us/develop/mobile/resources/
• Dokumentation - http://msdn.microsoft.com/en-
us/library/windowsazure/jj554228.aspx
• Videos - http://channel9.msdn.com/search?term=windows+azure+mobile+services
18. FAQ
Downloads & Troubleshooting
• Push Notifications
• Live Connect Entwicklungscenter - http://msdn.microsoft.com/de-de/live/
• Downloads
• Live SDK - http://msdn.microsoft.com/de-de/live/ff621310
• Foren
• WAMS Forum - http://social.msdn.microsoft.com/forums/de-
de/azuremobile/threads
• Windows 8 - http://social.msdn.microsoft.com/Forums/en-
US/category/windowsapps
19. Web Ressourcen
Unter folgenden Einstiegspunkten finden sich alle Ressourcen, die für einen Start in Windows Azure wichtig sind
• Windows Azure Homepage
http://www.azure.com
• Kostenloser Demo-Account
http://www.windowsazure.com/en-us/pricing/free-trial/?WT.mc_id=A2DCCE88E
• Windows Azure Development Center
http://www.windowsazure.com/en-us/develop/overview/
• Windows Azure SDKs
http://www.windowsazure.com/en-us/develop/downloads/
• Windows Azure Training Kit
http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/
• Kundenreferenzen
http://www.microsoft.com/de-de/business/kundenreferenzen/default.aspx?product=53
• Video-Serie zu Windows Azure (10-Minuten-Videos):
http://www.youtube.com/watch?v=kLfaa_19yB4&list=PLC71216BDE26EBE8C
Zur Zeit gibt es (offiziell) nur ein Windows 8 Client SDKSupport für iPhone, Windows Phone und Android folgtAuthentifizierungAuthentifizierung gegen Windows LiveAuthentifizierung auf Tabellenniveau ohne CodeFeinere Kontrolle mit serverseitiger LogikServer LogikAutomatische Erstellung einer CRUD REST APIEin-/Ausschalten eines dynamisches SchemasEingeschaltet: Mobile Services erstellt automatisch Spalten in Tabellen, je nach einkommenden DatenAusgeschaltet: Mobile Services akzeptiert nur Daten, dessen Eigenschaften zu existierenden Spalten in einer Tabelle passenIndividuelle Anpassung der CRUD Pipeline mit serverseitiger LogikNotificationsNutzung von WNS um Toast, Tile, Badge und RawNotifications bereitzustellenLoggingIn Skripten per console.error(…) und console.log(…)DataAutomatische Erstellung einer Storage Service APIDiagnosticsAPI-AufrufeCPU-ZeitData OutScaleComputeScale out anhand von InstanzenScaleup anhand der VM-GrößeStorageScale out anhand dedizierte SQL DBsScaleup anhand der SQL DB
Erstellung von mobile AppsStändig wiederholende Aufgaben wie Authentifizierung, Push Notifications und strukturierte Datenhaltung werden vermiedenRapid DevelopmentSchnelle Bereitstellung eines funktionierenden BackendsApps basierend auf strukturierten DatenDirektverbindung zu einer Windows Azure SQL Database für einfache Datenhaltung und dynamisches Erstellen von TabellenEinfaches Erstellen und Verwalten von Zugriffsrechten
Everyone: Alle Anfrange für die Operation gegen die Tabelle werdenaktzeptiert. Dies lässt den Zugriff für jeden offen.AnybodywiththeApplication Key: Der korrekte Application Key wird für die Ausführung der Operation benötigt. Der Application Key wird mit der App verteilt. Da der Key nicht sicher verteilt wird, stellt es kein Security Token dar. Dafür muss eine Authentifizierung implementiert werden.OnlyAuthenticated Users: Nur authentifizierte Nutzer dürfen die Operation durchführen.Only Scripts andAdmins: Für diese Operation wird der Service Master Key benötigt, welcher die Operation auf registrierte Skripte und Administratoren limitiert.
- Über den Windows Notification Services Bereitstellung von Toast, Tile, Badge und RawNotifications
- Code Snippet überprüft, ob die Text-Eigenschaft eines Items länger als 10 Zeichen lang ist und antwortet mit einem Fehler, wenn mehr Zeichen verwendet werden