Newsgroup: it.comp.lang.visual-basic
Titolo: VB e Linux: applicazione CS

Ciao a tutti,
qualcuno di voi ha già realizzato (anche a scopo di studio) una applicazione
client-server con s.o. Win lato client (applicazione VB) e con s.o. Linux
lato server (es. database server con PostgresSQL / MySQL / Firebird,
fileserver, printserver, mailserver,.....)?
Ultimamente mi frulla per la testa l'idea di sfruttare i vantaggi di questo
s.o. e del software (nel mio caso db server) che gira su di esso (parecchio
in licenca GPL/Open Source) per la realizzazione del lato server di una
applicazione client server in una rete locale con client win sui quali
installerei il frontend alla base di dati scritto in VB.
Da quel poco che so Linux sfrutta al max macchine anche non recentissime,
può funzionare interamente (anche i db server, web server, etc.) in modalità
testo senza gui grafica (per cui il sys operativo risulta molto più snello),
è estremamente affidabile e già studiato per la multiutenza, non ha costi
legati alle licenze client di accesso al server e di licenze client per
l'accesso al db server,.....
Tenpo fa avevo letto il messaggio di qualcuno su questo stesso gruppo che si
poneva le stesse domande circa la fattibilità e la convenienza di una cosa
del genere: purtroppo non riesco a ritrovare i post con Google.
Quindi cortesemente vi chiedo: vi siete mai cimentati in questo? secondo voi
ne vale la pena? che tipo di controindicazioni avete verificato al lato
dell'implementazione pratica di tale sistema? quale distribuzione Linux
avete utilizzato e quali componenti software?.....in pratica, quale è la
vostra opinione?
Secondo me non sarebbe una cattiva idea specie per applicativi tipo
'gestionale': frontend grafico userfriendly verso una base di dati remota e
condivisa.
Sarebbe bello fornire all'eventuale cliente la macchina server, con Linux
preinstallato, pronta da far funzionare, senza costi allucinanti (un server
linux ha costi IMHO molto diversi da un server WIN, dove si ha un s.o.
server che costicchia, un db server che costicchia, la necessità di acquisto
di licenze client per l'accesso al server e di licenze client per l'accesso
al db server,...costi che +è grande l'azienda in termini di client da
collegare +sono significativi).
Unica controindicazione e tutt'altro banale è però certamente
l'amministrazione di un s.o. Linux alquanto complessa...e la
manutenzione,....
Voi che ne dite?
ciaoo
dix

Su hd ho una classe per la connessione e il dialogo con MySQL, non ricordo
quando o da dove l'ho scaricata,
se ti interessa contattami che ti mando i sorgenti via email.
Il codice non e' mio ma e' cmq sotto LGPL.
See Ya
"dix" <lucaf...@FILTROhotmail.com> ha scritto nel messaggio
news:Gc1a9.15240$pX1.4...@news2.tin.it...


 la manutenzione,....
In generale se non devi proteggere la macchina da attacchi esterni una volta
installato e testato il sistema non necessita di manutenzione ordinaria...
al limite qualche lavoro in caso di guasto hardware e qualche controllo
periodico... Si può fare anche da remoto volendo (non in caso di guasto
hardware)...
Ciao

