La Sfida: Un’azienda manifatturiera dipendeva da un software gestionale critico scritto oltre 15 anni fa in Visual Basic 6. Il sistema era instabile sui nuovi PC Windows, impossibile da usare da remoto e a rischio di perdita dati.

La Soluzione: Invece di bloccare l’azienda con un cambio drastico, abbiamo effettuato un revamping graduale. Abbiamo riscritto le logiche di business in C# / ASP.NET Core, creando un’interfaccia web moderna con Blazor (WASM) per l’accesso in mobilità. Per la comunicazione con i macchinari industriali locali, abbiamo sviluppato servizi Windows ad hoc in C++.

Il Risultato: Sistema modernizzato a zero tempi di inattività. L’azienda ora gestisce la produzione anche da tablet, con un’architettura pronta per il Cloud.

Lo Scenario e la Sfida (Il “Pain Point” del cliente)

Il cliente gestiva l’intero ciclo di produzione (ordini, magazzino, distinte base e interfacciamento con i macchinari) tramite un software monolitico scritto oltre 15 anni fa in Visual Basic 6.

I problemi erano diventati insostenibili per il business:

  • Compatibilità Hardware/OS: Il software girava a malapena su macchine Windows 10/11 a 64-bit, richiedendo continui “workaround” sistemistici (il famigerato DLL Hell).

  • Impossibilità di Lavoro Remoto: Essendo un’applicazione desktop client-server rigida, i responsabili di produzione non potevano consultare i dati da casa o tramite tablet mentre camminavano in fabbrica.

  • Rischio Sicurezza e Dati: Il database sottostante era obsoleto e il sistema non possedeva API per comunicare in modo sicuro con software esterni (es. CRM moderno o software di fatturazione elettronica).

La Nostra Strategia: Nessun “Big Bang”, ma un Revamping Graduale

Riscrivere un gestionale critico da zero spegnendo il vecchio di colpo (approccio Big Bang) è rischioso e terrorizza i clienti. Abbiamo optato per il Pattern “Strangler Fig” (Strangolamento): abbiamo affiancato il nuovo sistema al vecchio, migrando le funzionalità modulo per modulo.

L’Architettura della Soluzione

Abbiamo smantellato il monolite VB6 dividendo l’applicazione in tre livelli distinti, sfruttando il meglio del nostro stack tecnologico:

  • Il Cuore (Backend in C# ASP.NET Core): Tutta la logica di business intrappolata nel vecchio codice VB6 è stata riscritta in moderne Web API RESTful utilizzando ASP.NET Core. Questo ha reso i dati aziendali centralizzati, sicuri e finalmente accessibili a qualsiasi dispositivo autorizzato.

  • L’Interfaccia Utente (Frontend in Blazor WebAssembly): Per l’interfaccia utente abbiamo scelto Blazor. Perché? Ci ha permesso di creare una Single Page Application (SPA) veloce e reattiva eseguita direttamente nel browser, scrivendo l’intero codice in C# invece che in JavaScript. Il risultato è un portale web moderno che gli operatori possono aprire da PC, tablet o smartphone senza installare nulla.

  • L’Integrazione Industriale (Servizi Windows in C++): L’unica parte che doveva rimanere “fisica” era la comunicazione a basso livello con i macchinari di produzione (PLC e torni a controllo numerico). Per questo, abbiamo sviluppato dei Servizi Windows in C++ ad altissime prestazioni che girano sui server locali e comunicano costantemente lo stato delle macchine al nuovo backend in Cloud.

L’Esecuzione del Progetto

  1. Mappatura del Database: Abbiamo prima migrato e normalizzato la vecchia struttura dati verso un’istanza SQL Server moderna.

  2. Sviluppo API Baseline: Abbiamo creato le API di base per la lettura dei dati.

  3. Rilascio Modulo Magazzino (Mese 3): Gli operatori di magazzino hanno iniziato a usare i tablet con l’app Blazor, mentre l’amministrazione continuava a usare il VB6 per la fatturazione (i due sistemi leggevano lo stesso database).

  4. Rilascio Completo (Mese 8): Smantellamento definitivo dell’eseguibile VB6.

I Risultati Ottenuti (Valore per il Business)

  • Accessibilità Totale: I responsabili ora monitorano l’avanzamento della produzione da tablet direttamente a bordo macchina, risparmiando in media 1.5 ore al giorno di spostamenti verso i PC fissi.

  • Zero Downtime: La transizione graduale ha permesso all’azienda di non fermare mai la produzione per l’aggiornamento IT.

  • Architettura Cloud-Ready: Il nuovo sistema è attualmente ospitato sui server on-premise dell’azienda, ma l’architettura a microservizi e Web API lo rende pronto al 100% per essere migrato su AWS o Azure in qualsiasi momento.