31
Zagreb, 26. rujna 2013. Hotel Antunović

[CROATIAN] Windows Azure Mobile Services

Embed Size (px)

DESCRIPTION

Presentation about Windows Azure Mobile Services I held on Mobility Day 2013 conference. Note: Content is on Croatian language.

Citation preview

Page 1: [CROATIAN] Windows Azure Mobile Services

Zagreb,

26. rujna 2013.

Hotel Antunović

Page 2: [CROATIAN] Windows Azure Mobile Services

Zagreb,

26. rujna 2013.

Windows Azure Mobile Services

Bruno Kovačić

Page 3: [CROATIAN] Windows Azure Mobile Services

Zagreb,26. rujna 2013.Hotel Antunović

Hvala partnerima i sponzorima!

Generalni sponzori

Generalni medijski sponzor

Glavni sponzori

Partneri

Medijski partneri

Akademski partner On-line partner

Page 4: [CROATIAN] Windows Azure Mobile Services

Uobičajena mobilna aplikacija

Pohrana podataka u cloud Autentikacija Backend – API Scheduled jobs Push notifikacije

Page 5: [CROATIAN] Windows Azure Mobile Services

Azure Mobile Services

Backend za mobilne aplikacije

Minimalno koda Jednostavno za

održavanje Skalabilan Jeftin Robustan

Page 6: [CROATIAN] Windows Azure Mobile Services

Azure Mobile Services

Data API Scheduler Identity Notifications Scale Logs Security

Page 7: [CROATIAN] Windows Azure Mobile Services

Data

Mobile Services Table Apstrakcija nad Azure SQL Database

Podržane CRUD operacije

Dynamic schema

Page 8: [CROATIAN] Windows Azure Mobile Services

demo

Mobile Services intro

Page 9: [CROATIAN] Windows Azure Mobile Services

Server side scripts

Dodatna kontrola nad CRUD operacijama

Node.JS

Moguće: Pristupiti tablicama Pristupiti bazi Pristupiti ostalim Azure servisima (Storage…)

Page 10: [CROATIAN] Windows Azure Mobile Services

Server side scripts - primjer

function update(item, user, request) {

if ( !item.IsLocked )

request.execute();

}

Page 11: [CROATIAN] Windows Azure Mobile Services

CRUD metode - argumenti

User Request Item (Insert i Update) Id (Delete) Query (Read)

Page 12: [CROATIAN] Windows Azure Mobile Services

Pristup podacima - Table

var todoTable =

tables.getTable('TodoTable');

todoTable.where({

userId: user.userId,

title: ‘TODO title'

}).read({

success: function(results) {

if (results.length > 0) {

//...

}

}

});

Page 13: [CROATIAN] Windows Azure Mobile Services

Pristup podacima - SQL

var sql = "SELECT id FROM permissions WHERE userId = ?";

mssql.query(sql, [user.userId], {

success: function(results) {

if (results.length > 0) {

// …

}

}

});

Page 14: [CROATIAN] Windows Azure Mobile Services

Pristup podacima – SQL II

mssql.open({

success: function(connection) {

connection.query(

//query to execute);

}

});

queryRaw()

Page 15: [CROATIAN] Windows Azure Mobile Services

demo

Server side scripts

Page 16: [CROATIAN] Windows Azure Mobile Services

Ne sviđa vam se editor?

Visual Studio + Azure command-line tools

Page 17: [CROATIAN] Windows Azure Mobile Services

Mobile services custom API

Mogućnost kreiranja dodatnih API-a za business logiku https://<service_name>.azure-mobile.net/api/<api_name>

exports.post = function(request, response) {

var tables = request.service.tables;

var user = request.service.user;

response.send(statusCodes.OK,

{ message : 'Hello World!' });

};

var result = await App.MobileService

.InvokeApiAsync<RetClass>("myApi",

System.Net.Http.HttpMethod.Post, null);

Page 18: [CROATIAN] Windows Azure Mobile Services

Kako rade push notifikacije

1. Zatraži channel URI

2. Registriraj se s WAMS

3. Izdaj zahtjev za slanjem notifikacije

Windows 8

(1)

(2)

(3)

(3)

Page 19: [CROATIAN] Windows Azure Mobile Services

Push notifikacije

Integrirane s WNS Konfiguracija putem portala push.wns.* pruža:

Objektni model za slanje notifikacija Odrađuje auth za vas

Page 20: [CROATIAN] Windows Azure Mobile Services

demo

Push notifikacije

Page 21: [CROATIAN] Windows Azure Mobile Services

Notification hub

Broadcasting poruka

Zasebni Azure servis

Page 22: [CROATIAN] Windows Azure Mobile Services

Autentikacija

Your App

AuthenticationAuthorization

User store

ManagementUI

Forget password?

Customersupport Data protection

Integrationwith Twitter

User mapping

Synchronization

IntegrationWith

Facebook

MoreUser mapping

FacebookAuth API

MoreSynchronization

Page 23: [CROATIAN] Windows Azure Mobile Services

Auth*

Autentikacija pomoću Microsoft Accounta, GoolgeID-a, Facebooka i Twittera

Prava pristupa na razini CRUD operacije nad tablicom

Everyone Anyone with the Application Key Only Authenticated Users Only Scripts and Admins

Detaljnija autorizacija moguća pomoću Server Logic

user.level: {admin, authenticated, anonymous} user.userId: id ili undefined

Page 24: [CROATIAN] Windows Azure Mobile Services

demo

Auth*

Page 25: [CROATIAN] Windows Azure Mobile Services

Scheduler

Server side skripta

Izvršavanje On demand Intervalno

Primjeri Arhiviranje starih podataka Dohvaćanje podataka s 3rd party servisa Resize slika

Page 26: [CROATIAN] Windows Azure Mobile Services

Diagnostics, Logging, Scale

Diagnostics API calls Active devices Data out

Logging console.error() console.log() console.warn()

Scale Broj front-end instanci Veličina baze

Page 27: [CROATIAN] Windows Azure Mobile Services

demo

Scheduler, Log

Page 28: [CROATIAN] Windows Azure Mobile Services

Source control

Lokalni razvoj + Azure command-line tools

Integrirani GIT

Page 29: [CROATIAN] Windows Azure Mobile Services

pitanja

Page 30: [CROATIAN] Windows Azure Mobile Services

ankete

Page 31: [CROATIAN] Windows Azure Mobile Services

Hvala