Un sistema di aggiornamenti automatici delle installazioni

immagine-articolo

Un sistema di aggiornamenti automatici

18 January 2025

Un nostro cliente necessitava di un metodo agevole per gestire la manutenzione e l’aggiornamento delle proprie macchine installate in numerose città italiane.

Con qualche migliaio di installazioni, l’azienda si trovava di fronte a un problema significativo: il metodo manuale usato per aggiornare il software delle macchine era diventato obsoleto.

Fino a quel momento, gli aggiornamenti venivano infatti eseguiti collegandosi in remoto a ogni macchina, un processo lento e gestibile solo con un numero limitato di installazioni. Inoltre, la presenza di diverse versioni di software destinate a utilizzi specifici complicava ulteriormente la gestione, richiedendo estrema precisione per evitare errori.

Con l’aumento delle macchine installate e della varietà di prodotti venduti, era evidente che il sistema di aggiornamento doveva evolversi verso una soluzione più moderna ed efficiente.

La soluzione di Overflo

Per rispondere alle esigenze del cliente, abbiamo progettato un sistema di aggiornamenti automatici, che ha introdotto una gestione centralizzata e semplificata del software.

Il primo passo è stato unificare le diverse versioni del software in un unico progetto configurabile. Questo ha migliorato l’ordine e la semplicità di gestione e manutenzione dell’intero applicativo, consentendo di ridurre il rischio di errori nella distribuzione delle versioni.

La modifica della tipologia di utilizzo è ora facilmente realizzabile tramite un CMS utilizzato per abilitare e configurare il software da distribuire sulle varie macchine.

Anteprima del CMS di gestione del software:

Esempio di configurazione di una macchina, in cui è possibile configurare la modalità di utilizzo:

Attualmente, la soluzione è composta da due software principali:

  1. Il launcher: a ogni avvio, installa o aggiorna automaticamente la versione più recente dell’applicativo. Inoltre, verifica la disponibilità di una nuova versione del launcher stesso, aggiornandosi in background quando necessario.
  2. L'applicazione vera e propria: gestisce l'aggiornamento delle risorse e delle funzionalità specifiche in base alla tipologia di utilizzo assegnata. Questo approccio consente di mantenere una soluzione unica, in grado di supportare le diverse modalità di utilizzo delle macchine.

L’adozione degli aggiornamenti automatici permette al nostro cliente un notevole risparmio nei tempi di assistenza e gestione delle macchine, riducendo quindi i costi di manutenzione.

Prospettive future

In futuro verrà aggiunta la possibilità di definire con maggiore dettaglio le funzionalità di un’installazione in base alla licenza riservata a un determinato tipo di macchina. Questo permetterà di gestire casi sempre più complessi, come bloccare l'aggiornamento del software su una determinata macchina, oppure predisporre una nuova release da testare prima di renderla disponibile.

🤓 Nerd corner

Per il launcher abbiamo utilizzato Electron in combinazione con Squirrel. Il primo ha reso possibile lo sviluppo del software utilizzando HTML e JavaScript, il secondo permette gli aggiornamenti del launcher.

Per quanto riguarda l'applicazione, abbiamo optato per lo sviluppo in Unity, noto framework per la realizzazione di videogame. Nello specifico abbiamo optato per l'utilizzo degli asset bundles, che ha reso possibile gestire le varie personalizzazioni e funzionalità del software per le diverse macchine.

logo

Iscriviti alla newsletter per non perderti le nostre novità!