Java Web Start

11 respostas
G

Lá vem o chato de novo, sem saber o que fazer com Java heheheheh.

Estou entrando no meu primeiro projeto java e o pessoal esta querendo fazer o mesmo que eu: que um programa funcione na web.

Sei das seguintes possibilidades:

JSP + Servlets + (quilos) JavaScript
WebServices (esse é duvidoso)
Swing + Servlets

Esse último parece o caminho, porém preciso de algumas informações:

Essa idéia swing + servlets significa utilizar o Java Web Start (JWS) correto ?

Eu preciso desenvolver os aplicativos em forma de applets ou simplesmente extendendo minha classe principal de execução de um JFrame também vai funcionar ?

Supondo que essa aplicação gere demonstrações contábeis, em certos casos o volume de dados pode ser grande, isso não vai comprometer a performance da comunicação do programa com o banco de dados (que suponho estar em um servidor web) ?

Onde e como os servlets entrão e de que forma eu recebo e leio os resultados de alguma solilcitação enviada a eles ?

utilizar swing + servlets + JWS é realmente o melhor caminho para isso ? Se for, onde encontro bom material além do java. sun.com ?

Obrigado!!!

11 Respostas

R

Não respondendo totalmente mas contribuindo para um debate:
App Swing/SWT + Servlets, parece uma boa idéia.
O tráfego na rede não vai ser maior do que uma aplicação web convencional.
Tu vais usar o swing normalmente passando e recebendo requests http com collections de javabeans ± isso.
Os servlets vão ser o controle do teu mvc. Vão estar rodando no Tomcat por exemplo e instanciando tuas classes de negócio, gerenciando tuas transações.
Fica uma solução bem desacoplada, não é mesmo? Onde o cliente pode ser o que você quiser. (Eu gosto muito deste desacoplamento. Quando comecei a programar no cobol em mainframe unysis em 80 era assim mesmo que se fazia. Por tanto, posso não ser uma fonte confiável…)

Mas porquê swing+servlet se isso faz a mesma coisa que jsp e etc…
Bom tentando responder ( pra mim mesmo, quero tentar me convencer hehehe ):
a - É mais amigável para o usuário pois ele usa mais o telhado com uso intensivo de teclas de atalho ( o cara não precisa usar o mouse, por exemplo, uma grande parcela de meus clientes não gosta de usar o mouse pois “atrapalha a digitação” e adoram teclas de atalho e foco nos botões - fazer o quê?).
b - Você pode usar recursos do computador cliente. ( como gravar no disco local, usar portas de comunicação - paralela, serial - etc e tal. )
c- mais não sei dizer.

Para fazer esta mesma implementação sem o http no meio acho que seria usando rmi ou ejbs com um servidor de aplicação.

G

Blz… uma resposta bem produtiva pra mim … os dados que eu preciso vão retornar através de collections de JavaBeans que acredito ser uma espécie de array.

Eu só preciso ver agora através de que função ele me envia isso e como eu faço as devidas solicitações…

Desculpem, mas sou um usuária iniciante na tecnologia, ou seja, totalmente “básico”!

Só completando a resposta a pergunta “por que swing e não JSP ?”:

Pq a manutenção da quantidade de JavaScript que vai ai para conseguir simular uma aplicação local pode ser complicado, apesar de que, lendo a Java Magazine descobri um toolkit que deixam a página web com cara de swing, trabalhando inclusive com eventos e etc… porém, quando entrei na página, a ultima atualização desse toolkit tinha sido em junho do ano passado, dai larguei de mão.
Para quem quiser conferir: http://wings.mercatis.de

R

package java.net.
Acho que a classe é HttpURLConnection.
Mas é esse o pacote e tem tudo ali.
Quando tiver alguma coisa já rolando, posta aqui no forum como é que foi!!!
Sucesso!!!

G

Obrigado pela ajuda e indicações, já to estudando a API.

Só mais uma: Foi dito que atravé de collections de javabeans eu obteria os resultados que eu quero… é a única maneira ? (ou provável maneira)

R

Creio que não.
Você pode inventar o que você quiser, mas procure usar padrões consagrados…
Use, por exemplo, xml… e até Web Service direto!!!

Rafael_Steil

Utilize WS e morra :mrgreen:

Serio, ao menos que voce tenha uma otima desculpa pra usar WS, utilize RMI nesse teu exemplo de aplicacao…

Rafael

G

Não estava pensando em usar WS.
E não vai ser um exemplo de aplicação, vai ser algo funcional e comercial…

A minha maior dúvida era como eu iria receber os dados no cliente swing/swt após ter feito a solicitação para o servlet, que foi quando me indicara o JavaBeans.

Tb. estou vendo sobre como saber qdo o banco foi atualizado em determinadas situações onde eu preciso atualizar a visualização do lado cliente… parece que tem um lance de observer q tb estou estudando…

acho q vou ficar maluco :shock:

G

Levando a discussão para outro lado (já que JavaBeans ou RMI são a minha solução provável para um dos problemas):

estive lendo sobre observer e vi duas práticas:

o uso de Observable e Observer dentro de java.util
ou a implementação de eventos em java que faça com que um objeto comunique o outro a mudança de seu estado.

Porém, criticaram o uso do Observable e enfatizaram o uso de eventos.

De que forma eu posso utilizar isso para que o servidor (servlets/hibernate) envie para o cliente (swing/swt) uma mudança de estado em determinado objeto ?

Isso é util para mim qdo dois usuário estão em uma mesma tela de cadastro e eu preciso q o usuário 1 visualize o q foi alterado pelo usuario 2.

Obrigado!

Rafael_Steil

“Giuliani”:
Não estava pensando em usar WS.
E não vai ser um exemplo de aplicação, vai ser algo funcional e comercial…

Eu me referia ao seu exemplo dado anteriormente para descrever o problema, nao a tua aplicacao real :wink:

Rafael

G

Pessoal,

Estive lendo minhas mens. postadas e gostaria de fazer algumas considerações:

O q eu estou querendo fazer é ter meu BD em um servidor (net ou rede local) pegar um notebook, ir para o meio do mato, conectar na net com o cel., acessar meu programa, conectar nesse banco e ficar fazendo insert, updates, deletes, selects.

Já descobri várias tecnologias possíveis de ser utilizada nesses casos, mas ainda não entendi como, por exemplo, depois de clicar no botão gravar eu vou enviar os dados q estão na minha tela para o banco ? Como eu vou receber os dados de um select feito no banco ?

RMI ? Servlets ? HttpURLConnection ? De que forma esses dados vão e voltam para q eu possa ler e exibir na tela o para q eu possa gravar eles no banco ?

Obrigado e desculpem se estou sendo chato ou de uma certa forma ignorante, mas estou estudando um monte de coisas de uma vez só e ainda não coloquei nada em prática… até acho q esse é o problema… nenhuma prática ainda.

R

“Giuliani”:
Pessoal,

Como eu vou receber os dados de um select feito no banco ?

Dá uma olhada aqui http://java.sun.com/developer/technicalArticles/xml/brazil/index.html
pode te ajudar…

Criado 29 de março de 2004
Ultima resposta 30 de mar. de 2004
Respostas 11
Participantes 3