L'utilizzo di Linux come sistema operativo per un server , per come la vedo io
, e' una scelta
obbligata in virtù del fatto che i sistemi operativi della famiglia Microsoft
peccano ancora di
stabilità , ma soprattuto hanno molti problemi in fatto di sicurezza. Da non
dimenticare poi che
Linux disponse di tutta una serie di software applicativi Open Source e
permette di limitare
gli investimenti in licenze per una macchina server.
Ora per un applicazione gestionale quello che puoi fare e' sicuramente
utilizzare in database mysql,
o postgress ( se hai bisogno di transazioni ), per quanto riguarda i dati , poi
puoi scegliere sul tipo
di applicazione (client/server  o Web ).
Sicuramente l'utilizzo di Visual Basic ti permette di creare interfacce utente
più ad effetto e in modo più
rapido possibile (fat client) .  Se non vuoi spendere soldi in licenze Visual
Basic, puoi pensare di sviluppare la tua interfaccia grafica in modalità Web
utilizzando PHP o Java (thin client).
Ora se la tua applicazione e' fat client hai bisogno di un DB Server (mysql o
postgress) installato sul server
linux, e dei driver ODBC per la connessione del client al DB ( li scarichi per
mysql sul sito
www.mysql.com
).
Se la tua applicazione e' thin client , devi aver il DB Server , PHP o Java SDK
ed Apache installati sulla
macchina server linux, sul client deve solo avere il browser .
La difficolta in tutto questo e' legata solo alla tua conoscenza di Linux, e
naturalmente chi compra
l'applicazione deve avere un sistemista capace.

 o postgress ( se hai bisogno di transazioni ), per quanto riguarda i
Anche mysql nelle ultime versioni supporta le transazioni (bisogna
specificare un tipo di tabella differente da quella predefinita).
Ciao

 software?.....in pratica, quale è la vostra opinione?
Penso che si possano ottenere ottimi risultati, anche se una
soluzione Win-Win è sicuramente di più facile realizzazione.
Comunque ti consiglio decisamente FreeBSD al posto di linux, a
meno che non ti piaccia il mal di testa...
Ciao.
--
BSD is for UNIX-lovers -- linux is for Windows-haters.

 meno che non ti piaccia il mal di testa...
A me il mal di testa non piace ma non ho mai avuto problemi... spiegati! ;)

Grazie mille a tutti per il supporto!
dix

 problemi... spiegati! ;)
linux è un ottimo sistema operativo, ma non è uniforme ad
amalgamato come un *vero* SO sviluppato *in toto* dallo stesso
gruppo di persone.
In effetti linux è solo un semplice kernel (e pertanto
totalmente inutile da solo), al quale certe persone o certe
aziende aggiungono il resto necessario a farlo funzionare.
Così nascono le centinaia di distribuzioni esistenti, che
presentano varie diversità ed incompatibilità fra di esse. E
gli stessi applicativi risentono spesso di queste
incompatibilità. Pensa alla situazione Windows, dove le
diversità fra NT, 2000, XP, 9.x, ME creano notevoli problemi,
ed estendila alle centinaia di distribuzioni (anche se fra
molte le diversità non sono così notevoli).
Si sentono molte persone lamentarsi del fatto che il
tale applicativo funziona solo con il kernel x.y.z, mentre
il tale driver funziona solo con il kernel x1, y1, z1, ma la
feature che gli serve è implementata solo nel kernel x2,
y2, z2.
Vedi ad esempio:
http://www.mysql.com/doc/en/Binary_notes-Linux.html
Questo comporta che per utilizzi "semplici" (web server, mail
server, ecc...) linux può non creare il minimo problema, ma se
si cerca di utilizzarlo come application server i problemi
sono assicurati (e non per nulla linux come application server
*non* viene utilizzato da nessuno).
FreeBSD, per quanto open source (e con una licenza ben più
libera della GPL) è sviluppato da un gruppo di persone in ogni
sua parte (tranne ovviamente le utility GNU), e pertanto molto
più coerente con sé stesso ed omogeneo in ogni sua parte.
Questa sua coerenza comporta nche una molto maggiore facilità
di reperire informazioni *aggiornate* ed esatte (proprio
quelle che mancano per linux) per risolvere ogni problema che
si possa presentare.
Se a questo aggiungiamo anche un sistema di package
notevolmente migliore di quello utilizzato per la maggiore su
linux (RPM, a scapito del notevolmente migliore APT)...


