In SnapLogic abbiamo un piccolo problema. Mentre trascorriamo una percentuale irrisoria della giornata a guardare adorabili video di gatti su Internet, sembra che il nostro CEO compaia sempre dietro le nostre scrivanie mentre lo facciamo. Se solo sapessimo quando il nostro CEO è nelle vicinanze e potessimo ricevere un avviso quando lo fa.
Abbiamo quindi bisogno di una soluzione IoT in grado di tracciare gli spostamenti del nostro CEO e di riportarli in ufficio. Di recente è stato organizzato un webinar su questo argomento e nei post precedenti abbiamo discusso i passaggi generali per creare una pipeline utilizzando un dispositivo IoT WiFi (Particle.io Photon). I bravi ragazzi di Particle hanno anche creato un dispositivo connesso alla rete cellulare chiamato Electron e una scheda di espansione GPS. Gli stessi principi di utilizzo del Photon si applicano all'Electron; infatti, una volta installata la scheda SIM cellulare, non c'è alcuna differenza di sviluppo. Questo post si concentrerà sul lato SnapLogic; per ulteriori informazioni sul microcontrollore, consultare il webinar o il repository del codice.
Il nostro dispositivo, visto in alto mentre esegue alcuni test statici in una finestra, pubblica periodicamente due stringhe al Particle cloud. Una stringa contiene la latitudine e la longitudine attuali del tracker, l'altra contiene il livello di carica della batteria. La Particella cloud attiva quindi un webhook, dove invia i dati ricevuti a un websever. Vogliamo fare due cose: (1) memorizzare questi dati in un database per analisi future e (2) far lampeggiare una luce se il nostro CEO è troppo vicino.
Il nostro database, tuttavia, è dietro un firewall e non è accessibile pubblicamente. Questo non è un problema utilizzando SnapLogic. Prendiamo la seguente pipeline e la rendiamo un task attivato, in modo che possa essere richiamato da Internet con le credenziali appropriate. Ci assicuriamo che il webhook di Particle disponga di tali credenziali e quindi, quando si verifica un evento, questa pipeline viene attivata:
Qui stanno accadendo diverse cose:
- L'opzione Record Replay Snap (in alto a sinistra) ci permette di registrare i dati che arrivano e poi, beh, di riprodurli, in modo da poter eseguire i test senza attendere il dispositivo.
- Il codice di risposta Snap (al centro a sinistra) restituisce immediatamente un "200 Started OK" al webhook, in modo che non vada in timeout in attesa del completamento della logica successiva.
- Il mappatore (in alto a sinistra) formatta i dati in arrivo, li passa al router che li invia in rami diversi a seconda che si tratti di informazioni sulla posizione o sulla carica della batteria, e infine li inserisce in un database. Questo database si trova dietro il nostro firewall; lo Snaplex su cui viene eseguita la pipeline ha il permesso di scriverci, anche se non è direttamente esposto a Internet. È un modo molto comodo per mantenere la sicurezza e l'accessibilità.
- Il Copy Snap al centro a destra prende i dati sulla posizione e ne invia una copia a Postgres e anche alla logica Light (si veda il cerchio 28, che si avvolge intorno allo stub della pipeline a sinistra). Questa logica light è presa in prestito dal post del blog LEAVE di cui abbiamo parlato in precedenza.
- Questa esecuzione a quattro snap fa tre cose: controlla se il nostro amministratore delegato si trova entro un raggio di un miglio dall'ufficio e calcola il valore hash richiesto dalla luce; lascia passare il documento (il filtro) se la posizione segnalata è a meno di un miglio di distanza; quindi prepara il payload e lo invia alla luce, che sta eseguendo un Particle Photon. Le luci lampeggiano e tutti si affrettano a guardare in giro.
Questo è tutto ciò che serve per far sì che un dispositivo cellulare alimentato a batteria si connetta in modo sicuro a database e dispositivi all'interno del firewall aziendale. Ciò è reso possibile dalla recente serie di strumenti hardware IoT che assomigliano a servizi web e dall'architettura split control plane - data plane di SnapLogic, che consente di collegare servizi in zone di sicurezza diverse in modo sicuro e controllato.
Potrebbe anche tenervi fuori dai guai con il vostro amministratore delegato.