Partire dai flussi di business
I progetti di integrazione che partono dalla tecnologia tendono a collegare tutto con tutto. È più utile partire dai flussi di business:
- Dal contatto all'ordine: dal primo contatto nel CRM all'ordine confermato nell'ERP.
- Dall'ordine all'incasso: ordine, consegna, fattura, pagamento, riconciliazione.
- Dall'acquisto al pagamento: richiesta d'acquisto, ordine al fornitore, entrata merce, fattura passiva.
- Dati anagrafici: clienti, fornitori, articoli, listini, creati una volta e usati ovunque.
Per ogni flusso mappate quale sistema gestisce quale passaggio, dove oggi i dati vengono ribattuti e da dove nascono errori e ritardi. Questa mappa dice quali integrazioni contano e in che ordine affrontarle.
Decidere chi è titolare di ogni dato
La decisione più importante in un'integrazione non è tecnica. Per ogni entità va stabilito qual è il sistema di riferimento, l'unico punto in cui il dato viene creato e modificato:
- i clienti possono nascere nel CRM ed essere inviati all'ERP al primo ordine;
- articoli e listini appartengono di solito all'ERP;
- i fidi all'ERP o al sistema amministrativo.
Gli altri sistemi leggono o ricevono copie, ma non le modificano. Quando due sistemi possono modificare lo stesso record, prima o poi non saranno d'accordo, e nessuna tecnologia di integrazione risolve questo problema.
I pattern di integrazione
Punto a punto
Ogni sistema si collega direttamente agli altri di cui ha bisogno. È rapido per i primi due o tre collegamenti e diventa ingestibile quando crescono: ogni modifica in un sistema si propaga lungo collegamenti che nessuno ha documentato.
Le API come contratto
Un'API ben progettata espone le capacità di un sistema ("crea un ordine", "dammi le fatture aperte di un cliente") come un contratto stabile e documentato, indipendente dal database interno. ERP e CRM moderni offrono API; per i sistemi più vecchi un piccolo servizio messo davanti può fornirne una. Le buone pratiche:
- una specifica pubblicata, ad esempio in formato OpenAPI;
- il versionamento, perché le modifiche non rompano chi già la usa;
- autenticazione e autorizzazioni per ogni sistema che la utilizza;
- limiti alla frequenza delle richieste, per proteggere il sistema sottostante.
Gli eventi
Invece di chiedersi a vicenda continuamente se qualcosa è cambiato, il sistema titolare del dato pubblica un evento ("ordine confermato", "cliente aggiornato") e i sistemi interessati reagiscono. Gli eventi disaccoppiano i sistemi nel tempo: se chi riceve è fermo, il messaggio aspetta in una coda o in un broker finché non torna disponibile.
Le piattaforme di integrazione
Quando i flussi crescono, una piattaforma di integrazione, un iPaaS o un framework open source, centralizza connettori, trasformazioni, monitoraggio e nuovi tentativi. Non è obbligatoria, e per pochi flussi può essere più di quanto serva; aiuta però a mantenere le integrazioni visibili e curate.
Progettare per l'errore
Le integrazioni falliscono: un sistema è in manutenzione, una chiamata di rete va in timeout, un record viene rifiutato perché manca un campo. Le integrazioni affidabili sono progettate fin dall'inizio per questi casi:
- Idempotenza: elaborare due volte lo stesso messaggio non deve creare due ordini. Ogni messaggio ha un identificativo univoco e chi lo riceve ignora i duplicati.
- Nuovi tentativi a intervalli crescenti per gli errori temporanei, e una coda separata per i messaggi che continuano a fallire, così da poterli esaminare e rielaborare.
- Validazione al confine, con messaggi d'errore chiari su cui un utente di business possa intervenire.
- Monitoraggio dei risultati di business, non solo della disponibilità tecnica: "ordini ricevuti ma non ancora nell'ERP dopo dieci minuti" è un allarme più utile di "servizio attivo".
L'integrazione come base per dati e AI
Flussi puliti e documentati tra i sistemi sono anche la base per reportistica e automazione. Una piattaforma dati dipende da un'estrazione affidabile dai sistemi di origine, e gli agenti AI che elaborano documenti sono utili solo se possono scrivere i risultati nell'ERP attraverso un'interfaccia adeguata. L'integrazione raramente è la parte visibile di un progetto, ma è quella che fa funzionare le parti visibili.
Da dove partire
Scegliete il flusso di business in cui ribattiture e riconciliazioni costano di più, definite il sistema di riferimento per ogni entità coinvolta e costruite quell'integrazione con una gestione degli errori e un monitoraggio adeguati. Il nostro servizio di software engineering progetta e realizza le integrazioni come prodotti a sé: documentate, testate e monitorate.