Newsgroup: it.comp.java
Titolo: Gestionale... DBMS o no?

Ciao
devo sviluppare un gestionale per un cliente, e mi chiedevo quale DBMS 
utilizzare.
Considerando che per ora si tratta di gestionali single-user, mi 
conviene utilizzare un DBMS o usare un meccanismo di file di backup?
Considerate che comunque installo tutto io sul computer del cliente...
Se devo scegliere un DBMS, che mi consigliate?
Grazie
FF

 Se devo scegliere un DBMS, che mi consigliate?
Per gli scopi che descrivi sicuramente HSQLDB.
Assolutamente lascia perdere i file, magari i backup falli sul db ogni 
tanto ;)
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://ammentos.biobytes.it
Flash tutorial: 
http://ammentos.biobytes.it/quickstart/quickstart.htm

 tanto ;)
Non lo conoscevo, ma se devo usare un DBMS, non è meglio uno più 
"blasonato" tipo PostgreSql? non so magari HSQLDB è un buon prodotto, 
più leggero, ma tu lo hai già provato?
FF

Puoi anche usare DB2 Express-C (da non confondere con Express) : e'
free... ed e' sempre della fam IBM DB2 ....
http://www-306.ibm.com/software/data/db2/express/
ciao


 più leggero, ma tu lo hai già provato?
Per gestionali del tipo che dici tu va più che bene. E' leggero, veloce, 
completo e soprattutto può essere utilizzato in modalità embedded. 
PostgreSQL è ottimo ma lo scomoderei solo se ne valesse davvero la pena. 
Già il fatto di doverlo installare e configurare complica IMHO 
inutilmente le operazioni presso il cliente.
Riguardo il blasone, ci sono fior di applicativi, commerciali e non, che 
utilizzano HSQLDB.


 pole
Quoto in pieno. Sto sviluppazndo guarda caso anche io un gestionale, e per 
evitare di installare e gestire un db oltre all'applicazione, sto usando in 
modalita' embedded hsqldb. Perfetto, e' l'ideale. Vai tranquillo, usa questo 
ottimo prodotto, ti semplifichi la vita.
Ciao
Co

in aletrnativa, puoi usare MySQL, e' gratis e dicono abb performante,
inoltre da estensioni di supporto da non schifarci sopra, come i
trigger e le stored procedure.
FF ha scritto:


 trigger e le stored procedure.
Ciao
Mi risulta che il connettore JDBC per MySQL è GPL e per programmi
commerciali è necessario l'acquisto di una licenza specifica.
Per usare il connettore GPL, dovresti dare al cliente il programma con
licenza GPL, e quindi farti pagare solo la consulenza per la realizzazione.
Il connettore Postgres è distribuito con licenza BSD, HSQLDB è
distribuito con una sua licenza simile alla BSD.
In entrambi i casi puoi distribuire il programma finito con le librerie e
eventuali modifiche alle librerie stesse.
Ciao
gl

 licenza GPL, e quindi farti pagare solo la consulenza per la realizzazione.
Assolutamente falso :)
Il driver jdbc non è incluso staticamente nel programma, questo in 
soldoni significa che:
- non sei tu l'utilizzatore commerciale del driver
- è il cliente che decide se *lui* deve acquistare o meno la licenza 
commerciale


Assolutamente falso :)
E' specificato anche nella pagina di download del connettore che serve la
licenza commerciale per la distribuzione commerciale di un prodotto che lo
usa
http://dev.mysql.com/downloads/connector/j/5.0.html
Altrimenti voglio vederti gestire un installer per il programma, e
istruzioni PDF da dare al cliente per scaricare e posizionare il driver
nel punto giusto, facendo in modo che non ti tenga al telefono un'ora
maledicendo il database.
Allo stesso modo, se avessi bisogno del Java Web Start, il jar dovrebbe
essere incluso tra i pacchetti che utilizzi, firmato con la tua chiave in
alcuni casi.
Non è un caso.
Il vecchio connettore 2.0 era LGPL e quindi poteva essere incluso in
prodotti commerciali.
La licenza è cambiata da LGPL a GPL dalla versione 3.0 del driver perché
questi signori lo sviluppano e lo mantengono e a loro giudizio per
programmi commerciali va pagato.
Visto che ci sono alternative come HSQLDB (BSD-like license),
Couldscape/Derby (Apache License), PostgresQL (BSD), Firebird (Mozilla
license) non vedo perché legare il tuo gestionale ad un uso illecito di
una libreria.
Anche perché nulla vieta che un giorno quella libreria diventi a sola
licenza commerciale, se l'azienda produttrice non ne trova profitto come
GPL.
E le versioni vecchie saranno difficilmente compatibili con quelle nuove.
Il connettore 2.0 per MySQL seppur disponibile in rete, non è più
utilizzabile con un mysql server recente.
Puoi sempre chiedere un consulto a quelli di MySQL per vedere se il tuo
uso è compatibile con la licenza.
ciao
gl

 
http://dev.mysql.com/downloads/connector/j/5.0.html
In che punto esatto della pagina sarebbe scritto ciň?

