Newsgroup: it.comp.lang.visual-basic
Titolo: porting da vb6 a vs8

Con un'approssimazione di un 10%, qualcuno di Voi, se l'ha già fatto, può 
indicarmi quante ore lavoro occorrono per fare il porting tra un applicativo 
sviluppato in VB6 e Visual Studio 8, cioè renderlo Web-based.
Tenete conto che l'applicativo usa Access come database, Ado come gestore 
dei recordset e Crystal report XI come generatore di Report.
Altri dati utili per la stima sono: tabelle gestite circa 50, form sdi circa 
30, l'uso di quasi tutti i controlli di VB6, "Common Controls 6.0(SP6)", 
"Common Controls 2 6.0 (SP6)", "Common Controls DataList" etc..., ampio uso 
di Datacombo, Datagrid (con campi di lookup "data formatting").Mi rendo 
conto che non è facile fare una stima, ma ho bisogno di farmi un'idea su 
quanto devo investire in tempo, ore lavoro, e denaro, presumo che la 
versione express sia insufficiente per il mio scopo e che debba acquistare 
Visual Studio 8 pro.
Cmq anche se non dovessi ricevere risposte, grazie lo stesso per il tempo 
che avete dedicato alla lettura di questa mia.
Saluti a tutti.
Giorgio
Albenga(SV) 

Giorgio ha scritto...

Praticamente la devi riscrivere tutta per intero.
Un lavoretto niente male.
Non vorrei essere nei tuoi panni!
Comunque Buon lavoro e Buon Porting.
--
Ciao Fede
By Chicco Production
http://bcp.freetools.it

 ha scritto nel messaggio 
news:487bc48e$0$29976$5fc...@news.tiscali.it...


 nuovo linguaggio, quanto meno approfondire le parti totalmente nuove.
Quoto sulla necessità di riscrivere l'applicazione.
Nella stessa situazione io mi muoverrei in questo modo:
- progetto di test per "ambientarsi", capire le novità e crearsi le proprie
classi di base (per esempio per incapsulare lo strato DAL)
- analisi per cercare di migliorare l'applicativo utilizzando le novità
(es. ereditarietà delle classi), quindi integrando la parte di analisi già
fatta
- porting manuale (senza wizard)
I primi due punti per me sono i più complessi e lunghi, una volta acquisita
la competenza il terzo punto dovrebbe essere abb. veloce.
In un porting di una vecchia applicazione che mi sono trovato a dover fare
per cercare di minimizzare il tempo mi ero scritto una classe che esponeva
quasi gli stessi metodi del vecchio RDO (basato su odbc), ma all'interno
era puro 
ado.net
. 
Questo approccio mi ha permesso di poter copiare e incollare molte parti di
codice senza modifiche (per lo meno quella parte che non referenziava
controlli su form)
PaF

 sviluppato in VB6 e Visual Studio 8, cioè renderlo Web-based.
Sul quanto non saprei aiutarti, anche se come ti è già stato indicato è 
consigliabile una riscrittura dell'intero codice.
Nicola Ottomano ha fatto il porting del suo applicativo da VB6 a .NET e 
se non ricordo male in qualche post vecchio si trova il tempo che ha 
impiegato per la riscrittura del codice.
Una piccola chiosa sulla tua affermazione:
"applicativo sviluppato in VB6 e Visual Studio 8, cioè renderlo Web-based"
scriverlo in .NET non vuol dire farlo, di conseguenza, web-based,
in .NET puoi scrivere tranquillamente delle applicazioni desktop.
Ti dirò di più, secondo me, se trasformi il tuo applicativo in 
applicazione web hai una doppia difficoltà,
cambiare il linguaggio e l'ambiente di sviluppo;
cambiare la "logica" dell'applicazione.
ciao
stefano

 che avete dedicato alla lettura di questa mia.
Una precisazione Visual Studio 8 non esiste, o meglio il nome commericiale è 
Visual Studio 2005. Sono i progetti ad essere identificati con un 8 
nell'icona.
La mia domanda è quindi: perchè non iniziare direttamente con Visual Studio 
2008 (vers. 9) sfruttando il nuovo FW?
Visto che poi dici di voler convertire un'applicazione VB6 in una 
web-application, penso proprio che 
ASP.NET
 3.5 sia qualcosa di fenomenale.
