Upload
bruno-kovacic
View
1.738
Download
1
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
Zagreb,
26. rujna 2013.
Hotel Antunović
Zagreb,
26. rujna 2013.
Windows Azure Mobile Services
Bruno Kovačić
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
Uobičajena mobilna aplikacija
Pohrana podataka u cloud Autentikacija Backend – API Scheduled jobs Push notifikacije
Azure Mobile Services
Backend za mobilne aplikacije
Minimalno koda Jednostavno za
održavanje Skalabilan Jeftin Robustan
Azure Mobile Services
Data API Scheduler Identity Notifications Scale Logs Security
Data
Mobile Services Table Apstrakcija nad Azure SQL Database
Podržane CRUD operacije
Dynamic schema
demo
Mobile Services intro
Server side scripts
Dodatna kontrola nad CRUD operacijama
Node.JS
Moguće: Pristupiti tablicama Pristupiti bazi Pristupiti ostalim Azure servisima (Storage…)
Server side scripts - primjer
function update(item, user, request) {
if ( !item.IsLocked )
request.execute();
}
CRUD metode - argumenti
User Request Item (Insert i Update) Id (Delete) Query (Read)
Pristup podacima - Table
var todoTable =
tables.getTable('TodoTable');
todoTable.where({
userId: user.userId,
title: ‘TODO title'
}).read({
success: function(results) {
if (results.length > 0) {
//...
}
}
});
Pristup podacima - SQL
var sql = "SELECT id FROM permissions WHERE userId = ?";
mssql.query(sql, [user.userId], {
success: function(results) {
if (results.length > 0) {
// …
}
}
});
Pristup podacima – SQL II
mssql.open({
success: function(connection) {
connection.query(
//query to execute);
}
});
queryRaw()
demo
Server side scripts
Ne sviđa vam se editor?
Visual Studio + Azure command-line tools
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);
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)
Push notifikacije
Integrirane s WNS Konfiguracija putem portala push.wns.* pruža:
Objektni model za slanje notifikacija Odrađuje auth za vas
demo
Push notifikacije
Notification hub
Broadcasting poruka
Zasebni Azure servis
Autentikacija
Your App
AuthenticationAuthorization
User store
ManagementUI
Forget password?
Customersupport Data protection
Integrationwith Twitter
User mapping
Synchronization
IntegrationWith
MoreUser mapping
FacebookAuth API
MoreSynchronization
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
demo
Auth*
Scheduler
Server side skripta
Izvršavanje On demand Intervalno
Primjeri Arhiviranje starih podataka Dohvaćanje podataka s 3rd party servisa Resize slika
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
demo
Scheduler, Log
Source control
Lokalni razvoj + Azure command-line tools
Integrirani GIT
pitanja
ankete
Hvala