Distribuir aplicação java com banco de dados (mysql)  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
Malkav.Felipe
JavaBaby
[Avatar]

Membro desde: 17/11/2008 14:00:29
Mensagens: 94
Localização: Capão da Canoa - RS
Offline

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.

Em busca de conhecimento...
[Email] [WWW] [MSN]
rubinelli
JavaEvangelist
[Avatar]

Membro desde: 26/04/2005 11:18:25
Mensagens: 469
Offline

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.
[WWW]
bsatrianim
GUJ Ranger
[Avatar]

Membro desde: 10/12/2007 19:21:51
Mensagens: 919
Localização: Jundiai - SP
Offline

Tenta ve se da o PostGree SQL

http://www.postgresql.org.br/

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

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



Saber muito é bom, mas saber o suficiente e ajudar o próximo, é o mais importante.

Tenha sua empresa na web:
http://suaempresanaweb.vila.bol.com.br
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

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.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
Malkav.Felipe
JavaBaby
[Avatar]

Membro desde: 17/11/2008 14:00:29
Mensagens: 94
Localização: Capão da Canoa - RS
Offline

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.)


Hehehe...isso foi engraçado (mas é perigoso msm


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 . 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.....

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 ) em algum estagio do aprendizado...


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



Felipe.

Em busca de conhecimento...
[Email] [WWW] [MSN]
rubinelli
JavaEvangelist
[Avatar]

Membro desde: 26/04/2005 11:18:25
Mensagens: 469
Offline

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).
[WWW]
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

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 wrote: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
XpLoDeR
Thread.start()
[Avatar]

Membro desde: 24/08/2008 15:08:54
Mensagens: 29
Offline

venomtotal wrote:
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


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

Gustavo Nogueira de Oliveira

EMAIL/MSN/GTalk: gust.oliveira@gmail.com

BLOG: http://galeradacomp.wordpress.com/

Grupos de Pesquisa: DeepLab e Sidr@
[MSN]
Malkav.Felipe
JavaBaby
[Avatar]

Membro desde: 17/11/2008 14:00:29
Mensagens: 94
Localização: Capão da Canoa - RS
Offline

Poxa ... eu pensei que o mysql fosse algo diferente....mais "livre" entendem?? pois toooodo mundo usa (muita gente pelo menos ... )


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

Em busca de conhecimento...
[Email] [WWW] [MSN]
venomtotal
Java Ninja
[Avatar]

Membro desde: 24/04/2006 00:09:57
Mensagens: 298
Offline

E com vocês, a resposta:

http://www.mysqlbrasil.com.br/?q=node/6
Malkav.Felipe
JavaBaby
[Avatar]

Membro desde: 17/11/2008 14:00:29
Mensagens: 94
Localização: Capão da Canoa - RS
Offline

Então eras isso ... 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 , se não vo fazer meu programa com licença gpl 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.

Em busca de conhecimento...
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team