Una piattaforma SMS per web e Windows Phone 7 basata su Windows Azure

Windows Azure è la piattaforma sviluppata da Microsoft per il cloud computing che permette di realizzare applicazioni che siano in grado di essere sempre disponibili e soprattutto scalabili. E' su quest'ultima che la piattaforma punta, fornendo servizi che permettano di poter reagire facilmente all'incrementare della mole di lavoro senza dover cambiare la propria architettura e senza nessun intervento diretto, se non per la regolazione delle eventuali istanze di web e worker role.

La piattaforma è in continua evoluzione e ogni qualche mese Microsoft offre in CTP e poi in RTM, alcune funzionalità che vanno sempre più ad arricchire le opportunità di sviluppo per le proprie applicazioni. Con la versione 1.5 di settembre, sono ad esempio state incluse le Queue, i Topic e le Subscription per ampliare le capacità di messaggistica offerte da Windows Azure AppFabric Service Bus.

In questo articolo si vuole affrontare Windows Azure sfruttando alcune delle sue caratteristiche, soffermandosi soprattutto sulle novità di settembre prima citate. L'idea, alla base dell'esempio propoposto, è di creare una piattaforma per l'invio di SMS tra dispositivi mobili, ma consultabili anche via web, aprendo inoltre la strada a molteplici interessanti scenari.

Da Relayed Messaging a Brokered Messaging

Sin dalla prima versione di Windows Azure è presente un'infrastruttura, di nome Service Bus, il cui intento è di permettere lo scambio di messaggi (in senso generico, non legato agli SMS presi in carico in questo esempio) fra applicazioni che non possono parlare direttamente tra loro, ma necessitano di un intermediario. Windows Azure si pone quindi come tale perché risiede in the cloud ed è perennemente connesso alla rete internet, e attraverso un pattern di nome relayed messaging permette l'instradamento dei messaggi inviati da un mittente e di rigirarli ad un destinatario.

Tutto questo è possibile sfruttando protocolli come SOAP, WS-* e REST che permettono sia al mittente che al ricevente di stabilire una connesione in uscita, in TCP o HTTP, verso il Service Bus, il quale poi li mette in comunicazione scambiando messaggi. In questo modo i due applicativi non devono esporsi sulla rete con porte di ingresso e non richiedono policy speciali per i firewall che le proteggono. L'utilizzo di questa infrastruttura è inoltre facilitata dall'uso di librerie .NET, e in particolare di binding specifici per WCF, che permettono di esporre o consumare servizi passando per il Service Bus.

Questo approccio è molto comodo per scenari di comunicazione veloce, dove i messaggi devono essere scambiati in modo diretto. E' stato quindi introdotto un nuovo pattern, di nome brokered messaging, nel quale la comunicazione può considerarsi asincrona, perché non è più richiesta la presenza contemporanea di chi produce il messaggio (il mittente) e di chi lo consuma (il ricevente). I due soggetti possono quindi essere non sempre connessi alla rete e lo scambio dei messaggi sopravvive più facilmente a crash delle applicazioni, sovraccarichi o temporanei malfunzionamenti. Il brokered messaging si basa quindi su queue, cioè code di messaggi di tipo FIFO nel quale inserire e ricevere messaggi.

Per lo scopo di questo articolo sono quindi ottime, perché permettono ad un soggetto, attraverso Windows Phone o una pagina web, di inviare uno o più SMS ad un secondo soggetto. Quest'ultimo, quando ne fa richiesta, riceve i messaggi in coda e li mostra a video.

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Una piattaforma SMS per web e Windows Phone 7 basata su Windows Azure 1010 2
| Condividi su: Twitter, Facebook, LinkedIn, Google+

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I tutorial
Top Ten Articoli
Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

Iscrivi subito! »»»

In primo piano

I più letti di oggi

Media
In evidenza
MISC