emmeesse ha scritto:

Nelle prime 3 righe :)
jack982

 In che punto esatto della pagina sarebbe scritto ciò?
Dunque...
--- 
http://dev.mysql.com/downloads/connector/j/5.0.html
 ---
NOTE: By downloading the software from this page, you acknowledge that the
software available from here is licensed under the GPL. We advise that you
review the GPL before downloading.
If you need commercial, non-GPL, licenses, you can order them online.
-----------------------------------------------------------
Dopodiché, girando per la documentazione:
--- 
http://www.mysql.com/products/connector/j/
 ---
Downloads, Licensing, and Support
Two versions of MySQL Connector/J are available for download:
    * MySQL Connector/J 3.1 is the old production-ready version of the 
    driver, and is available under the GPL.
    * MySQL Connector/J 5.0 is the current production ready version of the
     driver, and is available under the GPL (recommended).
Commercial licenses for either version can also be purchased from MySQL
AB, for those who don't wish to be bound by the GPL. For more information
on licensing MySQL Connector/J, please contact us. MySQL AB also offers
commercial support for MySQL Connector/J
--------------------------------------------------
Ma soprattutto:
--- 
http://www.mysql.com/company/legal/licensing/
 ---
For Commercial OEMs, ISVs and VARs:
    * For OEMs, ISVs, and VARs who distribute MySQL with their products, 
    and do not license and distribute their source code under the GPL,
    MySQL provides a flexible OEM Commercial License. More Info »
-----------------------------------------------------
Gira e mista si torna sempre al solito discorso.
Non puoi distribuire la libreria insieme ad un prodotto commerciale.
Puoi distribuire tutto tranne il connettore, poi il cliente se lo installa
da solo (con tutti i pro e i contro... anzi, i contro e basta).
Se installi tu il software al cliente (connettore compreso), allora stai
distribuendo il connettore.
Prova a dire che non è vero, lo porti *tu* o lo scarichi *tu* e lo
installi *tu*.
In qualunque modo lo distribuisci, se lo fai *tu*, devi comprare la
licenza commerciale.
Devi comprarla, *dovresti*, ma presumo che, essendo un professionista, ci
tieni al tuo lavoro e a farlo da professionista.
Oppure rilasci il prodotto al cliente su GPL, ti fai pagare per consulenza
ed assistenza e sei perfettamente in regola.
Se invece vuoi distribuire il prodotto come software commerciale, e non
vuoi pagare la licenza di MySQL, ci sono altri 20 software equivalenti con
connettore con licenza BSD o simile.
Capisco che gli italiani hanno la tendenza a voler "fregare" se si può,
ma perché ostinarsi se esistono delle alternative?
Inoltre, se il software lo distribuisci in larga scala (con web start ad
esempio) dovresti comunque avere la licenza, ma se il gestionale è per 1
solo client i database embedded come HSQLDB e Cloudscape/Derby sono
sicuramente più funzionali.
Se proprio vuoi MySQL gira il costo del connettore al primo cliente che lo
richiede, poi avrai la licenza per tutti i successivi coi costi già
coperti.
Oppure fai come ti pare :)
ciao
gl

FF wrote:

Io uso firebird da quando è stato rilasciato, sul suo sito
www.firebirdsql.org
 trovi il server e il connettore per java tutto
integrabile in qualsiasi programma, il server è facile da installare e
configurare, possiede tutte le caratteristiche di un server sql, nelle
applicazioni dove lo uso non si è mai verificato nessun problema, ci sono
poi un sacco di strumenti gratuiti per creare le tabelle e le relazioni di
integrità referenziale.
Ciao,
Graziano Sorbelli.

 Capisco che gli italiani hanno la tendenza a voler "fregare" se si può,
Si, vabbeh...

 Nelle prime 3 righe :)