Ciao, Vincenzo


Secondo me però se pensa bene il DAL e il BL non avrà poi grossi problemi a 
costruire il Presentation Layer come WinForms o 
ASP.NET
. La difficoltà sarà 
più che altro conoscere come lavora il web server IIS e l'ordine delle 
richieste che vengono scatenate quando si richiama una pagina. Oltre a tutto 
il discorso sicurezza...
Per chi ha sempre sviluppato in VB6 o in .NET WinForms la cosa non è 
semplicissima ma di materiale su internet ce n'è a volontà!
Ciao, Vincenzo 

 semplicissima ma di materiale su internet ce n'è a volontà!
Si, si, hai ragione infatti dicevo proprio questo, la scrittura di 
un'applicazione web-based introduce un quid di difficoltà in più (se non 
altro per vedere che tutto funzioni correttamente sia con I.E. che con 
FF) il quanto sia questo quid dipende dalla bravura in progettazione di 
chi scrive. :-)
ciao
stefano

 wrote in
news:HrPek.116434$
FR.3...@twister1.libero.it
: 

per quel che ne so, porting significa 'tradurre' un'applicazione scritta 
in un certo linguaggio, 'portandola' in un linguaggio nuovo e non 
'rendere web based'.
e se devi renderla web based, suppongo che al momento non lo sia.
e allora non e' porting, la devi 'semplicemente' riscrivere, tenendo 
magari alcune funzioni di libreria che potrai effettivamente portare nel 
nuovo linguaggio.
quanto alla versione express, mi sa che invece ti basta.
controlla quali sono le differenze con la standard/pro/etc, ma se non hai 
esigenze di lavoro di gruppo o necessita' di modelli di progetto 
particolari, credo sia sufficiente per la maggior parte dei lavori di 
sviluppo (NB: per le differenze sono andato a memoria, quindi 
controlla!).
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 impiegato per la riscrittura del codice.
Si, ho riscritto tutta l'applicazione per intero.
Con 40 form mediamente complicati (autocomplete dei campi, controlli sul 
dominio dei dati inseriti, calcoli automatici su valori di refrazione 
ecc...), 25 Tabelle (prima Access 2000 poi ricreate sotto SQLLite), una 
decina di classi e 9 Report (prima Crystal Report, poi riscritti in un 
linguaggio ibrido HTML + Tag gestito da una mia classe specifica) ci ho 
messo 1 mese di pianificazione, 5 mesi per la riscrittura ed un altro 
mese (spalmato però nei 12 mesi successivi al primo rilascio) per il 
tuning dell'applicazione.
Riscriverlo Web-based ha alcune difficoltà dovute alle limitazioni del 
web stesso. In questo ci viene d'aiuto Visual Web Developer che consente 
  di creare applicazioni web in stile Visual, per cui sembra di 
progettare un windows form (prendi la cosa con le dovute cautele... 
vanno comunque gestite le sessioni, i cookies, il maledetto PostBack ecc...)
Secondo me la vera difficoltà sta nell'entrare nell'ottica .NET
Una volta "presa la mano" il codice viene automatico.
Un consiglio: evita i convertitori automatici. Riscrivere tutto da zero 
migliore il codice finale, riduce il rischio di bug "bastardi" dovuti a 
piccole incompatibilità e, cosa importante, aumenta notevolmente il tuo 
know how su .NET.
Nicola

 linguaggio ibrido HTML + Tag gestito da una mia classe specifica) 
Curiosità personale: come mai hai deciso di scrivere codice custom per la
reportistica ? Sono d'accordo sul non usare Crystal Report (che aborro) ma
ci sono altri tools per i report completi di designer molto versatili (io
uso per esempio Active Reports della Data Dynamics).
Ciao
PaF

Grazie a tutti,
siete meravigliosi, davvero!!,
ora devo riordinare le idee e cmq se ho capito i suggerimenti che mi avete 
dato, direi che la prima cosa sarà quella di studiare il Visual Basic 2008 
per il porting dell'applicativo e quindi successivamente, studiare il Visual 
Web Developper per fare diventare l'applicativo Web-based.
Per questo dovrebbero essere sufficienti le versioni express.
Avete qualche testo, in italiano possibilmente, da consigliarmi?
Grazie nuovamente e buona giornata a tutti.
Giorgio 


