Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML.
Aplicações Desktop via Web
Java Web Start na prática
Conheça a tecnologia embutida no JRE que simplifica muito a distribuição de aplicações usando a internet e com a segurança
As tecnologias Java para web são hoje muito difundidas, mas mesmo usando frameworks que aumentam o reuso de código e a facilidade de manutenção, como o Struts e JSF, existe um limite até onde podem ir aplicações com interfaces baseadas em HTML e JavaScript. Na medida em que aumenta a complexidade das interfaces, torna-se mais difícil- às vezes inviável- implementá-las com essas tecnologias.
Para aplicações que requerem mais interatividade, a melhor solução ainda são os
chamados "clientes ricos". Essas aplicações locais altamente interativas têm interface com o usuário mais elaborada e dispensam o navegador web para inicialização. Além disso, o tempo de resposta da aplicação não depende da performance da conexão e elas podem funcionar offline.
É neste ponto que entra o Java Web Start (JWS), que é um instalador e gerenciador
de aplicações Java. Com o JWS, aplicações são disponibilizadas em um servidor
web e copiadas automaticamente para a máquina cliente. A ferramenta também
gerencia novas versões, verificando se existem modificações no servidor e fazendo
o download automático das diferenças. Observe que não estamos falando de
aplicações web executadas no servidor: são aplicações desktop que irão rodar na
máquina cliente.
Iniciando aplicações
Para ver o JWS em ação vamos executar uma demonstração da Sun:
- Acesse java.sun.com/products/javawebstart/demos.html e clique no botão "Launch" abaixo de "SwingSet Demo".
- O Java Web Start entra em cena, abrindo uma janela com uma barra de progresso que indica que uma aplicação está sendo baixada (veja a Figura 1).
- Concluído o download, a aplicação é iniciada na máquina do usuário. Neste ponto é comum que seja mostrada uma caixa de diálogo solicitando acesso a recursos locais (veremos mais sobre isso adiante).
A aplicação está agora sob gerência do Java Web Start. Na próxima vez você pode acessá-la através de utilitários do JWS, sem precisar acessar o navegador novamente, ou por meio de atalhos no desktop criados pela ferramenta.
Figura 1. Progresso de download de uma aplicação com JWS
Java Control Panel
Aplicações executadas via Java Web Start podem ser gerenciadas com a ferramenta Java Control Panel (Figura 2). Esta aplicação, que faz parte das melhorias do Java 5, substitui o antigo Application Manager (Figura 3). No Windows você pode chamá-la através do Painel de Controle pelo ícone "Java"; no Linux, usuários Gnome podem chamá-lo através das preferências no menu de aplicativos, ou no Centro de Controle do Nautilus.Veja algumas opções oferecidas:
- Clicando no botão Networking Settings, você pode fazer configurações de proxy, inclusive reutilizar as configurações do browser (esta é a opção default, que deve funcionar para a maior parte dos usuários).
- Através do botão Temporary Internet Files é possível fazer configurações da cache das aplicações obtidas com Java Web Start. Selecionando View Application, será exibido o Java Application Cache Viewer (Figura 4), onde são listadas as aplicações já carregadas e é possível iniciar aplicações online ou offline, além de removê-las da máquina.
- Na aba Updates você pode controlar as atualizações automáticas do JRE; e na aba Java você especifica a versão do JRE a ser utilizada na execução de applets e aplicações.
- Em Security são listados os certificados digitais já carregados (veja o tópico "Segurança"); em Advanced pode-se controlar a criação de atalhos e definir opções de segurança e depuração, entre outras configurações.
Outras- mudanças na nova versão do Java Web Start são mostradas no quadro "Melhorias do JWS 5.0".
Figura 2. Java Control Panel
Figura 3. Application Manager
Figura 4. Java Application Cache Viewer
Primeiro exemplo
Para demonstrar a criação de uma aplicação e sua disponibilização via Java
Web Start, implementamos um exemplo simples em Swing, que permite selecionar
imagens do sistema de arquivos e exibi-las. A aplicação é mostrada na Figura 5. O
código (não listado) está incluso no pacote de download do artigo.
Para que possa ser carregada via JWS, uma aplicação precisa estar empacotada
em um jar, que deve incluir todas as suas classes, além de imagens, arquivos de
propriedades e outros recursos necessários à sua execução. Podemos usar o seguinte comando (em uma linha) para empacotar o primeiro exemplo (que tem
apenas um arquivo de classe e um ícone):
jar–cvfVizualizadorImagens.jar
VizualizadorImagens.class images/icone.gif
No código da aplicação todos os recursos devem ser recuperados usando getResource(). Por exemplo, este trecho do Visualizador de Imagens é usado
para carregar um ícone:
...