notify your windows store app with service bus notification hub

Post on 05-Dec-2014

691 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Template designed by

notify you app

Fabio Cozzolinofabio@dotnetside.orghttp://dotnetside.org/blogs/fabio@fabiocozzolino

brought to you by

Chief Software Architect presso CompuGROUP Medical Italia, dove mi occupo si sviluppo SOA e cloud

Microsoft Integration MVP

Presidente di DotNetSide, user group di Puglia e Basilicata

Autore dei libriProfessional WCF 4: Windows Communication Foundation with .NET 4

Windows Azure: Programmare per il Cloud Computing

chi sono

scenario

push notification concepts

service bus notification hub in action

agenda

Quanti di voi conoscono Windows Azure?

Avete mai sentito parlare di Service Bus?

Quanti hanno sviluppato/sviluppano app per Win8/RT?

poll

numero sempre crescente ed eterogeneo di device (...e di apps)

ho bisogno di notificare la mia app:aggiornamenti

notizie in tempo reale

instant messaging

ma i device non sempre sono connessi

... e qui nasce un problema ...

scenario

<<...e ora come glielo dico?>>

pull vs pushogni «device» deve essere trattato con il dovuto rispetto

dobbiamo considerare alcuni aspetti come: connettività

consumo di risorse (batteria)

applicazioni in background

push notification: perchè?

Push Notification types

Toast Notification

Tile Notification

Tile Notif...

Badge Notification 8

Push Notification

App

Registro il dispositivo ed ottengo l’handle

L’app riceve la notifica

Registro l’handle nel mio AppBackend

Invio la notifica al PNS utilizzando l’handle

(protocollo proprietario)App BackEnd Service

Push Notification

Service

Event SourceInvio la notifica

Subs

Push Notification

Service

Push Notification

Service

Push Notification API

App

Registro il dispositivo ed ottengo l’handle

L’app riceve la notifica

Registro l’handle nel mio AppBackend Invio la notifica via

APIApp BackEnd

Service

Push Notification

Service

Event SourceInvio la notifica

Subs

Intermediary API

Invio la notifica al PNS(protocollo proprietario)

Service Bus Notification Hub

App

Registro il dispositivo ed ottengo l’handle

L’app riceve la notifica

Registro l’handle nel Notification Hub

Invio la notifica al PNS utilizzando l’handle

(protocollo proprietario)Service Bus Notification Hub

Push Notification

Services

Event SourceInvio la notifica

Subs

Stats

Service Bus SDK

Gestore unico delle sottoscrizioni e delle statisticheDispatching dei messaggi e monitoring delle transazioni

Modalità unica di comunicazione (PNS)WNS - Windows Notification Service

APNS – Apple Push Notification Service

ASAPC2DM – Android Cloud to Device Messaging Framework

MPNS – Microsoft Push Notification Service

Windows Azure Service Bus Notification Hub

dem

o Hello World

Supporto per le notifiche cross-platform

Consentono di personalizzare le tipologie di notificheAtttraverso l’utilizzo di una property bag

Vengono definiti dall’applicazione

templates

iOS Template{“aps”: {“alert”:”$(message)”}}

Windows Store apps Template<toast> <visual> <binding template=\"ToastText01\"> <text id=\"1\">$(message)</text> </binding> </visual></toast>

Template registrationMaggiore complessità lato client

E’ il client responsabile della registrazione

Maggiore flessibilità nel backend

Native registrationIntegrazione lato client più semplice

Maggiore controllo della notifica nel backend

Creazione e nell’invio di più notifiche specifiche per piattaforma

templates vs native registration

Applicazione di filtri sulle sottoscrizioniSe specificati, il messaggio viene inviato solo a chi ne ha fatto richiesta

Coppie nome-valore aggiuntive ai templatesregistrate in fase di sottoscrizione

È il ServiceBus che lavora per noi 😎

tags

Shared Access SignatureChiave condivisa per la firma

Permessi a livello di operationin linea con il Service Bus di default: Listen e Listen,Send,Manage

Via SDK è possibile modificare le regole di autorizzazioneRegole di autorizzazione anche a livello di tags

security

Al momento il Notification Hub non sostituirà i Mobile Services

I due servizi saranno complementari

Il backend dei Mobile Services potrà utilizzare anche il Notification Hub, in grado di raggiungere una moltitudine di device, con in più il supporto ai tags

Notification Hub vs Mobile Services

A Windows Store development account

Service Bus .NET Preview SDKA NuGet package that contains Service Bus preview features

Service Bus WinRT Managed SDKhttp://go.microsoft.com/fwlink/?LinkID=277160

What you need: tools & sdk

Grazie a tutti per la partecipazione

Riceverete il link per il download a slide e demo via email nei prossimi giorni

Per contattarmi

fabio@dotnetside.org

@fabiocozzolino

Grazie

Il potere è come la contrazione della balestra; la tempestività,

come lo scoccare del dardo

Bonus

Service Bus Communication Patterns

Relayed Messaging Brokered Messaging(Topics,Queue)

Relay vs. Message Broker

Il Relay instrada i messaggi attraverso il cloud utilizzando l’algoritmo Backpressure Feedback che consente

l’accodamento e l’immediato scodamento dei messaggi nei vari nodi attraversati

Route

AuthN/ZBackpressure Feedback

Query FilterPull

AuthN/Z

Brokers mantengono i messaggi per il successivo recupero o interrogazione

Brokered Transfer

Load LevelingReceiver ricevono e processano i messaggi secondo le loro esigenze. Non devono mai essere sovraccaricati. E’ possibile aggiungere nuovi Receivers se il carico aumenta o ridurli se diminuisce, gestendo i picchi di carico senza stressare il backend.

Offline/BatchIl Receiver può essere offline per diverse ragioni. Le richieste vengono quindi “bufferizzate” fino al momento in cui ritorna disponibile.

Competing Consumer

Load BalancingPiù Receivers possono ascoltare sulla stessa coda

Tips: osservare il numero di messaggi “in coda” in attesa di essere processati può essere considerato come un indicatore per variare il numero di Receivers

TopicsSubSubSub

Message DistributionLe sottoscrizioni sono indipendenti e ogni Receiver avrà la sua copia del messaggio. Permette a molti Subscribers di regolare il flusso dei messaggi. Un Subscriber può creare filtri in base ai suoi interessi.

Constrained Message Distribution (Partitioning)Ogni Receiver riceverà una parte del flusso dei messaggi, permettendo una distribuzione sulla base delle condizioni espresse nei filtri.

Date>01/01/2012ShipDestCity=‘Bari’

Thanks

top related