È necessario migrare un sistema CORBA legacy a qualsiasi tecnologia java più recente. Il problema principale che sto affrontando è quello di fornire una transazione longeva (db) nel sistema proposto. Attualmente il client (Swing App) conserva l'oggetto di servizio CORBA ed esegue più db txn prima di eseguire effettivamente il commit/rollback di tutto il txn. Il livello di servizio mantiene lo stato dell'oggetto di connessione per completare la transazione.Migrazione dell'applicazione CORBA alle moderne tecnologie Java (Rest/SOAP/EJB)
Volevo riprodurre questo meccanismo nel mio nuovo sistema (REST/WS) in modo che il client/Web di Swing (futuro) possa funzionare nello stesso modo.
esempio:
try {
service1.updateXXData(); // --> insert in to table XX
service2.updateUUData() //--> insert in to table UU
service1.updateZZData(); // --> insert in to table ZZ
service2.updateAAData(); // --> insert in to table AA
service1.commit(); // con.commmit();
service2.commit(); // con.commmit();
}
exception(){
service1.rollback(); // con.rollback();
service2.rollback(); // con.rollback();
}
Ora ho voluto migrare CORBA a qualsiasi technolgy moderna, ma ancora sono in generale di trovare una soluzione per questo. (la preoccupazione è che il cliente non voglia apportare alcuna modifica al livello di servizio o al livello db), volevano solo rimuovere CORBA.
paio di opzioni disponibili per me sono
Migrate CORBA per RMI -> in modo che le modifiche necessarie per sistema attuale sono minimi, ma la gestione delle transazioni, il pool di connessioni, mantenendo lo stato bisogno di fare la mia auto.
Migrare CORBA a EJB stateful -> Confrontare RMI più modifiche richieste, ma meglio poiché posso utilizzare il pool di connessioni gestite dal contenitore, mantenere lo stato in un modo migliore.
Migrate CORBA per Stateful Webservice (SOAP) -> più futuristico, ma molti cambiamenti richiesti - Come mai posso convertire IDL per WSDL e delegare la chiamata a livello di attuazione
Migrate CORBA per REST -> I più desiderati se possibile - ma la quantità di tempo necessaria per la migrazione è enorme, le modifiche al codice richiederebbero dal livello dell'interfaccia utente al livello di servizio.
Grazie mille in anticipo
Non so se questo è un suggerimento prezioso per voi, ma si può provare a indagare progetto http://narayana.io. In generale supporta WS, REST e Compensation txn. Alcuni esempi, ad es. a https://github.com/jbosstm/quickstart – chalda