Stiamo lavorando a un'integrazione tra due sistemi di grandi dimensioni. Sistema A è un database con dati dei dipendenti e Sistema B è un sistema esterno utilizzato per il contatto quotidiano con i clienti (ad esempio riunioni, posizione, ordine di lavoro, lavoro stato e così via). Ci schiereremo un ESB nel mezzo.
Esistono 3 istanze di Sistema A e 1 istanza di Sistema B. Ciò è dovuto a restrizioni legali e non possiamo avere tutti i dati del Sistema A nello stesso database.
Nel sistema B abbiamo 20-30 contatti attivi ogni giorno, in cui vengono utilizzati continuamente alcuni dati del sistema A.
Abbiamo bisogno di aggiornare riunione, posizione e stato di lavoro nel Sistema B durante il giorno. E hanno due soluzioni proposte per l'integrazione di questi sistemi.
Soluzione A: Publish-Subscribe: il sistema A invia messaggi di aggiornamento (basati sugli standard ADL HL7) e l'istanza di System B preleva i dati a loro relativi. Questo viene fatto come trasmesso e genererà 1000-10000 messaggi al giorno. Invierà informazioni dal Sistema A a tutti i dipendenti, generando così un messaggio per ogni dipendente nel Sistema A (1,2,3). Esiste solo un sottoinsieme di dipendenti del Sistema A che è "attivo" e interessante per gli aggiornamenti nel Sistema B. Ma i messaggi fluiranno su TUTTI i dipendenti poiché i dati vengono aggiornati anche da altri sistemi.
Soltion B: Il sistema B richiede informazioni aggiornate attraverso una soluzione di richiesta-risposta. Genera chiamate vuote, ma chiederà solo che i dipendenti "siano attivi" nel sistema B in un dato giorno.
Commenti sulle soluzioni? Vantaggi svantaggi? Qual è la soluzione "pesante" più infrastrutturale tra questi due?
Spero che ci sia qualcuno là fuori che potrebbe darmi qualche suggerimento:)