Guida

System integration: unire i sistemi senza perdere il controllo.

Il problema raramente è che manca un software. Il problema è che ce ne sono cinque e non si parlano, così le persone fanno da ponte a mano fra un sistema e l’altro. Questa guida spiega come si progetta un’integrazione che regge nel tempo.

Il costo nascosto dei sistemi che non si parlano

Quando due sistemi non comunicano, il collegamento non scompare: viene svolto da una persona. Qualcuno esporta un file, lo rielabora, lo reimporta altrove; qualcun altro ricopia a mano i dati di un ordine dal portale al gestionale. Questo lavoro non compare in nessun budget, ma occupa ore ogni settimana ed è la principale fonte di errori nei dati aziendali.

C’è anche un costo meno visibile: il ritardo. Finché un dato non è stato trasferito manualmente, non esiste per il sistema di destinazione. Le decisioni prese in quella finestra si basano su una fotografia vecchia, e nessuno lo sa.

Le quattro fasi di un progetto di integrazione

Mappatura

Prima di scrivere qualsiasi connettore si stabilisce quale sistema è la fonte autorevole per ciascun dato. Senza questa decisione si costruiscono integrazioni bidirezionali che si sovrascrivono a vicenda e nessuno sa più quale valore sia quello giusto.

Orchestrazione

Si definiscono i flussi: cosa scatena il trasferimento, con quale frequenza, in quale ordine e cosa deve accadere se un passaggio fallisce a meta. La gestione degli errori va progettata insieme al percorso principale, non aggiunta dopo.

Normalizzazione

Sistemi diversi codificano gli stessi concetti in modo diverso: unità di misura, causali, stati, formati di data. La tabella di corrispondenza fra codifiche è un artefatto di progetto che va mantenuto nel tempo, non un dettaglio implementativo.

Monitoraggio

Registri consultabili, notifiche sugli scarti e un cruscotto che dica se i flussi di oggi sono passati. Il costo di questa parte si recupera al primo problema che viene individuato prima che arrivi al cliente.

Errori che rendono fragile un’integrazione

  • Sincronizzazione bidirezionale senza una fonte autorevole. Se entrambi i sistemi possono modificare lo stesso dato, prima o poi si sovrascriveranno a vicenda e il valore corretto dipenderà dall’ordine casuale degli aggiornamenti.
  • Nessuna gestione dei fallimenti parziali. Un flusso che trasferisce cento documenti e si interrompe al sessantesimo deve poter riprendere senza duplicare i primi sessanta.
  • Errori registrati solo nei log tecnici. Chi gestisce gli ordini deve poter vedere da solo cosa non è passato, senza aprire una segnalazione e aspettare.
  • Corrispondenze fra codifiche scritte dentro il codice. Quando cambia una causale serve un intervento di sviluppo invece di una modifica in una tabella di configurazione.
  • Nessuna verifica di quadratura. Serve un controllo periodico che confronti i totali fra i due sistemi: è il modo più semplice per accorgersi di una deriva prima che diventi grande.
  • Integrazioni non documentate. Un connettore che nessuno sa più come funziona diventa intoccabile, e blocca ogni evoluzione dei sistemi che collega.

Da dove conviene partire

Non da tutte le integrazioni possibili, ma da quella che elimina il maggior numero di reinserimenti manuali. È quasi sempre il collegamento fra il sistema dove entrano gli ordini e quello dove vengono evasi: è il punto in cui il lavoro manuale è più frequente e dove un errore ha conseguenze visibili al cliente finale.

Una volta che quel flusso funziona in modo affidabile, l’infrastruttura di scambio, la gestione degli errori e il monitoraggio sono già costruiti: le integrazioni successive costano una frazione della prima.

Domande frequenti sulla system integration

Che cos è la system integration in pratica?

È il lavoro di far dialogare fra loro sistemi nati separatamente, in modo che un’informazione inserita una volta sia disponibile ovunque serva senza reinserimenti. Non significa sostituire i sistemi esistenti: significa collegarli stabilendo regole chiare su chi produce ciascun dato e chi lo consuma.

Il nostro gestionale non ha API. Si può integrare lo stesso?

Quasi sempre sì. Si lavora sui punti di scambio che il sistema mette a disposizione: esportazioni programmate, tabelle intermedie, cartelle monitorate, accesso in sola lettura alla base dati. È meno elegante di un’API moderna ma altrettanto affidabile, se progettato con registri e controlli adeguati.

Quanto tempo richiede un progetto di integrazione?

Un collegamento fra due sistemi con interfacce documentate si misura in settimane. I tempi crescono quando uno dei due è chiuso o datato, quando i dati vanno normalizzati perché gli stessi concetti sono codificati in modo diverso, o quando servono trasformazioni di logica applicativa e non solo trasferimento di dati.

Che cosa succede quando un’integrazione si rompe?

Deve essere immediatamente visibile a chi lavora, non solo ai tecnici. Un’integrazione ben fatta ha registri consultabili, code di rielaborazione e notifiche che indicano quale documento non è passato e perché. Un’integrazione che fallisce in silenzio produce disallineamenti che vengono scoperti settimane dopo, quando correggerli è molto più costoso.

Meglio integrare o sostituire tutto con un unico sistema?

Sostituire tutto è un progetto molto più grande, più rischioso e più lungo, e raramente si giustifica quando i sistemi esistenti fanno bene il loro lavoro. L’integrazione permette di ottenere il flusso unico di dati mantenendo gli strumenti che le persone già conoscono. La sostituzione ha senso quando un sistema è realmente a fine vita.