Più che Visual Basic dovrai studiare il Framework.NET. E ti consiglio di 
iniziare dalla prima versione perchè comunque nella 2.0, nella 3.0 e nella 
3.5 sono stati aggiunti/migliorati dei namespace... ma la base è importante!
Libri? Ce ne sono a migliaia se fai una ricerca su Google...
Se vuoi programmare in 
VB.NET
 il consiglio è leggerne uno di Francesco 
Balena...anche qui però dovresti partire da uno dei più vecchi perchè in 
Programmare Visual Basic 2008 si danno per scontato tante cose tra le quale 
la conoscenza del FW.
Per 
ASP.NET
 invece ti consiglio Programmare Microsoft 
ASP.NET
 2.0 (il 3.5 mi 
sembra che non sia ancora uscito) di Dino Esposito...uno dei massimi esperti 
di questa tecnologia. Tra i siti di riferimento per 
ASP.NET
 c'è 
www.aspitalia.com
Altrimenti partendo da sito MSDN di Microsoft puoi fare indigestione di 
notizie.
PS.: fossi in te (e te lo dice uno che programma in VB da 14 anni) darei uno 
sguardo a C# visto che devi iniziare con .NET. E' il linguaggio di 
riferimento di Microsoft e trovi molto più materiale ed esempi.
Ciao, Vincenzo 

 riferimento di Microsoft e trovi molto più materiale ed esempi.
Quoto!
Oltretutto, una volta imparato bene a maneggiare il FW con C# scrivere 
in VB ti verrà molto più semplice e con un piccolissimo sforzo in più 
maneggerai due linguaggi.
ciao
stefano

PaF ha scritto:

Avevo preso in considerazione l'uso di SharpDevelop Report, Reportman e 
NeoReport (che sono tutti gratuiti) ma non mi ci trovavo molto bene, 
soprattutto perchè hanno una logica simil-crystal report.
A me serviva qualcosa di leggero, personalizzabile al massimo e che mi 
garantisse portabilità su linux. Scrivere una mia classe tagliata a 
pennello sulle necessità del mio software è stato lo sbocco naturale di 
queste considerazioni.
Per informazione, su altri progetti ho lavorato con Crystal report (la 
versione inclusa nel VB6) e Reportman (anche se su report molto semplici).
Nicola

 dei recordset e Crystal report XI come generatore di Report.
