Sembra che ho bisogno di configurare un nuovo ambiente Java per alcune interfacce che dobbiamo costruire.
Diciamo che il nostro sistema è X e abbiamo bisogno di interfacce con i sistemi A, B e C. Quindi scriveremo le interfacce X-A, X-B, X-C. Il nostro sistema ha un bus al suo interno, quindi la pubblicazione dalla nostra parte sarà per il bus e i processi di interfaccia prenderanno dal bus e la mappatura al sistema di destinazione.
È per un sistema basato su fornitore - quindi la maggior parte del codice base che non possiamo toccare.
Attualmente pensiamo di avere diversi processi, uno per ogni interfaccia che dobbiamo fare.
La domanda è come strutturare le cose.
Molte delle API con cui dobbiamo lavorare sono basate su Java.
Potremmo andare a EJB, ma preferiamo mantenerlo semplice, un processo per interfaccia, in modo che possiamo riavviarli individualmente.
Allo stesso modo SOA sembra eccessivo, anche se probabilmente sto mescolando i miei pensieri riguardo le implementazioni di esso rispetto ai concetti che stanno dietro ...
Attualmente penso che qualcosa di basato sulla primavera sia la strada da percorrere. In realtà, "si può usare un nuovo tipo di tecnologia se possibile", penso che forse potremmo fare in modo che le API siano più leggibili, forse come le macchine degli eventi e per rendere il codice dell'interfaccia più business- amichevole, forse anche memorizzando il codice di mappatura nel DB, come frammenti di rubino che si mescolano in ... ma questo è un lato ...
Quindi, qualsiasi commento / pensiero sull'approccio di primavera - qualsiasi cosa più aggiornata / pertinente in questi giorni.
EDIT: Guardando un JRuby ulteriormente, sono tentato di scriverlo completamente in JRuby ... nel qual caso abbiamo bisogno di qualche framework, forse alcune gemme per rendere le cose più chiare ...
Grazie in anticipo, Chris