Creazione di un Middleware senza modificare il backend legacy: il caso SOALM
- Design
- Development
- Mobile

L’azienda
In questo specifico caso l’azienda siamo noi stessi che avevamo il bisogno di lanciare il nostro prodotto nel minor tempo possibile.
L’esigenza
In passato abbiamo creato, in associazione con un nostro cliente, un software per la gestione dei cantieri mantenendo da contratto la facoltà di cedere la piattaforma a clienti terzi.
Abbiamo analizzato il mercato e in tempi recenti abbiamo capito che effettivamente il prodotto ha un buon potenziale di vendita.
Volevamo però utilizzare una tecnologia più recente rispetto alla tecnologia PHP che era stata usata in precedenza per il backend e volevamo usare una tecnologia cross-platform per le piattaforme native, in modo da dover fare meno manutenzione nel tempo.
Il vecchio backend era già stato testato e riscriverlo da zero avrebbe richiesto troppo tempo, si aveva bisogno di testare il prodotto nel minor tempo possibile.
Il risultato
Abbiamo deciso di riscrivere completamente le applicazioni mobili per dispositivi Android e iOS.
Il frontend della piattaforma era molto semplice e faceva esclusivamente un lavoro di visualizzazione e input delle informazioni, in quanto essendo progettato da noi abbiamo come sempre optato per una forte separazione di mansioni tra frontend e backend, in particolalre abbiamo strutturato la piattaforma per fare in modo che tutta la logica del software risieda nel backend.
Questo ci ha consentito di poter riscrivere facilmente le applicazioni mobili, per la quale abbiamo optato per l’utilizzo della tecnologia Flutter, e ci ha consentito anche di poter riutilizzare il backend legacy.
Per farlo abbiamo creato un’istanza di una macchina in cloud che ospita la logica del vecchio backend, e un middleware scritto con la recente tecnologia NodeJS che non fa altro che fungere da system integrator e fa da proxy tra il frontend e il backend legacy.
Questo ci ha permesso di assicurare la compatibilità tra le app mobile, il frontend web e la nuova tecnologia, evitando una riscrittura immediata della logica.
Le nuove funzionalità vengono integrate nel nuovo server NodeJS e questo ci consente di non mettere mano al vecchio codice ma di integrarlo grazie all’ausilio delle nuove tecnologie.
La tecnologia applicata
Il vecchio backend è scritto in PHP e fa utilizzo della tecnologia Laravel, mentre il nuovo middleware o system integrator è scritto con tecnologia NodeJS.
Le nuove applicazioni mobili sono state scritte in linguaggio Dart e grazie all’ausilio della tecnologia Flutter.