Java Web Start - Alguem já usou?

Boa madrugada Colegas !

Gostaria de saber se alguém já utilizou o Java Web Start em alguma aplicação corporativa.
Existe alguma diferença na aplicação ou somente é utilizado para as atualizações ?

Obrigado.

Um abraço.

Sim, e confirmo que é muito bom.
Se resume em executar um programa Java Desktop normal, mas que é baixado através de um servidor de internet.

Inté.

Bom dia Colegas !

marciosantri:

Obrigado pela resposta !
O que tenho que ter nesse servidor de internet ? Quero dizer… um programa Java que vai realizar esta tarefa de atualizar ou é algo como fazer o deploy de uma aplicação Web no Tomcat, por exemplo ?

No caso da aplicação desktop trabalhando desta maneira, como você resolve a questão de conexão com banco de dados ?
Minha dúvida é que no caso de Web normalmente temos um pool de conexões no servidor de onde a aplicação solicita uma conexão com o banco… então problemas como por exemplo, não ter o usuário e a senha do banco no código da aplicação…
Ja no caso de aplicação desktop não sei como fazer…

Se puder me ajudar fico muito agradecido.

[]s

Olá

O JWS é usado com sucesso desde 2001.

O banco de dados fica no servidor acessada pelo servlet como qualquer aplicação normal. O cliente swing acessa ao servlet do servidor usando UrlConnection com auxílio do Apache HttpClient.

O Java Web Start serve apenas e tão somente para atualizar as aplicações instaladas nos clientes quando uma nova versão do jar é colocada no servidor. Só é preciso tomar cuidado no caso de muitos clientes que começam a usar a aplicação na mesma hora e que no dia em que sai uma atualização, todos baixam o novo jar ao mesmo tempo sacrificando a banda do servidor.

[]s
Luca

Maracuja e Luca

Vocês têm algum material sobre isso ?

Não entendi a parte da aplicação swing acessar um servlet do servidor, podem me ajudar ?

Obrigado.

Um abraço.

Olá

O swing envia POSTs ou GETs para o servidor e recebe resposta como qualquer aplicação web.

UrlConnection é uma classe da própria API Java, veja o Javadoc e milhares de exemplos de uso por aí na web.

HttpClient é uma API da Apache que facilita um pouco o uso do UrlConnection

Não endosso a recomendação do Maracujá de usar EJBs para integrar o cliente com o servidor. Mesmo a integração por web services, se não for REST, pode ser complicação demais. E se for REST é como falei antes usando UrlConnection mas aí você talvez possa se valer de um negócio chamado Restlet. Para mim o mais simples é usar UrlConnection/HttpClient direto enviando as mensagens para o servidor em XML. Se precisa de muita segurança, use SSL.

[]s
Luca

Olá

Bom, se é para complementar a opinião, a minha é de que o cliente deve ser o menor, mais leve e mais desacoplado possível. Isto facilitará muito a questão das atualizações dos clientes. Prefiro tratar todas as questões de persistência no servidor, usando EJBs 3.0 ou não. Quanto a questão de transações, se o caso for aplicações financeiras, o uso de EJBs não garante a integridade das transações. Nestes casos ainda prefiro o conceito de transações compensatórias, coisa que se usa normalmente em transações financeiras.

[]s
Luca

[quote=Zeed01]Bom dia Colegas !

marciosantri:

Obrigado pela resposta !
O que tenho que ter nesse servidor de internet ? Quero dizer… um programa Java que vai realizar esta tarefa de atualizar ou é algo como fazer o deploy de uma aplicação Web no Tomcat, por exemplo ?

No caso da aplicação desktop trabalhando desta maneira, como você resolve a questão de conexão com banco de dados ?
Minha dúvida é que no caso de Web normalmente temos um pool de conexões no servidor de onde a aplicação solicita uma conexão com o banco… então problemas como por exemplo, não ter o usuário e a senha do banco no código da aplicação…
Ja no caso de aplicação desktop não sei como fazer…

Se puder me ajudar fico muito agradecido.

[]s[/quote]

Funciona mto bem, geralmente estes tipos de aplicativos de alguma forma fazem comunicação remota com um servidor de aplicação, utilizando (EJB ou WS) sendo que o que o cliente tem na verdade é somente a camada de apresentação.

[]'s

Bom eu dei algumas possibilidades para vc poder avaliar e escolher, eu se fosse fazer algo hoje, também usaria REST, isto é WS no estilo REST. Se vc desejar, pode até usar o jersey.

[]'s

Olá, gostaria de colocar um outro ponto; sinto que existe ainda uma certa “alergia” a EJB’s, provavelmente por causa dos velhos EJB’s 2.x; Eu não acho que seria má idéia a utilização de EJB’s dependendo da situação (talvez até esta), talvez com utilização de EJB’s (3.0 que se entenda) até facilite o desenvolvimento, principlamente se vc não terá interfaces com outros sistemas (não java), já que o modelo de desenvolvimento está bem simplificado, oferece mtas funcionalidades (Controle de trasação, fácil integração com JPA, DI e outras coisas) e vc também poderá trafegar objetos Java ao invés de ficar aplicando tranformações (XML, JSON ou o que for).

Bom era isso que gostaria de adicionar ao post para expor minha opinião.

[]'s

[quote=Luca]Olá

Bom, se é para complementar a opinião, a minha é de que o cliente deve ser o menor, mais leve e mais desacoplado possível. Isto facilitará muito a questão das atualizações dos clientes. Prefiro tratar todas as questões de persistência no servidor, usando EJBs 3.0 ou não. Quanto a questão de transações, se o caso for aplicações financeiras, o uso de EJBs não garante a integridade das transações. Nestes casos ainda prefiro o conceito de transações compensatórias, coisa que se usa normalmente em transações financeiras.

[]s
Luca[/quote]

sim sim sim… concordo plenamente, somente tentei “defender” um pouco os EJB’s … :oops:

é sempre aquela velha… cada caso é um caso…

[]'s