Primo sguardo: lo strumento di mashup API di Microsoft per il resto di noi

Non tutte le applicazioni cloud devono essere su scala cloud. Sono spesso semplici instradamento e cambio di app che prendono le informazioni da una fonte, le elaborano in minima parte e poi le trasmettono. È qui che entrano in gioco strumenti come IFTTT e Yahoo Pipes, che consentono di creare e condividere rapidamente flussi di informazioni che collegano un servizio a un altro. Purtroppo, Yahoo Pipes è stato chiuso e IFTTT si è concentrato su semplici collegamenti all'Internet delle cose.

Ciò significa che c'è spazio nel mercato per un nuovo strumento, focalizzato sul lavoro con applicazioni e servizi e in grado di gestire catene di operazioni più complesse rispetto alla mappatura di base di IFTTT da un input a un output. Potresti creare microservizi su Node.js per automatizzare questo tipo di connessioni tra applicazioni e tra API, ma sarebbe eccessivo. Così come le app per la logica di Azure o AWS Lambda.

Oltre al lancio del suo nuovo strumento di sviluppo visivo, PowerApps, Microsoft ha recentemente presentato il suo nuovo strumento di sviluppo basato sulla connessione, Flow. Come IFTTT e Pipes, Flow è progettato per aiutarti a collegare rapidamente output e input per creare applicazioni attivate da un evento su un input e fornire risposte a uno o più servizi. Laddove IFTTT può scansionare un flusso di tweet e salvare contenuti specifici in un file, Flow può prendere un input e utilizzarlo come base per un flusso di informazioni più complesso, interrogando più fonti di informazioni e gestendo più azioni di conseguenza.

Con il supporto iniziale per 12 servizi (e molte altre API), Microsoft Flow è chiaramente progettato per automatizzare quelle che altrimenti sarebbero attività noiose. I servizi supportati includono Twitter, GitHub, Salesforce, Dropbox, Slack e Office 365, che ti danno accesso a gran parte di Office Graph. Utilizzando questi servizi, potresti, ad esempio, scansionare Twitter alla ricerca di menzioni di un prodotto e distribuirle in un canale Slack per il team del prodotto, consentendo al team di vedere cosa dicono gli utenti del loro prodotto.

Pro e contro, se e poi

Microsoft fornisce un set di 63 modelli iniziali che gestiscono una varietà di attività, tutte pronte per la personalizzazione. La gamma di modelli abbraccia la gestione delle relazioni con i clienti, le notifiche devops e i modi per gestire la tua vita online, colmando i divari tra archiviazione, social media, e-mail e altri servizi cloud.

Ho iniziato personalizzando uno dei modelli di base, prendendo i tweet che ho inviato e archiviandoli in un file CSV sul mio OneDrive personale. Modificare un flusso è relativamente facile. Ti vengono presentati gli elementi chiave di un modello nel tuo browser come un diagramma di flusso di base, input nella parte superiore di uno schermo, output nella parte inferiore. Puoi fare clic su un blocco per aprirne le proprietà. Ad esempio, in un blocco di Twitter, troverai una query Twitter standard.

Una differenza fondamentale tra Flow e IFTTT è il supporto per i condizionali. Ad esempio, se un file di cui hai bisogno non è presente, il flusso può crearlo e inserire un set iniziale di dati. Una volta impostato, un percorso alternativo aggiungerà nuovi dati al file. Flow offre un set molto semplice di operatori condizionali, ma è sufficiente per consentire di creare applicazioni relativamente complesse. Puoi concatenare input, query e condizionali, aiutandoti a controllare il flusso del tuo flusso, dall'input alla tua scelta di output.

C'è molta flessibilità in Flow. Quando approfondisci la creazione dei tuoi flussi anziché utilizzare i modelli forniti, scoprirai che sei in grado di utilizzare le definizioni API Swagger per collegare rapidamente API REST arbitrarie in un flusso. Sei anche in grado di connetterti a un'azione HTTP, un'opzione che ti consentirebbe di connetterti a un Web hook in un'applicazione come Slack, o di lavorare con i dati inviati su un modulo Web o tramite JSON Questa è una caratteristica importante, in quanto significa che non sei limitato al set predefinito di controlli.

Puoi anche creare un flusso in un'app PowerApps, dandogli la propria interfaccia utente. Il debug è facile, con report per ogni operazione che ti consentono di eseguire il drill-down in ogni blocco, in modo da poter vedere cosa è andato storto e, altrettanto importante, cosa è andato bene.

Solo l'inizio

Il risultato è un piccolo strumento potente che può graffiare rapidamente un prurito. La capacità di raggiungere qualsiasi API è significativa, così come il supporto per una gamma di diversi tipi di input. Microsoft ha fornito percorsi sufficienti in Flow che dovresti essere in grado di trovarne uno che funzioni con la tua scelta di input, anche se non sono tra i trigger specifici definiti da Flow. I risultati sono forse un po 'più limitati in questa fase. Mi sarebbe piaciuto vedere un supporto migliore per Office Graph e le sue varie entità, inclusi più tipi di documenti rispetto a Excel.

Alcuni aspetti del processo di sviluppo di Flow sono ancora un po 'buggati, specialmente riguardo alla sua integrazione con OneDrive. Ho trovato quasi impossibile scorrere un lungo elenco di cartelle, ad esempio, e ho dovuto inserire manualmente la cartella che intendevo utilizzare. Nonostante questi problemi iniziali, Flow si preannuncia come un sostituto dei purtroppo perduti Yahoo Pipes, anche se progettato per il mondo delle API che abbiamo oggi, piuttosto che semplicemente HTTP, RSS e XML.

Flow è un servizio che ha senso rapidamente, anche per i non programmatori. È abbastanza facile iniziare personalizzando un modello, ma una volta creati i propri flussi, il layout grafico del flusso e dei blocchi di programma ha rapidamente senso. Se vuoi andare oltre i modelli e le azioni predefinite, dovrai acquisire familiarità con la sintassi delle API RESTful. Il supporto di Flow per il linguaggio di descrizione dell'API Swagger dovrebbe semplificare le cose, almeno laddove siti e servizi offrono definizioni Swagger.

Con strumenti come Flow e PowerApps, Microsoft sta finalmente servendo un pubblico di sviluppatori composto da operatori dell'informazione che vogliono risolvere piccoli problemi. Flow non è uno strumento di programmazione generico, ma è comunque potente e flessibile. Flow è un passo in avanti verso un nuovo stile di sviluppo di applicazioni ed è utilizzabile da chiunque.