Distribuir aplicação java com banco de dados (mysql)

10 respostas
M

Olá a todos…

Não sei se estou postando no lugar correto, mas vamos lá…

Tenho um aplicação java desktop com acesso a banco de dados mysql.

Está tudo rodando bonitinho, mas agora eu preciso distribuir essa aplicação…

A minha principal dúvida é a seguinte: No computador do cliente TEM que ter o MySql instalado também, além do JRE (pra rodar o java)? se sim, tem algum tipo de JRE pro mysql… assim, seria só pra roda o banco mesmo, ou tem que instalar o mysql todo?..

Agradeço desde já pela atenção…

So novo em java e to adorando trabalhar com a linguagem, agora preciso avançar no meu estudo, por isso minha nescessidade de distribuir uma aplicação minha, mesmo sendo pequena…

Abraços.

Felipe.

10 Respostas

R

Que eu me lembre, para distribuir os drivers do MySQL, você precisa de uma licença comercial. Alguém sabe se isso mudou?

De qualquer forma, MySQL pode não ser o melhor banco de dados para você distribuir. Existem muitos outros, como SQLite, Firebird, e o próprio Derby, que podem funcionar muito bem com uma aplicação desktop. A não ser que você esteja usando muitos recursos específicos do MySQL, pode valer a pena migrar.

B

Tenta ve se da o PostGree SQL

Se a aplicação não for muito grande, pode usar o Java DB

http://developers.sun.com/javadb/
:wink:

P

Bom, CASO o seu programa precise de um banco de dados ou drivers ou bibliotecas de terceiros E vc não pode distribui-las junto do seu programa por questões de licensa e $$$, nada impede que vc:

1 - Deixe claro no manual, readme, etc que PRECISA desses softwares e o cara que baixe por conta própria.
2 - Crie um programa ou script que baixe e instale os programas necessários.

Em todo o caso, leia a(s) licensa(s) de distribuição dos softwares envolvidos pra não receber uma visita dos homens de terno preto.

M

Hehehe…isso foi engraçado (mas é perigoso msm :lol:

Mas eu acho que não consegui ser bem claro com a minha dúvida…

Deixa eu tentar de novo.

O que eu quero saber é: se é preciso eu ter o mysql instalado no computador do cliente para o meu programa em java possa acessar um banco de dados que desenvolvi no mysql. É simples assim a minha dúvida. Parece até besta :roll: . Se for o caso, e a resposta para a minha dúvida seja sim ( que eu acredito que é), tem como eu instalar somente o necessário do mysql (assim como JRE é pro java) pro meu programa poder acessar o banco de dados que fiz? Acho que não né :? . To viajando legal… :oops:

Meu programa é simples e prático. É um gerenciador para lan house, com opção de cadastro de clientes, controle de contas pros mesmos e controle de caixa, e claro controle de tempo para os que “alugam” os computadores da lan…

Se for o caso eu troco (tento hehe) troco de banco de dados…

Venho estudando programação faz um tempinho… mas nunca cheguei a concluir um projeto por completo entendem, e acho que é normal surgirem duvidas (bestas as vezes 8) ) em algum estagio do aprendizado…

Agradeço a atenção de todos, o pessoal do guj realmente é fantastico.

Felipe.

R

Para responder sua dúvida, sim, você precisaria instalar o gerenciador de banco de dados (no caso, o MySQL) no computador do cliente. Por isso eu sugeri alternativas que não exigem instalação, só copiar algumas DLLs (e no caso do Derby, nem isso).

V

Sim, como ja foi dito você teria que instalar o mysql sim.

Por que? Veja bem, o seu sistema é divido em duas partes.
1 - O banco de dados, onde ficarão armazendas as informações(nomes dos clientes, horas utilizadas e etc…)
2 - E o programa java que acessa e manipula estes dados

Se você levasse só programa java, seia como “levar um videogame sem o jogo”

Como eu distribuiria isso
Pelo que você contou, na maquina do seu cliente você vai ter que instalar:

  • O banco mysql
  • A JRE(máquina virtual)
  • E seu programa, que deverá ir “compactador” como um arquivo .jar

Lembrando que o ideal é usar as mesmas versoes do que está instalado na sua máquina.

Considerações finais
"Devo usar o mysql ou outro banco?". Na minha opnião depende. Este sistema vai ser usado em apenas uma maquina(aplicacao standalone) ou em várias, todas compartilhando as informações do banco de dados(aplicação cliente-servidor).
No primeiro caso,vejo muita gente usando outros banco de dados como o H2 ou hsqldb. No último caso, usaria mysql sem dúvida.

rubinelli:
Que eu me lembre, para distribuir os drivers do MySQL, você precisa de uma licença comercial. Alguém sabe se isso mudou?

Dúvida interessante.

Acesse o site oficial:http://dev.mysql.com/downloads/connector/j/5.1.html

Corrijam-me se eu tiver errado, mas Eu euntendi que o driver segue o licenciamento GPL, então seu programa que use o driver, teria que ser GPL também. Porém, caso você não queira isso, favor entrar em contato com o setor de vendas da SUN :twisted:

X

venomtotal:

Corrijam-me se eu tiver errado, mas Eu euntendi que o driver segue o licenciamento GPL, então seu programa que use o driver, teria que ser GPL também. Porém, caso você não queira isso, favor entrar em contato com o setor de vendas da SUN :twisted:

Bah! Que interessante isso! Não sabia dessa e acho que muitos programadores que utilizam o MySQL também não sabem.

M

Poxa :? … eu pensei que o mysql fosse algo diferente…mais “livre” entendem?? pois toooodo mundo usa (muita gente pelo menos :roll: … )

Alguém ai trabalha em produção com o mysql?? Poderia confirmar ai o que o nosso amigo venomtotal falou sobre a licença e tal??

Valeu :!:

V

E com vocês, a resposta:

http://www.mysqlbrasil.com.br/?q=node/6

M

Então eras isso 8) … axo que ficou mais clara algumas coisas pra mim. Vo testar o PostGreSQL (antes que eu me precipite, vo verificar se ele não sofre das mesmas consequencias do mysql :slight_smile: , se não vo fazer meu programa com licença gpl :lol: já que é pra aprendizado mesmo).

venomtotal : valeu pelo link.

Vo te que estudar mais sobre distribuição de qualquer aplicação com acesso a banco de dados. A começar pela arquitetura da aplicação eu axo,mas um dia eu chego lá hehehe…

Valeu pessoal.

Criado 28 de dezembro de 2008
Ultima resposta 6 de jan. de 2009
Respostas 10
Participantes 6