Siamo una piccola squadra che lavora su un sistema LoB che deve connettersi a vari sistemi come ERP e CRM per estrarre processi aziendali come fatture, informazioni sui clienti, ordini di produzione e simili, per uso interno dell'applicazione, e quindi restituire alcuni risultati specifici all'ERP. Questa è un'operazione in tempo reale, non un'estrazione di dati una tantum. Tutta la logica aziendale è adeguatamente protetta dal livello dati.
Il fatto è che i dati che estraiamo da quei sistemi sono sempre gli stessi, ma i sistemi cambiano molto a seconda del cliente, e così fanno le loro fonti / tabelle / campi da dove vengono estratti i dati. Abbiamo visto dozzine di ERP fino ad oggi, da SAP / Dynamics a molti piccoli, e ogni volta che facciamo una nuova installazione, il codice deve essere fatto in modo che il nostro sistema sappia dove / come estrarre i dati richiesti. Come ho detto, la maggior parte sono sistemi ERP di piccole dimensioni o interni, quindi si tratta di una libreria una tantum che non possiamo riutilizzare sul prossimo cliente.
Vogliamo migliorare questo, idealmente in una configurazione in cui invece del codice dati, c'è una configurazione in cui le strutture ERP sono mappate alle nostre strutture per ogni installazione, ma solo pensarci sembra un sacco di lavoro.
Abbiamo pensato a ETL , ma non è in tempo reale. Anche REST non è un'opzione, dal momento che richiederebbe comunque la programmazione per ciascuna installazione.
Esiste un database universale / mapper / traduttore di origini dati esistente per risolvere questo tipo di problema? O modello standard da utilizzare per lo sviluppo di questo genere di cose?