Architettura della soluzione

Architettura della soluzione

Introduzione

Ogni installazione di Logistica Lite si compone di tre elementi:
  1. il prodotto gestionale (eSOLVER o ENOLOGIA)
  2. il servizio REST che consente alla app di comunicare con il prodotto gestionale
  3. la app che viene installata sui dispositivi portatili


Il servizio REST viene eseguito da un server web (Microsoft IIS); può essere installato sullo stesso server in cui si trova il prodotto gestionale, oppure su un server dedicato. La app viene installata sui dispositivi portatili e comunica esclusivamente con il servizio REST (nella maggior parte dei casi tramite Wi-Fi); la app non può accedere direttamente al database o alla direttiva base del prodotto gestionale.

Servizio REST

La modalità di funzionamento di un servizio REST è assimilabile a quella di un sito web, dove il client contatta il server per esplorare le pagine del sito. La connessione tra il client e il server avviene grazie ad un indirizzo (URL) che contiene informazioni circa il protocollo, il server, la porta e la pagina da contattare (per es. https://www.emmebit.com:443/index.aspx).
Anche nel caso di un servizio REST, il server web pubblica un sito (il servizio REST) su una determinata porta; il client (la app) contatta il server web tramite un indirizzo e può accedere alle funzioni esposte dal servizio. Ogni funzione esposta dal servizio REST è raggiungibile grazie ad un indirizzo specifico (per es. https://fw.emmebit.com:44300/LogisticAppAPI/api/UnitaDiMisura), esattamente come avviene per le pagine di un sito web.
Il servizio REST consente alla app di:
  1. leggere i dati contenuti nel database del prodotto gestionale
  2. aprire eventuali file allegati alle entità del prodotto gestionale (per es. gli allegati di un articolo o di un ordine)
  3. scrivere i file txt dei documenti registrati tramite la app. Questi file vengono automaticamente acquisiti dal prodotto gestionale per essere trasformati in documenti

App

Logistica Lite è un'applicazione Android dedicata alla gestione e alla movimentazione del magazzino, ed è ottimizzata per l'uso di computer palmari industriali provvisti di lettore di codici a barre.
Qui sotto vediamo alcune delle tipologie più utilizzate.
CK62 Rugged Mobile ComputerCK62 Rugged Mobile Computersps-ppr-eda52-primary
Maggiori dettagli circa i requisiti di sistema possono essere reperiti in questo articolo.

Connettività

La comunicazione tra la app e il servizio REST può avvenire tramite una qualunque delle connessioni presenti sul dispositivo. Nella maggior parte dei casi i dispositivi si collegano ad un server locale tramite una connessione Wi-Fi ma, allo stesso modo, potrebbero collegarsi ad un server remoto grazie ad una rete mobile (per es. 3G, 4G, ...). Questa architettura offre una grande flessibilità e permette di installare Logistica Lite sia on-premises (ovvero in locale), che in cloud.
Notes
Logistica Lite è disponibile anche in SIR
L'unico requisito essenziale è che i dispositivi possano raggiungere la porta TCP sulla quale il servizio REST si trova in ascolto (per impostazione predefinita la porta 44300). La mancata comunicazione tra la app e il servizio REST è una delle principali cause di malfunzionamento di Logistica Lite; in questo articolo è possibile trovare maggiori dettagli circa gli errori di connessione più frequenti.

Integrazione con il prodotto gestionale

Nei paragrafi precedenti abbiamo approfondito il ruolo del servizio REST che, in sintesi, rappresenta un'interfaccia di comunicazione tra la app e il prodotto gestionale.

Dal prodotto gestionale a Logistica Lite

Grazie al servizio REST, le informazioni possono "uscire" dal prodotto gestionale ed essere lette dalla app. La app può leggere, in particolare, dati anagrafici (per es. articoli, clienti, fornitori, ...) e ordini (per es. ordini di acquisto, ordini di vendita, ...), ovvero tutte le informazioni necessarie alla registrazione di un documento (eventualmente con evasione di un ordine).

Da Logistica Lite al prodotto gestionale

Sempre tramite il servizio REST, la app "invia" al prodotto gestionale i documenti registrati dall'operatore. Questi documenti non vengono scritti istantaneamente nel database del prodotto gestionale, ma vengono depositati in forma di file txt all'interno di una cartella di scambio. Il contenuto di questa cartella viene interrogato ad intervalli regolari da appositi processi automatici che leggono i file txt, acquisiscono i documenti in essi contenuti e aggiornano il database del prodotto gestionale.
Il buon funzionamento dei processi di acquisizione è un elemento fondamentale per l'operatività di Logistica Lite. La mancata acquisizione dei documenti nel prodotto gestionale è il sintomo che i processi automatici non stanno lavorando correttamente.
Le cause più frequenti sono:
  1. i processi di acquisizione non sono attivi
  2. i processi di acquisizione non sono configurati correttamente. Per esempio interrogano una cartella diversa da quella in cui la app invia i documenti
  3. il contenuto del file txt e il formato utilizzato per l'acquisizione hanno una struttura differente, che di fatto li rende incompatibili
Notes
Le funzioni di acquisizione fanno parte dei moduli del prodotto gestionale. Per maggiori dettagli circa il loro funzionamento, e le modalità di risoluzione di eventuali problemi, si rimanda alla documentazione del prodotto gestionale