20
Mobile Backend in der Azure Mobile Services / Websites / Active Directory / … Cloud

Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Backend in der Azure Mobile Services / Websites / Active Directory / …

Cloud

Page 2: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Kontext

Mobile Users

Social Networks

Others TFS online

Back-Office

Push

Data

Auth

Website

Logic

DevOps

Page 3: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Windows Azure Mobile Service

Page 4: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Data

(SQL DB)

Beispielapplikation

Portal Website

Neu!

Neu!

Push

PushPush

Neu!

?

?

?

Active

Directory

Portal WebsiteTeam

Mobile

Service

Team

Anforderungen

AnforderungenAnforderungenAnforderungen

3

5

5

Page 5: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext
Page 6: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Portal mit Azure Website

ASP.NET MVC 5 Web Applikation Entity Framework Code First

Bootstrap Framework, JQuery

Azure Active Directory Integration Identity and Access

Auslesen der Benutzer aus dem Active Directory mittles Graph API

Azure SQL Database Speichern der Projekte

Gemeinsam genutzte Datenbank mit Website und Mobile Service

Page 7: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Backend mit Mobile Services

Mobile Services

Identity Providers

f …

Acc

ess

Laye

r

Other Cloud

Services

Storage PNS

Page 8: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Data

Mobile Services Data Problem: «Geheimnisse sollen geheim bleiben» (Connection-Strings, …)

Lösung: Web-Service (REST) Mobile Service

Basiert auf Node.js (JavaScript-Server) oder ASP.NET WebAPI (Preview)

Kapselt Datenzugriff mit Webservice

Ermöglicht Ausführung von Code bei Datenzugriff auf Daten-Tabellen

Data

(SQL DB)

Connection String

(Username, Secret)

Mobile

Service

Auth

Page 9: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Data: Beispiel (Node.js)

Table Scripts Für CRUD Operationen (Funktionen):

read

insert

delete

update

Rechte pro Funktion Jeder

Jeder mit Application Key

Nur authentisierte Benutzer

Nur Scripts und Admins

Page 10: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Logic

API JavaScript oder .NET WebAPI basierter Web-Service (REST)

Nicht an Tabellen gekoppelt

Zugriff auf andere Azure Dienste

Libraries für Node.Js bzw. .NET

Storage (SQL-Azure, Blob, Table, Queues, Service Bus)

Management API

Windows Store Partners (Sengrid, Twillio, Pusher)

Scheduler Zeitintervall oder «manuelle Anfrage»

Kein Webservice-Endpunkt

Page 11: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Authentication

Mobile Services Identity gemeinsames API für unterschiedliche Identity Provider:

Microsoft Account, Facebook, Twitter, google,Azure Active Directory (preview)

Code Server-side-Scripts: user-object Beispiel AAD: user.getIdentities({

success: function (identities) {var objectId = identities.aad.oid;console.log(objectId);

}}); Client-Side: App.MobileService.CurrentUservar user = await App.MobileService.LoginAsync("aad");var user = awaitApp.MobileService.LoginAsync(MobileServiceAuthenticationProvider.Facebook);

Page 12: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Push Notification

Mobile

Service

1. PNS Handle abrufen2. PNS Handle im App

Backend speichern

Plattform

Notification

System

App Backend

Mobile App

3. Benachrichtigung senden

4. Gerät benachrichtigen

Page 13: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Mobile Services Push Notification

Platform Notification Systems (PNS) Windows 8: Windows Push Notification Service Windows Phone: Microsoft Push Notification Service iOS: Apple Push Notification Service Android: Cloud To Device Messaging

Klassische Push-Infrastruktur Plattformabhängigkeit: Pro Plattform eine Schnittstelle Eingeschränkte Skalierbarkeit Weiterleitung an einzelne Geräte nicht an Gruppen

Page 14: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Service Bus Push Notification

Benachrichtigungshubs (Notification Hubs) Gemeinsame Schnittstelle für alle wichtigen Plattformen

Beliebiges Backend (Cloud or on-premises, .NET, PHP, Java, Node, etc.)

Pub/Sub-Routing an Tags zur Benachrichtigung von Gruppen

Skalierung

Page 15: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Service Bus Push Notification

Mobile

Service

1. PNS Handle abrufen2. PNS Handle (und Tags) in

App Backend speichern

Plattform

Notification

System

App Backend

Mobile App

3. Benachrichtigung an

Benachrichtigungshub

senden

4. Geräte

benachrichtigen

Benachrichtigungshub

2. PNS Handle (und Tags)

in Benachrichtigungshub

registrieren

3. Benachrichtigung senden

Page 16: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Lean Startup Process

Ideen

Code

Daten

Lean Startup, see: http://theleanstartup.com/principles

Messen

Lernen

Erstellen

Visual Studio

Source Verwaltung

Testautomatisierung

Keine Server aufsetzen

Continuous Integration

Frameworks für gängige

Plattformen

Schneller entwickeln

Schneller messen

TFS Templates

for Scrum and Agile

Task / Bug Tracking

Conituous Feedback

DevOps

(TFS & SystemCenter)

Benutzerverhalten:

Application Insights Telemetry Big Data Analysis mit HDInsight

Schneller lernen

Load Testing

Performance Analysis

Usage Statistics / Dashboards

Monitoring of Cloud Services

Intelli Trace

….

Page 17: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext
Page 18: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

ALM in Cloud Projekten

Technologie

Tools Vorgehen

Architektur

ALM

Visual Studio online / TFS

Azure SDK

Windows AzureWindows Phone

AgileProjektmanagementKollaboration

Anforderungen

Anforderungen

Scrum

Qualität

Bausteine

Abstraktion

Abläufe

SchichtenKontextAndroid iOS

Windows 8

Visual Studio 2013

Verfügbarkeit

Skalierbarkeit

VerteilungDev-Ops

Identity

Integration

Application

Insights

Page 19: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Zusammenfassung

Das sind die 3 wichtigsten Punkte, die wir Ihnen erzählen wollten:1. Mobile Lösungen sind mehr als nur Apps

2. Mobile Services bieten Lösungen zu allen wesentlichen Aspekten von mobilen Backends

3. Agiles Vorgehen benötigt entsprechende Infrastruktur. Die Cloud ist ein «Enabler» dafür.

Page 20: Mobile Backend in der Cloud - noser.com¤sentation-Mobile-Backend-in-der-Cloud.pdf · Mobile Backend in der Azure Mobile Services / Websites / ActiveDirectory / … Cloud. Kontext

Besten Dank für Ihre Aufmerksamkeit

Für allfällige Fragen stehen wir Ihnen jederzeit gerne zur Verfügung:

Martin Weber

Noser Engineering AG

Rudolf-Diesel-Strasse 3

8404 Winterthur

+41 52 234 56 11

[email protected]

www.noser.com

blog.noser.com