Il logo di FST - Fom Software Technology, cliente di Imagine Software

FST - Fom Software Technology

Migrazione architetturale completa da VB6 a WPF/SQL Server

FST (Fom Software Technology), parte del Gruppo Fom, è un'azienda di riferimento internazionale nello sviluppo di software dedicati alla progettazione e produzione di serramenti, facciate continue e lavorazioni industriali. Le loro soluzioni, come la rinomata suite ProF2, governano l'intero ciclo di vita della commessa, dall'ufficio tecnico fino all'interfacciamento diretto con le macchine a controllo numerico (CNC).

In questo ecosistema industriale altamente specializzato, ho avuto l'opportunità di collaborare come membro integrante di uno dei numerosi team di sviluppo dell'azienda. L'obiettivo era tanto ambizioso quanto tecnicamente delicato: la migrazione e l'ammodernamento di uno storico applicativo, che necessitava di un salto generazionale dalle vecchie tecnologie alla moderna piattaforma .NET.

La sfida: da VB6 e Access a un ecosistema moderno

L'applicativo di partenza era estremamente solido e collaudato da anni di produzione, ma fondato su uno stack tecnologico entrato in obsolescenza: Visual Basic 6 per la logica di business e l'interfaccia visiva, appoggiato strutturalmente a un database locale Microsoft Access. Un'architettura che, a fronte della mole di dati crescenti dell'industria 4.0, iniziava a mostrare inevitabili limiti di scalabilità e manutenzione.

Lavorando con metodologie agili all'interno di sprint settimanali, ho curato la progettazione e la completa riscrittura di questo sistema, convertendolo in una moderna applicazione desktop in WPF (Windows Presentation Foundation) abbinata a un solido e scalabile database relazionale centralizzato: SQL Server.

L'implementazione del pattern MVVM e l'accesso dati con Dapper

Per garantire un'architettura enterprise manutenibile nel tempo, la nuova interfaccia utente è stata ingegnerizzata seguendo scrupolosamente le direttive del pattern MVVM (Model-View-ViewModel). Questo approccio strutturato ha permesso di separare nettamente la logica computazionale dal puro layout grafico in XAML, facilitando enormemente il lavoro in team e la stesura di unit test. L'interfaccia ha così guadagnato un dinamismo e una reattività assenti nella veste precedente.

Lato persistenza dati, per gestire la comunicazione verso SQL Server ho puntato sull'elevata efficienza, scegliendo Dapper. Questo micro-ORM, famoso per la sua impareggiabile velocità di esecuzione (quasi identica al codice ADO.NET nudo e crudo), mi ha permesso di snellire la mappatura delle query e delle entità, eliminando i rallentamenti. In un contesto in cui estrarre distinte base complesse o migliaia di righe di profilati richiede la massima performance, Dapper si è rivelata una scelta cardine del progetto.

La gestione delle comunicazioni di basso livello con i macchinari

L'architettura moderna, tuttavia, non doveva limitarsi a gestire dati a schermo, ma far funzionare l'hardware reale. Il software FST comanda fisicamente imponenti centri di lavoro, troncatrici e complessi macchinari Fom Industrie e, per farlo, dipende direttamente da storiche librerie legacy di basso livello. Queste dll, nate in un contesto passato e sviluppate per le comunicazioni dirette e delicate con i PLC delle macchine, andavano integrate nella nuova applicazione.

Questo è stato l'aspetto di maggiore attenzione tecnica dell'intera commessa. Trascinare logiche non gestite nel framework moderno ha richiesto una forte ingegnerizzazione per evitare perdite di memoria (P/Invoke e marshaling complesso) ma, soprattutto, per la gestione del multithreading. Essendo WPF particolarmente suscettibile al blocco del thread dell'interfaccia grafica (UI Thread), i flussi di invio ricette e di interrogazione del macchinario sono stati pesantemente riscritti in ottica asincrona (async/await). In questo modo l'applicativo non si congelava in attesa delle risposte hardware, proteggendo l'esperienza e la sicurezza dell'operatore in fabbrica.

Il risultato di uno sforzo condiviso

Un progetto di riscrittura tecnologica di tale portata e con dipendenze così radicate rappresenta una vera e propria sfida chirurgica per un'azienda. Affrontare questa migrazione spezzettando le logiche di business nel vivo di sprint iterativi ci ha permesso di conservare il prezioso know-how pluridecennale del cliente, traslandolo senza interruzioni operative verso una base di codice manutenibile, testabile e intrinsecamente pronta alle sfide future del settore del serramento.

Scopri altri progetti

Leggi le storie di successo di altre aziende che hanno scelto Imagine Software.