Comunicacao entre clientes JavaFx e BD

2 respostas
Luiz_Seadorf

Sou bem iniciante, espero que me ajudem.
Quero fazer um sistema com no maximo 3 clientes, acessando um BD oracle.
Penso em fazer um cliente em JavaFX (ou Swing) que ao iniciar busca os dados do BD no servidor e preenche um ArrayList.
O caso e´que preciso que uma modificacao no BD feita por um cliente avise os outros clientes imediatamente, para que eles atualizem os dados
em seus respectivos ArrayList.
Podia fazer o cliente como um aplicativo JavaFX e usar RMI para comunicação cliente-servidor ?
Ou seria melhor rodar o cliente javaFX na web e usar web services ? Uxava um servlet no servidor web que receberia a requisicao do aplicativo JavaFX, atualizaria o BD, depois informava ao cliente se a operacao foi bem sucedida e em seguida avisava os outros clientes que estiverem online.
Alguem pode opinar sobre o melhor caminho, sugerir fontes de leitura ou exemplos ?

Obrigado

2 Respostas

Jesuino_Master

Criar um WEB Service REST e consumir ele dentro da aplicação JavaFX?

Luiz_Seadorf

Obrigado pela resposta, vou pesquisar.
Basicamente, eu queria enviar do cliente um objeto e a informaçao sobre qual operação CRUD deve ser executada no BD usando aquele objeto. Aí dependendo da tabela envolvida, existe a necessidade de fazer um update nos outros clientes. Por exemplo, num cadastro de clientes, se este for marcado como inadimplente, e´desejavel que as outras filiais recebam essa informaão o mais rapido possivel. Ou uma alteraçao importante no estoque. Nem sempre existe essa necessidade, apenas em alguns casos.

Bomm…teoricamente não tem que ser Web, já que os clientes são poucos e fixos. Para mim seria facil fazer atualizações. O que acho interessante e´ deixar o BD e as regras de negocios/DAOs no servidor, e deixar apenas a interface grafica no cliente (3 camadas). Até poderia fazer em duas camadas, fazendo a comunicação do cliente com o BD diretamente. Mas aí teria que levar a camada de regras de negocio para cada cliente e acho que ficaria muito dificil informar os outros clientes sobre a necessidade de uma atualização dos dados.
Enfim, caso fique em duas camadas, pensei numa opção pouco elegante que seria criar uma thread em cada cliente, que ficaria observando alteracoes no BD do servidor.
Mas preferia fazer em 3 camadas, deixando regras de necocio no servidor.
Caso não seja web, como o cliente se comunicaria com a camada de negocios no servidor ? Posso usar servlets ? RMI ?
Queria opiniões para ver a melhor maneira de fazer.

Criado 24 de maio de 2012
Ultima resposta 25 de mai. de 2012
Respostas 2
Participantes 2