Eventing soluzioni per applicazioni legacy Java troppo vecchie per eventi JMS in coda / eventi reali?

2

Quali sono alcune soluzioni architettoniche che possono imitare gli eventing per i sistemi (Java) che sono troppo vecchi per implementare soluzioni di eventing, come la messaggistica JMS convenzionale basata su coda / argomento?

Ho un sistema che è in grado REST e ha bisogno di interfacciarsi con altri sistemi, ma averlo inviato sarebbe la soluzione ideale. Tuttavia, è troppo vecchio per farlo.

Esistono modelli / soluzioni architettonici che possono fornire funzionalità come questa?

Come forse un qualche tipo di framework che può agire come un sistema nel mezzo, recuperando i dati dal sistema legacy su REST, quindi comprimendoli in un formato che viene poi inviato su JMS?

    
posta adam bronfin 08.04.2016 - 20:38
fonte

2 risposte

1

D: Esistono modelli / soluzioni architettonici che possono fornire funzionalità come questa?

Il libro EIP (Enterprise Integration Patterns) contiene molti schemi che dovrebbero essere molto utili per risolvere il tuo problema. Poiché stai già utilizzando Java, dai un'occhiata a Apache Camel per la creazione di modelli o percorsi di integrazione aziendale come hai detto sopra. Non sono del tutto sicuro sul tipo di dati o funzionalità che il vecchio sistema può gestire ma con questo sistema può trovarsi in mezzo e fare una sorta di trasformazione dei messaggi o agire come un bus di controllo per i sistemi distribuiti.

Potresti voler controllare l'implementazione del pattern Normalizer che prenderà diversi formati di msg e normalizzarlo nel formato richiesto dal vecchio sistema. Dai un'occhiata a questo link, link

o

potrebbe essere un overkill ma puoi anche provare il pattern Control Bus per integrare i due sistemi. Per maggiori dettagli su come implementare come sistema, vedi il link

http://camel.apache.org/controlbus.html.

Spero che ti aiuti.

    
risposta data 13.07.2017 - 03:23
fonte
0

Mi hai fatto sentire vecchio :-) IBM MQSeries è stato originariamente lanciato nel 1992 e utilizzato principalmente su sistemi basati su mainframe.

Java 1.0 non è stato rilasciato fino al 1996. Vi prometto che la vostra applicazione non è troppo vecchia per parlare con i sistemi di messaggistica. Può darsi che non desiderino accoppiarsi a un sistema di messaggistica, ma non è affatto "troppo vecchio".

Ho visto applicazioni che invece di scrivere in una coda, invece di scrivere in un database, e poi hanno altre cose leggere quei "messaggi" dalle tabelle del database e contrassegnarli come "letti". Questo è fondamentalmente il funzionamento di code come Oracle AQ. Finisci per dover fare molto più idraulico, e dovrai imparare cose come serrature leggere a livello di riga, ma è sicuramente fattibile.

    
risposta data 13.04.2016 - 19:45
fonte

Leggi altre domande sui tag