Introduzione alle Azure Logic Apps

di Nicolò Carandini, in App Service,

In questo articolo illustreremo come trarre vantaggio da un nuovo servizio cloud chiamato Azure Logic Apps che consente di far collaborare tra di loro una serie di altri servizi sia Cloud che On-Premises.

L'offerta di servizi PaaS (Platform as a Service) di Azure nel corso del tempo è andata aumentando e diversificando, e negli scorsi mesi si è arricchita di nuovi elementi. Per tale motivo Microsoft ha deciso di raggrupparne alcuni sotto un unico cappello, chiamato Azure App Service:

  • Web Apps
  • Mobile Apps
  • API Apps
  • Logic Apps

Azure App Service raggruppa sotto un'unica famiglia i servizi utili allo sviluppo di app per Web browser e dispositivi mobili per qualsiasi piattaforma e dispositivo, prendendosi carico di tutti gli aspetti di gestione dei server, di replica dei dati e scalabilità, nonché (e qui sta la novità) di facile integrazione con altri servizi esterni.

In estrema sintesi, Web Apps (ex Web Sites) consente la realizzazione di applicazioni Web mentre Mobile Apps (ex Mobile Services) offre gli strumenti per la gestione delle principali necessità delle applicazioni mobile, ovvero servizi REST, dati condivisi, sincronizzazione a basi dati remote, push notification centralizzate multipiattaforma (Windows, iOS e Android) e altro ancora.

La novità consiste nelle API Apps e nelle Logic Apps, che consentono a una parte la gestione e erogazione di servizi REST, da l'altra l'integrazione con collaborazione tra i diversi servizi e altri servizi esterni.

Azure Logic Apps

Dopo questo veloce excursus, necessario per tracciare una mappa architetturale e capire di cosa stiamo parlando, siamo arrivati finalmente al tema di questo articolo.

Per spiegare cosa sono e a cosa servono, facciamo anche in questo caso un esempio concreto, questa volta nel campo della stampa in 3D.

Per venire incontro alle esigenze di chi deve stampare una tantum e non può affrontare il costo di acquisto di una stampante 3D, è stato sviluppato un servizio che si chiama 3D Hubs che riunisce un grande numero di privati e aziende che hanno una stampante 3D e si offrono per eseguire stampe a pagamento.

Il servizio viene utilizzato dagli utenti tramite un sito web e consente di fare l'upload dei file da stampare in 3D, scegliere uno "stampatore" dall'elenco di quelli più vicini e ordinarne la stampa.

E' evidente che per ogni ordine dev'essere svolta tutta una serie di attività, quali ad esempio:

  • Elaborare alcuni dati come volume e dimensioni dell'oggetto da stampare, a partire dai file di stampa ricevuti;
  • Recuperare dal database l'elenco degli "stampatori" ordinati per distanza geografica dalla posizione in cui si trova il richiedente;
  • Quando il cliente eventualmente completa l'ordine, inviare i file dati allo stampatore insieme a una email che lo avverta del nuovo ordine di lavorazione da eseguire;
  • Quando lo stampatore comunica di aver terminato il lavoro, avvertire il cliente tramite email.

Da notare che alcune attività sono probabilmente eseguite utilizzando codice contenuto nell'applicazione Web stessa, mentre altre, ed è questo l'aspetto più importante, utilizzano altri servizi che espongono le loro funzionalità attraverso specifiche API (Application Programming Interface).

Sempre rimanendo all'esempio della stampa in 3D, è possibile immaginare l'uso di servizi di verifica validità e autoriparazione dei file di stampa (come ad esempio NetFabb) o di invio di SMS (Twilio). A questo punto lo schema architetturale potrebbe essere questo:

La nostra Web App su Azure che si connette ai servizi esterni NetFabb, Twilio e Database, e fin qui, nulla di nuovo.

Ma se i suddetti servizi (sia che siano su Azure che siano all'esterno, magari On-Premise), offrono le loro funzionalità tramite Azure API Apps, allora ecco che il nostro schema diventa il seguente:

Com'è facile notare dall'immagine, la nostra soluzione non consiste più in una semplice web app, ma si compone di più servizi che devono lavorare e collaborare insieme, in uno scenario tipico di integrazione tra le diverse parti.

Azure Logic Apps offre gli strumenti per definire in modo rapido e visuale tale collaborazione, nonché pianificare tutta una serie di operazioni di gestione e manutenzione che vanno eseguite su base periodica o come risposta ad un determinato evento.

Per illustrare tali strumenti in dettaglio, facciamo un giro di prova.

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

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

Approfondimenti

Top Ten Articoli

Articoli via e-mail

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

In primo piano

I più letti di oggi

In evidenza

Misc