Vogliamo tradurle insieme? :P

 ma perché ostinarsi se esistono delle alternative?
Perche` dire MySQL oggigiorno fa figo?
Enrico

 più leggero, ma tu lo hai già provato?
Dipende dall'uso che ne fai. Tieni presente che con HSQLDB:
- se lo attivi in modalita` embedded puoi usare una sola
  connessione
- se non stai attento a configurarlo, ti trovi che non vengono
  rispettati i vincoli di dimensione dei campi (non sto scherzando,
  nella configurazione originale un campo varchar di 30 caratteri puo`
  benissimo contenere una stringa di 31 caratteri);
- se lo attivi in modalita` server l'unico tipo di isolamento delle
  transazioni che hai e` il READ UNCOMMITTED (in parole povere, se usi
  due connessioni, e dalla prima fai un insert senza committarlo, la
  seconda connessione vede i dati inseriti dalla prima connessione).
Personalmente, a meno che non sei convinto che queste particolarita` non
ti creino problemi, ti consiglio di utilizzare Firebird o PostgreSQL
(MySQL evitalo, evitalo, evitalo)
Enrico

 Si, vabbeh...
Ma no!
Non hai citato la parte più importante del mio messaggio!
Mi cito da solo!


 ...
Dimenticavo, dalle FAQ di 
mysql.com
http://www.mysql.com/company/legal/licensing/faq.html
Previously, the MySQL client libraries were licensed under the LGPL (the
Lesser General Public License) and now they use the GPL (the General
Public License). What prompted this change? 
MySQL's goal is to provide all its software under a free software/open
source license. The change from the LGPL to the GPL for the client
libraries was made in 2001 during the development of MySQL 4.0 to help
MySQL AB more easily differentiate between a proprietary user who should
buy a commercial license and a free software user who should use the GPL
license. Previously there were people that were misusing the GPL by
distributing the MySQL server tightly coupled with their applications and
claiming that the GPL doesn't affect them because the client libraries
were free to use. 
This change has allowed MySQL to support its dual licensing model by
better identifying when someone is using MySQL software in a closed source
fashion without commitment to the open source philosophy. While MySQL
supports the open source ideals, we also believe in the notion of "Quid
Pro Quo" or fair exchange. For developers building open source
applications using MySQL, the change in the client licensing policy has no
effect. 
Based on feedback from our users, MySQL has introduced an exception that
makes it possible to combine the MySQL client libraries with software that
uses various Free and Open Source software ("FOSS") licenses. This is
known as the FOSS License Exception
Direi che con questo il numero di citazioni contro la tua tesi siano
abbastanza.
Per contro, potresti citare dove c'è scritto che si può usare il
connettore JDBC di MySQL senza licenza commerciale?
Dubito che ci riuscirai.
ciao
gl

 Il ragionamento è semplice semplice.
Preciso che non ho intenzione di continare la discussione perchè gli
hai dato un tono che non mi piace.
Dico solo una cosa: distribuire il connettore con il software non ha
nulla a che vedere con chi materialmente scaricherà il connettore e lo
installerà sul pc del cliente. Installare un software scaricandolo dal
sito MySQL *non* significa fare distribuzione (ovviamente).
A te programmatore serve la licenza commerciale qualora tu voglia
mettere il connettore sullo stesso CD o pacchetto di download con cui
tu distribuisci il tuo programma non-GPL. Questo si intende per
*distribuire* un software insieme ad un'altro software.

 *distribuire* un software insieme ad un'altro software.
Ti sbagli.
Tu scarichi il connettore.
Tu lo installi.
Lo stai distribuendo "con le tue mani" e non con un cdrom.
Cambia il mezzo di trasporto ma non la sostanza.
ciao
gl

 Sarebbe?
Sarebbe che sei troppo "spiritoso" per i miei gusti. Tutto quà.
Non c'è mica problema, mi astengo io dal discutere.

 
Mi chiedevo....bisogna essere registrati per scaricarlo giusto?

 Non c'è mica problema, mi astengo io dal discutere.
Se per te va bene così.
Ti ho fatto solo notare che non hai mai portato alcun fatto concreto o un
solo esempio credibile.
Mentre io per essermi preso la briga di spulciare la documentazione e le
faq di MySQL sul licensing (prodotto di cui faccio volentieri a meno) ho
guadagnato il titolo di "spiritoso"...
Beh, buon licensing! :)
ciao
gl