> Su hd ho una classe per la connessione e il dialogo con MySQL
Ciao!
Innanzitutto grazie per il tuo post.
Ti sarei molto grato se potessi mandarmi la classe VB per il collegamento al
database MySQL, o alternativamente gli estremi per reperirla su Internet.
Sto pian pianino costruendomi la mia, ma sono curioso di vederne una già
fatta, al limite per prendere spunto (visto che è la prima volta che mi
trovo a dover interfacciare il mio frontend con questo database server).
Tu hai provato ad utilizzarla? Con il db server residente su Linux?
Sai se si appoggia ad ODBC oppure ad ADO per il collegamento?
Scusa per le mille domande e grazie anticipatamente!
dix

 meno che non ti piaccia il mal di testa...
Scusa l'ignoranza....ma io so ancora davvero poco sul mondo Unix su i386 e
al momento conosco solo un po' di Linux (uso Suse 8.0 che mi hanno detto
essere adatta per cominciare, lasciando per dopo distribuzioni piu' toste
come Debian e Slackware). Da quello che capisco dal tuo post FreeBSD
doverebbe essere un'altra implementazione di Unix su i386 o sbaglio? Non
penso sia una distribuzione Linux come quelle citate prima.
Mi potresti dire molto sinteticamente le maggiori differenze tra una
distribuzione Linux e FreeBSD ( ed i vantaggi del secondo visto che parli di
'mal di testa')?
Il software Linux  (tantissimo), che mi sembra estremamente diffuso e facile
da reperire su Internet, gira anche su FreeBSD oppure di ogni sw esiste una
versione per FreeBSD?
Intanto vado a farmi un giro su Internet cercando qualche notizia in
piů.....
Grazie mille anticipatamente per i chiarimenti!
dix

 chiarimenti!
www.freebsd.org


 linux (RPM, a scapito del notevolmente migliore APT)...
Tutte le distro che hon provato facevano il check delle dipendenze da
sole... se è a questo che ti riferisci...
Resto dell'idea che per sviluppare applicazioni con client windows non
faccia differenza la sceglta tra Linux o BSD come server dato che la
macchina imho sarebbe un file-server o/un db server ;)
btw non l'ho ancora provato e il mio è solo un giudizio di massima...
attualmente non ho tempo per provarlo (stò già impiegando il 110% del mio
tempo per altri progetti). Spero di avere l'occasione di metterlo su una
macchina anche se intuisco che prima di farlo funzionare bene dovrò perdere
molto tempo! :(
Una curiosità... perchè la version 4.6 ha 4+ CD mentre la 4.6.2 ne ha solo
2? :?

 CD mentre la 4.6.2 ne ha solo 2? :?
In realtà FreeBSD è solo un CD. Gli altri tre (o quanti sono)
sono semplicemente sw già compilato (in forma di package) in
dotazione. Ma io installo (ed è la cosa migliore da farsi)
sempre e solo dai ports.


 sempre e solo dai ports.
Cioè? Mi consigli di scaricare il solo primo CD  e poi scaricar i pacchetti
separatamente dai siti dei produttori? :?
Ciao

 Generalemtne quello che spinge a non cambiare software è
"l'abitudine"...
cioe' il tempo. mica poco.
ciao, a.

 scaricar i pacchetti separatamente dai siti dei produttori?
Scarichi solo il primo CD ed installi FreeBSD.
Poi il sw lo installi dai ports (e *solo* dai ports).
I ports sono un insieme di informazioni contenute in un
directory tree (/usr/ports/) diviso per categorie (es:
/usr/ports/database/, /usr/ports/www/, /usr/ports/mail/,
ecc...).
Per installare un qualunque sw basta spostarsi nella sua
directory nel ports tree e lanciare make install:
HPL# cd /usr/ports/sysutils/portupgrade && make install
o, avendo installato l'utility di cui sopra (portupgrade):
HPL# portinstall nome_pacchetto_che_vuoi_installare
per esempio, per installare mono (.NET per *nix):
HPL# portinstall mono
Tutte le dipendenze necessarie vengono installate
automaticamente.