...zacchete!
Eh eh ma dai!....davvero vuoi una risposta ad una domanda simile?
Se mi riuscisse darti una risposta...smetterei di fare il prorammatore 
pagato poco ...e fare concorrenza ad Otelma...il "divino"( ...o "di vino"?) 
Otelma!
Per risponderti...
Età cerebrale, motivazione, risorse disponibili???
Se sei un programmatore "scafato" con solite basi:
...potrebbe volerci poco...pochissimo (perchè la tua formazione di base è 
ottima...e si tratta solo di memorizzare un pò di namespace!)
...oppure tantissimo...perchè sei un "drago" con il vb6 + Access...ma non 
hai mai programmato ad oggetti...e mai hai visto SqlServer
Da quello che dici sembreresti un "classico" programmatore procedurale in 
vb6 (...un mio collega insomma)!
L'impatto è arduo allora...si tratta di "purificarsi" delle vecchie 
abitudini VB6 + ADO +Access...ed entrare in un mondo in cui persino un 
Integer è un oggetto!
Un mondo in cui ADO non ha cursori...anzi nemmeno recordset!
Un mondo che ti permetterà di abbandonare le tue velocissime e "chiuse" 
applicazioni...ed entrare in un mondo di "versatilità" e "multi utenza".
Ed allora ...dopo aver letto barbosissimi manuali
...svilupperai una "meravigliosa" tua prima applicazione .NET (VB C# J# 
Cobol# non ce ne frega) che avrà tutte le cose che i libri (i "sacri libri") 
richiedono!
Avrà ereditarietà, interfacce, classi e contro classette...si configurerà 
con file XML...sarà scalabile...."bella" come solo un OOP sà esserlo!
E quando la installerai dal tuo cliente ti verrà detto: "Ma come va lenta 
sta càata!...occome mai??!!...o se'ì'vecchio programma andava come una 
scheggia!"
E lì dovrai essere bravo...e spiegare: "ma questo è un programma in .NET!!! 
Moderno e futuribile...che può girare su un palmare, su una Xbox e su un 
xCray!...(della serie: io sono Paolo Bonolis!!!)"
Morale della favola:
prima di tutto non pensare al "mezzo"...ma al problema!
Se stai a fare un gestionale per 3 4 utenze...ha moooolto senso continuare a 
farlo con vb6 + Access....addirittura con DAO se access è il db!
Non avresti NESSUN vantaggio a farlo in net (oltre ad una ovvia 
soddisfazione personale ed intellettuale!)!!!
Il vantaggio al limite potrebbe essere di marketing : "siorre e siori !...da 
oggi GestVB...diventa Gest .NET...il gestionale del futuro...prego sganciare 
1000 pippi invece dei soliti 500!!!"....allora avrebbe mooolto senso!
M anche se volessi usare SQLserver e rimanere nelle 3 4 utenze....ne vedo 
pochi di vantaggi a farlo in .NET!
Dove troveresti vantaggio a farlo in NET:
-) Il mio SW diventa davvero multi utente...levitano li accessi!...ho la 
necessità allora di separare NETTAMENTE...l'interfaccia...dallo strato 
elaborativo (business...l'ho detta la parolaccia ok???!!!)....dal DB
-) Il mio SW ha utenti distribuiti...uno a milano...uno a bologna...uno con 
un linux...uno con un mac...uno con un windows....ti serve usare web 
service...non bacarti tanto le scatole...e lo strato interfaccia fare sì che 
sia...una pagina web!
-) Il mio SW è "sperimentale"....cambio spesso logica...(mi è capitato ai 
tempi del vb6...lavorando per ricercatori universitari!...ogni 15 giorni 
cambiava la struttura del DB e/o le funzionalità richieste e/o la logica di 
interconnessione dei dati....aver avuto a quei tempi tutto l'oop di ora!!!)
-) Il mio sw è "modulare"...è veramente facile implementare un architettura 
a plugin con NET...addirittura sostituibili "a caldo"...senza ricompilare 
l'applicazione!
In tutti gli altri casi...IMHO...è solo "moda" trasportarlo in NET!
Moda stimolata anche dal fatto che Microsoft scelleratamente ha abbandonato 
vb6 !
Saluti!
p.s.
Altro problema...con NET devi dedicare cicli cpu alla protezione fisica del 
codice e non solo dell'applicazione...il codice girando in una sorta di 
virtual machine è in MSIL...ed esistono ottimi decompilatori!...vero è che 
tutto si può craccare!
Ma un conto è craccare...ed un conto è decompilare!
...io ancora non ho trovato grandi soluzioni a questo!
 

 ha scritto nel messaggio 
news:487c56e1$0$1074$4faf...@reader2.news.tin.it...


Molto carina e concordo in pieno.


 abbastanza preciso.
Mi sembra che chiedi un pò troppo,
i tempi che ti si stanno consigliando,
sono in base alla nostra bravura e conoscenza,
ma la tua è sicuramente diversa.
Morale della favola,
ti sono stati dati dei punti di riferimento,
ma il calcolo finale spetta a te
dopo un attento esame di coscienza.


 ha scritto nel messaggio 
news:487d212c$0$29971$5fc...@news.tiscali.it...


 abbastanza preciso.
Più o meno quello che hai detto.
Un consiglio. nei preventivi carica sempre un 20-30% (ma anche più!) in 
più rispetto a quanto prevedi di metterci. E' matematico che il cliente 
voglia sempre qualcosa di nuovo, senza contare eventuali difficoltà di 
porting e cazzilli vari.
Nicola

 ha scritto nel messaggio 
news:487df932$0$17948$5fc...@news.tiscali.it...


 tuning dell'applicazione.
Ciao Nicola,
Volevo chiederti cosa hai usato in .Net per connetterti a sqlite!!!!
Grazie
Ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/