Utilizando uma aplicacao via rede !  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Agr0
Thread.start()
[Avatar]

Membro desde: 14/01/2009 13:21:16
Mensagens: 31
Offline

Boa tarde pessoal


Sou novo no forum e gostaria de saber o seguinte:

Eu fiz uma aplicacao em java que interage com o banco de dados interbase (localmente). A aplicacao faz: cadastro,remocao,consulta(listagem e busca)... O problema eh q eu so posso usar a aplicacao na maquina em q o banco de dados esta instalado ! Gostaria de poder usar a aplicacao em qualquer maquina da rede ! Eu sei q p/ isso eu devo utilizar SOCKETS ! + eu não sei exatamente como fazer ! Tenho q ter uma classe Cliente e outra Servidor ?! Eu estou usando o NetBeans !



[]s

[o]-[o]
__
maquiavelbona
JWizard
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline

Você pode fazer de várias maneiras:
- liberar o interbase para comunicar com máquinas além do localhost e assim você muda o endereço do banco para se comunicar com aquela máquina em específico.
- fazer um programa que fica na mesma máquina do banco e modificar o seu programa para conversar com ele via rede. Pode ser por sockets puro ou podes procurar fazer algum serviço baseado em comunicação HTTP.
- instalar o interbase em cada máquina e fazer um serviço de replicação (blargh).

Agora é só procurar. O primeiro é simples, em geral qualquer tutorial de como se trabalhar com DB em Java já tem quase pronto.

Até!

----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
marcosharbs
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2008 11:53:39
Mensagens: 645
Offline

vai ter um servidor socket rodando na maquina onde esta o bd, o cliente vai se conectar nesse servidor e mandar uma requisição, o servidor recebe a requisição, faz a consulta no banco e devolve uma resposta com os dados consultados

======================================================

Blog com foco em desenvolvimento web com java.

http://marcosharbs.wordpress.com/

======================================================
btafarelo
JavaChild

Membro desde: 09/06/2006 18:37:18
Mensagens: 135
Localização: São Paulo
Offline

Depende muito da situação,

Mas acho que instalar o servidor do interbase é a melhor alternativa.

---
Abs,

Bruno Tafarelo
Agr0
Thread.start()
[Avatar]

Membro desde: 14/01/2009 13:21:16
Mensagens: 31
Offline

marcosharbs wrote:vai ter um servidor socket rodando na maquina onde esta o bd, o cliente vai se conectar nesse servidor e mandar uma requisição, o servidor recebe a requisição, faz a consulta no banco e devolve uma resposta com os dados consultados


Valeu pessoal pelas informacoes !

A forma q + me agrada eh essa citada acima ! Esse servidor Socket vai ter q ficar na aplicacao ?

Exemplo: No pc onde esta o banco de dados vai ficar a Aplicao + Servidor Socket !

Nas outras maquinas vao ficar: Aplicacao + cliente !

Sendo q o cliente e o servidor ja vao estar "dentro da aplicao " ? Ou eu vou ter q fazer uma aplicao separada ?

Ja existem essas 2 classes prontas p/ facilicar minha vida ?

Desculpa a falta de informacao pessoal... Eh pq eu nao conheco quase nada de sokets ...

[o]-[o]
__
maquiavelbona
JWizard
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline

Cuidado com esse tipo de abordagem. Sockets são úteis sim mas talvez você vá ter mais trabalho fazendo um servidor que escute, um cliente, integrá-los de forma eficiente e concorrentemente, garantir que algum espertinho no meio do caminho não saia lendo os dados trafegados e/ou mudando-os. Sério, mude somente a URL de conexão do banco e deixe-o liberado para a rede. É uma linha de mudança e talvez abrir o firewall no servidor para a porta do banco.

Até!

----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
Agr0
Thread.start()
[Avatar]

Membro desde: 14/01/2009 13:21:16
Mensagens: 31
Offline

maquiavelbona wrote:Cuidado com esse tipo de abordagem. Sockets são úteis sim mas talvez você vá ter mais trabalho fazendo um servidor que escute, um cliente, integrá-los de forma eficiente e concorrentemente, garantir que algum espertinho no meio do caminho não saia lendo os dados trafegados e/ou mudando-os. Sério, mude somente a URL de conexão do banco e deixe-o liberado para a rede. É uma linha de mudança e talvez abrir o firewall no servidor para a porta do banco.

Até!


Valeu cara pela dica ! + eu nao to fazendo nada profissional ainda ! Ainda nao trabalho com programacao ! Eh p/ estudo mesmo !

+ eu kero fazer usando Server e Client ! Essas 2 classes ja existem prontas ? Como eu faco ? To completamente perdido nesse aspecto !



[]s

