L'utilizzo di un approccio MQTT puro sarà la decisione giusta?

0

Ho intenzione di fornire funzioni aggiuntive per un'applicazione per punto vendita di terze parti a sorgente chiusa. Tale applicazione è utilizzata nei ristoranti, viene eseguita su Windows e utilizza i database in stile dbase. Conosco i dettagli sulla struttura del database (hey, è DBase , quindi non è un grosso problema ;-)) e sono in grado di leggere e correlare le tabelle.

L'applicazione viene eseguita dietro un firewall né io né la maggior parte dei client possono influenzare, quindi l'apertura delle porte in entrata sul firewall non è possibile.

Le funzioni aggiuntive che fornisco possono essere utilizzate in un'applicazione ospitata esternamente o in un'app su uno smartphone ( iOS o Android non ha importanza qui, lo farò di più probabilmente usa Apache Cordova per questo)

I miei problemi sono ottenere i dati fuori . Nel mio attuale design / architettura ho intenzione di utilizzare MQTT per pubblicare i dati dal sito dei clienti a un server situato su Internet in cui può essere recuperato dall'app / applicazione. Purtroppo non ho esperienza con MQTT e non so se sarebbe meglio adottare un approccio / alternativa diverso e utilizzare solo MQTT per pubblicare dati e aggiungere un livello REST aggiuntivo per l'applicazione / l'app.

Ecco i miei criteri per rendere MQTT la "decisione giusta"

  • supporto autenticazione per pubblicare e recuperare dati (nessuno deve essere in grado di falsificare dati o recuperare dati per un sito che è non ha diritto di vedere)
  • usa il meno possibile larghezza di banda (il mio server e il dataplan per lo smartphone con l'app hanno un limite e io o l'utente verrà addebitato per la larghezza di banda utilizzata oltre tale limite)
  • si adattano bene alle varie e complesse strutture JSON (dall'immagine puoi vedere quale tipo di informazioni voglio trasportare, possono essere diverse kilobyte)
  • supporta il recupero dei dati utilizzando REST (ho letto che MQTT può essere utilizzato da Javascript e in uno stile REST ma non ho alcuna esperienza più approfondita)
  • consentire la segnalazione degli aggiornamenti dal sito all'utente
  • consenti elenco (un utente dovrebbe essere in grado di utilizzare REST per recuperare un elenco di siti a cui ha diritto anch'esso) e filtro (quando ad esempio ottenere dettagli su un impiegato l'utente dovrebbe essere in grado di impostare un filtro per il nome dell'impiegato)

LamiapiùgrandedomandaèseMQTTsaràutilizzabiledall'applicazioneweb/Appinunmodo"elegante". Potrei aggiungere in modo relativamente semplice il mio livello REST "sul lato destro dell'immagine" ma non voglio complicare eccessivamente il mio design

    
posta Marged 18.05.2015 - 17:47
fonte

0 risposte

Leggi altre domande sui tag