Come migliorare gradualmente su un vecchio framework IBM Host C ++

1

Immagina un framework C ++ come livello aziendale, ma anche con logica di controllo. Per esempio. diritti utente, stato del flusso web, ecc. Con un semplice codice C per accedere a DB2. L'intero framework è basato su host. Stiamo cercando un modo per sostituire gradualmente il framework esistente con un framework java. Le sfide principali sono: l'applicazione è già enorme, ci sono diversi client applicativi connessi al framework c ++ allo stesso tempo (è un'applicazione web con molte istanze), la mia conoscenza di ciò che è possibile oggi con java su host è molto limitata ( dal momento che tutte le persone con cui lavoro funzionano con C ++)

Esistono alcune buone idee per spostare gradualmente il vecchio framework senza rompere il codice esistente? Suppongo che come voce ci si aspetterebbe un servizio Web o un server RMI per le transazioni. Ma come sostituire gradualmente la logica di business / controllo è ancora una scatola nera per me.

    
posta Toskan 04.07.2011 - 21:24
fonte

2 risposte

2

Onestamente questo suona come tecnologia per il gusto di farlo. È uno dei motivi principali per cui le aziende diffidano dei loro reparti IT.

Guardate dal punto di vista del business - volete fare un sacco di lavoro, che introdurrà quasi sicuramente una nuova serie di bug e, alla fine, con un sistema che fa lo stesso del sistema attuale ma più lentamente.

Non ti suggerirei di scrivere un nuovo sistema in C ++ da nessuna parte su qualsiasi piattaforma, e Java ha un supporto superlativo sul mainframe (supponendo che tu intenda IBMs Zos) quindi sarebbe una buona scelta per un nuovo sistema.

Ma se non è rotto non aggiustarlo.

Se vuoi davvero andare avanti con questo, allora devi fare:

Usa il server di applicazioni Websphere (viene eseguito in USS in modo tale che sia per lo più gli stessi file JAR di qualsiasi altro server di applicazioni websphere.) che fornirà un framework già pronto.

Evita di usare i chic bean EJB per accedere ai dati DB2, attaccare con POJOs e SQL semplice per accedere alle tabelle DB2 esistenti. IBATIS è una buona scommessa per facilitare la codifica ORM.

Utilizza il database DB2 esistente come mezzo di comunicazione principale tra il "vecchio" C ++ ei nuovi componenti Java.

Laddove è necessaria una comunicazione più diretta tra le vecchie e le nuove applicazioni, utilizzare MQ, se possibile, è affidabile e funziona ovunque, evitando JNI, RPC e CORBA che ti scaricheranno in un mondo di dolore.

Non risviluppare componenti frammentari, scegliere una funzione aziendale e refactoring di tutto ciò che riguarda quella funzione.

    
risposta data 05.07.2011 - 04:24
fonte
1

Abbiamo appena completato un progetto simile. La nostra soluzione utilizzava DB2 e stored procedure come punto di accesso comune per i servizi a livello di applicazione . Il codice precedente, COBOL in questo caso, ha mantenuto l'accesso alle funzionalità fornite nei proc stored e le nuove app Webshpere hanno accesso alla stessa funzionalità (un requisito aziendale).

Probabilmente non saremo mai in grado di sbarazzarci del codice legacy nella sua interezza (il batch viene eseguito di notte) ma ci stiamo lentamente spostando verso uno stack Java completo.

    
risposta data 05.07.2011 - 15:03
fonte

Leggi altre domande sui tag