Qualche esperienza nel porting di un'applicazione Powerbuilder su Java (o un'altra lingua)? [chiuso]

5

Qualcuno là fuori ha esperienza nel porting di una grande applicazione client / server Powerbuilder su un'applicazione Java (o un'altra lingua)? Per grande intendo qualcosa dell'ordine di 2 milioni di righe di codice e letteralmente centinaia di tabelle di database. Come hai fatto? Quanto tempo ci è voluto e quanto è costato? Quali sono state le maggiori sfide?

    
posta Dave Kincaid 01.03.2011 - 05:54
fonte

3 risposte

3

Nessuna esperienza nello spostamento del codice di Powerbuilder, ma ho lavorato in alcuni progetti di porting di dimensioni e complessità significativi.

In primo luogo, prenderei in considerazione la possibilità di valutare alcuni strumenti di round trip maturo e completo, come IBM / Rational Rose, con plugin appropriati (ad esempio, Rose PowerBuilder Link da Metex) per leggere il maggior numero possibile di Powerbuilder / Powerscript / DataWindows / PBNI e creare un modello semi-neutro. Accordare il modello e quindi generare il codice skelaton nella lingua di implementazione appropriata. Se si dispone di script di test, anche se non automatizzati, ottenerli e implementarli il più possibile nel quadro dell'unità di implementazione e nei framework di test di accettazione. Infine, la mano pesante funziona.

Il costo di qualsiasi progetto di porting quando si cambia piattaforma o paradigma sarà alto. Avrai bisogno di persone con esperienza su entrambe le estremità del porto. Avrai bisogno di qualcuno che possa parlare o tradurre tra i due e / o costruire / sintonizzare / utilizzare gli strumenti di traduzione. Stai reinventando la ruota, quindi il tuo vantaggio è sapere come dovrebbe finire, in modo che non debba fare nulla di più o qualcosa di meno; tuttavia, alcune cose semplicemente non verranno tradotte.

Anche la piattaforma client e il database sottostanti saranno rimodernati? Oppure, per il momento, resteranno come presumibilmente rispettivamente un client Windows e un server database Sybase; o saranno anche quelli che dovranno essere modificati?

Modifica: la menzione di qualsiasi prodotto non è un'approvazione esplicita e non sono affiliato in alcun modo con i prodotti. Comunque, ho usato Rose molto tempo fa, e l'ho trovato molto efficace, ma non posso parlare alle recenti incarnazioni.

    
risposta data 01.03.2011 - 06:49
fonte
6

Un mio amico che ha cambiato il suo focus da PowerBuilder a Java (tornando indietro ogni volta che l'occasione lo richiedeva) ha detto che il vero kicker era il DataWindow. Al momento, non c'era nulla che avesse tutte le caratteristiche: scollabile, annidabile, stampabile WYSIWYG (non banale in Java), vincolante da 1 a n, attributi (grafici e semplici) controllati da espressioni o script legati ai dati , fornendo funzionalità pre-implementate come protezione dell'iniezione SQL, built in blocco logico dei record, gestione degli argomenti null, minima creazione SQL, portabilità DBMS, vari metodi per gestire la memoria per i dati (ad es. file su disco, recupero secondo necessità), capacità di monitorare, intercettare, modificare e cancellare SQL in fase di esecuzione, ecc ........ Senza dubbio ci sono tecnologie alternative che stanno facendo progressi, ma a suo parere, nulla ha coperto completamente i requisiti di funzionalità di sostituzione di DataWindow.

Per quanto riguarda i costi, potrebbe essere qualsiasi cosa. C'è un caso (ho sentito di seconda mano) di un'azienda che ha speso (IIRC) 75 milioni di dollari, e alla fine ha rinunciato e restituito a PowerBuilder. Questo non vuol dire che la tua app sia impossibile da convertire, ma a seconda di quanto sia sofisticato e avanzato il tuo uso di PowerBuilder, potrebbe essere uno sforzo importante. Pensa a riscrivere i costi; questo è davvero quello che stai facendo. Ci dispiace, ma la parola "porting" corre il rischio di auto-illusione, non che non ci siano venditori che spingono l'illusione.

Buona fortuna,

Terry.

    
risposta data 02.03.2011 - 04:27
fonte
3

Oltre 10 anni fa abbiamo iniziato una transizione da Powerbuilder a Tomcat. Non ho idea del LOC, avevamo circa 600 tavoli. È stata una transizione dall'interfaccia utente di Windows a un'interfaccia utente Web e l'abbiamo eseguita con un piccolo team nell'arco di 2-3 anni. Il codice Powerbuilder e il codice Java interagivano con lo stesso database di back-end durante la transizione. È stato un grande giorno in cui abbiamo potuto rimuovere le autorizzazioni dal client Windows e averlo fatto.

Il prodotto non era a transazione intensiva, solo un sacco di schermate da convertire in pagine web. Usi il DW per visualizzare, aggiornare i dati, ordinare sullo schermo? Al giorno d'oggi ci sono un sacco di jquery o Google toolkit web per facili trucchi dell'interfaccia utente.

Consiglierei Struts, hibernate, spring o qualsiasi altro strumento MVC. In Java abbiamo creato un livello API che ha parlato con il database e quindi un livello dell'interfaccia utente che ha parlato con i JSP. Si desidera eseguire il corraling delle connessioni del database in un unico set di oggetti anziché aprire / chiudere le connessioni db su tutto il codice.

La tua soluzione dipende dai requisiti del tuo prodotto / applicazione e dal fatto che si tratti di un'app desktop o di un'applicazione basata sul Web. Siamo andati sul web e l'implementazione è molto più semplice. Buona fortuna.

    
risposta data 29.09.2011 - 06:17
fonte

Leggi altre domande sui tag