[o]-[o]
__
maquiavelbona
JWizard
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline

Em algum lugar da internet deve ter pronto mas acho que o mais legal seria você procurar ou fazer na mão então. Eu acho um tédio trabalhar com sockets, mas boa sorte. Tem bastante material, até aqui no guj mesmo, sobre isso.

Até!

----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Eu fiz algo parecido na facu, mas o requisito era usar RMI pra comunicação.

This message was edited 1 time. Last update was at 14/01/2009 14:57:36


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
edpipole
JavaTeenager

Membro desde: 29/03/2005 14:53:51
Mensagens: 165
Offline

Agr0 wrote:
maquiavelbona wrote:Cuidado com esse tipo de abordagem. Sockets são úteis sim mas talvez você vá ter mais trabalho fazendo um servidor que escute, um cliente, integrá-los de forma eficiente e concorrentemente, garantir que algum espertinho no meio do caminho não saia lendo os dados trafegados e/ou mudando-os. Sério, mude somente a URL de conexão do banco e deixe-o liberado para a rede. É uma linha de mudança e talvez abrir o firewall no servidor para a porta do banco.

Até!


Valeu cara pela dica ! + eu nao to fazendo nada profissional ainda ! Ainda nao trabalho com programacao ! Eh p/ estudo mesmo !

+ eu kero fazer usando Server e Client ! Essas 2 classes ja existem prontas ? Como eu faco ? To completamente perdido nesse aspecto !



[]s


já que e para estudo que tal aprender uma coisa que normalmente e utilizada? como webservice por exemplo?


da uma olhada em:
http://cxf.apache.org/


abraços
Agr0
Thread.start()
[Avatar]

Membro desde: 14/01/2009 13:21:16
Mensagens: 31
Offline

renzonuccitelli wrote: Eu fiz algo parecido na facu, mas o requisito era usar RMI pra comunicação.


Opa

kra, se vc puder mandar a aplicacao via email iria me ajudar muito ! Vou mandar meu email por MP p/ vc !




[]s

[o]-[o]
__
maquiavelbona
JWizard
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline

edpipole wrote:...
já que e para estudo que tal aprender uma coisa que normalmente e utilizada? como webservice por exemplo?


da uma olhada em:
http://cxf.apache.org/


abraços


Ele mal sabe o que é socket e você já quer dar um framework inchado para ele aprender? Que tal mostrarmos como se anda para depois ele tentar virar fundista?

Até!

----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
edpipole
JavaTeenager

Membro desde: 29/03/2005 14:53:51
Mensagens: 165
Offline

maquiavelbona wrote:
edpipole wrote:...
já que e para estudo que tal aprender uma coisa que normalmente e utilizada? como webservice por exemplo?


da uma olhada em:
http://cxf.apache.org/


abraços


Ele mal sabe o que é socket e você já quer dar um framework inchado para ele aprender? Que tal mostrarmos como se anda para depois ele tentar virar fundista?

Até!


ue, não custa tentar...


javer
Virtual Machine Man
[Avatar]

Membro desde: 10/09/2007 12:06:29
Mensagens: 642
Localização: São Paulo - SP
Offline

Amigo (do post), eu também trabalho de forma semelhante ao que você está querendo fazer, eu uso o banco Firebird, ele fica instalado em uma máquina servidora (pode ser linux ou windows), o sistema roda via JWS (inclusive com instalação e atualização automática) e o acesso ao banco de dados é feito via URL do servidor, veja exemplo:



Funciona bem assim pois já tenho esses sistemas em produção desde 2004

------------------------------------------------------
Java Desktop Developer (Swing) - www.javasis.com.br
--- Disponível para Emprego ---
[WWW]
marcosharbs
Virtual Machine Man
[Avatar]

Membro desde: 01/08/2008 11:53:39
Mensagens: 645
Offline

entao vou te passar uma aplicação que é um jogo da velah que fiz usando socket, nessa aplicacao um usuario cria o server e se conecta nele e espera outro conectar ai os dois jogos em rede por socket, vc pode faezr uma classe servidor que ao receber um pedido de um cliente executa uma query passada pelo cliente e retorna um resultset para esse cliente por exemplo, a aplicacao que fiz eh diferente mas a parte de comunicacao vc pode ter uma ideia olhando, segue o .jar anexo abaixo, vais te que usa um descompiler para ver as classes to sem o fonte aqui.

 Nome do arquivo Jogo Da Velha.zip [Disk] Download
 Descrição so descompactar e rodar o .jar dentro do diretorio
 Tamanho 101 Kbytes
 Baixado:  42 vez(es)


======================================================

Blog com foco em desenvolvimento web com java.

http://marcosharbs.wordpress.com/

======================================================
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team