Neste tutorial apresentaremos as vantagens e facilidades de usar a ferramenta de Deployment Java Web Start.



Documentos relacionados
MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

Procedimentos para Reinstalação do Sisloc

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Guia de Atualização Release FoccoERP 2014

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Procedimentos para Instalação do SISLOC

Componente Net Empresa

Procedimentos para Instalação do Sisloc

Manual do Visualizador NF e KEY BEST

Instalação do ByYou ESB. Guia de Instalação e Atualização do ByYou ESB

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

CURSO DE PROGRAMAÇÃO EM JAVA

A U T O R I Z O R R I GUIA DE INSTALAÇÃO W E B. Versão: 1.02 Agosto/2006 Versão: AW

TISSNet Instalando e Configurando Schemas

SSE 3.0 Servidor de Notificação por . Cadastrando

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Manual Integra S_Line

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS

GUIA INTEGRA SERVICES E STATUS MONITOR

Web Design Aula 11: Site na Web

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Curso de Aprendizado Industrial Desenvolvedor WEB

CONFIGURAÇÃO MINIMA EXIGIDA:

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

Especialização em Engenharia de Software - CEUT

Jogo Da Velha. - Parte 1 - Fazendo a parte gráfica do jogo da Velha

Cia de Tecidos Cedro Cachoeira, Pedido de Compra pela

Parte I. Demoiselle Mail

Roteiro de Instalação da NF-e no Sistema CalcExpress S U M À R I O

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

GUIA PRÁTICO DE INSTALAÇÃO

Auditando o Acesso ao Sistema de Arquivos no Windows 2008 Server R2

Aula 03 - Projeto Java Web

Como Gerar documento em PDF com várias Imagens

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

Desenvolvendo Websites com PHP

Manual de Instalação do Agente Citsmart

Instalação e Configuração do Java (por Gilberto Irajá Müller)

MANUAL BACKUP XDENTAL 2012

Acessando um Banco de Dados

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

Manual de Atualização Versão

PRINCIPAIS DÚVIDAS NA UTILIZAÇÃO DO NOVO COMPONENTE RESPONSÁVEL PELAS OPERAÇÕES DE ANEXAÇÃO NO SCDP

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

PROCEDIMENTOS PARA UTILIZAÇÃO DE NOVA VERSÃO DO JAVA

Manual de Instalação. Utilização

MicrovixPOS Configurações Iniciais do IE e Testes de Desempenho da Internet

Instalação do TOTVS ESB. Guia de Instalação do TOTVS ESB

DWR DIRECTED WEB REMOTING

Lógica de Programação

INSTALAÇÃO DO CHEF FOODS NET

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

MQSeries Everyplace. Leia-me primeiro G

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Atualizaça o do Maker

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Manual Xerox capture EMBRATEL

Projeto Amadeus. Guia de Instalação Windows

Criando sua primeira aplicação JAVA com o Eclipse

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

MAN001 Atualização Protocolo e Ação Social Versão 2 Cliente: Duralex Sistemas

GUIA BÁSICO DA SALA VIRTUAL

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Instalação do Java SDK (Software Development Kit)

TUTORIAL PARA A INSTALAÇÃO EM AMBIENTE DE REDE WINDOWS DO SERVIDOR FIREBIRD

MANUAL DO PVP SUMÁRIO

atube Catcher versão 3.8 Manual de instalação do software atube Catcher

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

Instruções Básicas de Instalação - BrOffice.org

Projeto de Software Orientado a Objeto

Frente Loja Avanço (PAF-ECF) versão Rotina de Atualização Frente Avanço Windows

MANUAL DE UTILIZAÇÃO. Instalação do MV Portaria

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Guia rápido de uso da interface beta do NFS-e Easy para operação com Sistemas WebISS

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Instalando o Internet Information Services no Windows XP

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Parte 2: Micro com Windows XP Pro e Servidor IIS

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

Trecho retirando do Manual do esocial Versão 1.1

Sistema de Registro de Contratos e Financiamentos

Guia Prático de Acesso

Faturamento Eletrônico - CASSEMS

MANUAL DE UTILIZAÇÃO

Configurar o Furbot no Eclipse

ROTEIRO DE INSTALAÇÃO

Acesso Remoto Placas de captura

MANUAL DO USUÁRIO. AssetView FDT. AssetView FDT

Transcrição:

Java Web Start Leonardo Marcelino Neste tutorial apresentaremos as vantagens e facilidades de usar a ferramenta de Deployment Java Web Start. Introdução Java Web Start é uma nova tecnologia para deployment de aplicações Java. Ele nos permite executar aplicações com um simples clique em uma página Web. O usuário pode baixar e executar aplicações sem passar por procedimentos complicados de instalação. Se aplicação não estiver presente na máquina do cliente, o Java Web Start irá automaticamente baixar todos os arquivos necessários para execução da aplicação. Se existir alguma versão da aplicação na máquina do cliente, está aplicação estará sempre pronta para ser executada a qualquer hora que o usuário necessitar, através de um ícone em seu desktop ou através de um link em um Web Browser. Independente do modo que aplicação for invocada, uma versão mais recente da aplicação sempre estará presente para o usuário. Java Web Start utiliza a tecnologia Java Network Lauching Protocol & API (JNLP). A tecnologia JNLP define, além de outras coisas, um formato padrão de arquivo (arquivo JNLP) que descreve como a aplicação será executada. Java Web Start suporta: - Versionamento e atualização incremental; - Operações Off-line; - Integração com Desktop; - Sandboxing (Ambiente protegido com restrições de acesso a disco ou recurso de rede); - Code-signing; - Instalação automática de JRE e pacotes adicionais da aplicação. Mais detalhes Mais informações sobre Java Web Start, consulte o site da Sun Microsystem. http://java.sun.com/products/javawebstart/ Como Funciona o Java Web Start? O Java Web Start utiliza um arquivo JNLP que descreve como a aplicação será executada. Através de uma página Web com um link para este arquivo JNLP, o usuário com um simples clique ativa o Java Web Start. O Java Web Start irá então verificar se todos os recursos necessários para execução da aplicação estão disponíveis na máquina do cliente, caso seja a primeira vez que aplicação esteja sendo executada, o Java Web Start detectou que nenhuma versão da aplicação ou até mesmo o Java Runtime Environment (JRE) estão presentes na máquina do cliente, neste caso ele irá primeiro fazer download do JRE e depois o download da aplicação Java. Caso já exista uma versão da aplicação instalada no cliente e o Java Web Start identifique que houve alguma alteração da aplicação no servidor, imediatamente inicia o processo de atualização da versão mais recente da aplicação. Após todo processo de verificação e atualização a aplicação é inicializada e o usuário já pode utiliza-la. Criando uma aplicação para utilizar o Java Web Start Vamos criar uma simples aplicação Hello World e disponibilizá-la em um servidor para poder mostrar na prática o uso do Java Web Start. package br.com.guj.tutorial.jws; import java.awt.borderlayout; import java.awt.dimension; import java.awt.font; Grupo de Usuários Java Página 1

import java.awt.toolkit; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowadapter; import java.awt.event.windowevent; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; public class HelloJWS extends JFrame { private JLabel lblgreeting; private ImageIcon imglogo; private JButton btnclose; public HelloJWS() { super("hello JWS"); initcomponents(); this.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent event) { exit(); ); this.setsize(new Dimension(300, 200)); centralize(); this.setvisible(true); private void initcomponents() { this.lblgreeting = new JLabel("Hello Java Web Start", JLabel.CENTER); this.lblgreeting.setfont(new Font("Arial", Font.BOLD, 18)); this.imglogo = new ImageIcon(this.getClass().getClassLoader().getResource("guj.gif")); this.btnclose = new JButton("Fechar"); this.btnclose.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { exit(); ); JPanel pnlgretting = new JPanel(); pnlgretting.add(this.lblgreeting); JPanel pnlbutton = new JPanel(); pnlbutton.add(this.btnclose); this.getcontentpane().setlayout(new BorderLayout()); this.getcontentpane().add(borderlayout.north, pnlgretting); this.getcontentpane().add(borderlayout.center, new JLabel(this.imgLogo)); this.getcontentpane().add(borderlayout.south, pnlbutton); private void centralize() { Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension windowsize = this.getsize(); int x = (int)((screensize.getwidth() - windowsize.getwidth()) / 2); int y = (int)((screensize.getheight() - windowsize.getheight()) / 2); this.setlocation(x, y); private void exit() { System.exit(0); public static void main(string args[]) { Grupo de Usuários Java Página 2

new HelloJWS(); O código acima nada mais faz do que exibir uma janela com uma mensagem de saudação, o logo do GUJ e um botão fechar. Tela da aplicação HelloJWS Empacotando nossa aplicação Após a compilação da nossa aplicação, iremos agora empacotá-la em um arquivo JAR. Esse arquivo irá conter todos a classes, imagens e outros arquivos utilizados por nossa aplicação. Supondo que nossa estrutura de diretório seja: Para gerar o arquivo JAR da nossa aplicação iremos utilizar seguinte comando: jar cvf TutorialJWS.jar C classes. C resorces. Mais detalhes Para saber mais sobre como gerar arquivos JAR de uma olhada no tutorial no nosso amigo Samuel Mota. /java.artigo.42.1.guj Grupo de Usuários Java Página 3

Preparando ambiente no servidor Web Criaremos agora nosso ambiente no servidor Web que irá disponibilizar nossa aplicação. Em nosso exemplo utilizaremos como servidor Web, o Jakarta Tomcat versão 5.0.19, mas vale lembrar que o Java Web Start funciona em qualquer servidor Web. Para o Java Web Start funcionar devemos: - no arquivo web.xml que se encontra dentro da pasta conf do nosso servidor, verificar a existência do MIME-TYPE, JNLP, caso o servidor não possua esse MIME-TYPE, devemos adicionar as seguintes linhas: <mime-mapping> <extension>jnlp</extension> <mime-type>application/x-java-jnlp-file</mime-type> </mime-mapping> - no arquivo server.xml que também se encontra dentro da pasta conf do nosso servidor, devemos adicionar um novo contexto para nossa aplicação. Inclua entre a tag Host, as seguintes linhas: <Context path="/tutorialjws" docbase="tutorialjws" debug="0" reloadable="true"/> - devemos criar também dentro da pasta webapps do nosso servidor a pasta da nossa aplicação, que neste caso irá se chamar tutorialjws. Após criar a pasta, podemos copiar o arquivo JAR gerando anteriormente para dentro deste pasta. Criando o protocolo JNLP O Java Network Lauching Protocol (JNLP) descreve como nossa aplicação será executada. Ele nada mais é do que um arquivo XML com a extensão.jnlp. Apesar de ser um arquivo XML é imprescindível que a extensão seja.jnlp. Abaixo o arquivo JNLP da nossa aplicação: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://localhost:8080/tutorialjws" href="tutorialjws.jnlp"> <information> <title>tutorial Java Web Start</title> <vendor>guj Grupo de Usuarios Java</vendor> <homepage href="http://localhost:8080/tutorialjws/index.html"/> <description>tutorial Java Web Start</description> <description kind="short">tutorial JWS</description> <icon href="images/logo.jpg"/> <offline-allowed/> </information> <resources> <j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/> <jar href="tutorialjws.jar"/> <property name="myproperty" value="isso é um exemplo de propriedade"/> </resources> <application-desc main-class="br.com.guj.tutorial.jws.hellojws"/> </jnlp> O arquivo JNLP acima possui as tags necessárias para o funcionamento do Java Web Start, portanto iremos ver mais detalhadamente todas as tags que um arquivo JNLP pode conter. O Elemento JNLP - atributo spec: Por padrão o valor é 1.0+, podendo ser versões 1.0 ou superiores do release que está trabalhando. - atributo codbase: URL do servidor Web onde a aplicação deverá ser iniciada. Grupo de Usuários Java Página 4

- atributo href: URL que aponta a localização do próprio arquivo JNLP. O Java Web Start necessita desse atributo para identificar as características de execução de um aplicativo. O Elemento Information - elemento title: Nome da aplicação. - elemento vendor: Nome da empresa que desenvolveu a aplicação. - elemento home page: Contém um simples atributo, href, que aponta para URL da página que inicia a aplicação. Esse elemento é usado pelo Application Manager para permitir ao usuário ir até a pagina da aplicação para obter mais informações. - elemento description: Uma pequena descrição da aplicação. O elemento description é opcional. O atributo kind é utilizado para definir como a descrição deve ser usada. Ele pode ter um dos seguintes valores: one-line, short e tooltip. - elemento icon: Contém o atributo href, onde informamos uma URL que aponta para uma imagem correspondente ao ícone da aplicação. O atributo opcional kind= splash, pode ser usado para informar que uma imagem será usada na splash screen na inicialização da aplicação. - elemento offline-allowed: Esse elemento é opcional e indica se a aplicação pode ser executada offline. Se esse elemento não for informado, a aplicação só poderá ser executada online, fazendo com que o Java Web Start sempre verifique a versão da aplicação para saber se deve ou não atualizá-la e depois executá-la. Agora se esse elemento for informado, o Java Web Start irá tentar verificar se existe uma atualização nova disponível, entretanto se já existir uma versão da aplicação na máquina do cliente, esse verificação irá terminar em poucos segundos e a aplicação existente no cliente será executada. Elemento Security Toda aplicação é por padrão executada em um ambiente restrito, similar ao Applet Sandbox. O elemento security pode ser utilizado para solicitar acesso irrestrito. Se o elemento all-permissions for especificado, a aplicação terá acesso total a máquina do cliente e a rede, porém se uma aplicação solicitar acesso total, todos os JARS deverão ser assinados. Para mais informações sobre assinatura de arquivos JAR acessa a página: http://java.sun.com/developer/books/javaprogramming/jar/sign/signing.html Elemento Resource O elemento resource server para especificar todos os recursos, como classes java, bibliotecas nativas e propriedades do sistema, que fazem parte da aplicação. A definição de um recurso pode ser restrita para um especifico sistema operacional, arquitetura ou uso local dos atributos. os, arch e locale. O elemento resource possui 6 sub-elementos que são: jar, nativelib, j2se, property, package e extension. Não iremos falar sobre package e extension. O elemento jar especifica um arquivo JAR utilizado pela aplicação. Exemplo: <jar href= myjar.jar /> O elemento nativelib especifica um arquivo JAR que contém bibliotecas nativas. Exemplo: <nativelib href= lib/windows/corelib.jar /> O elemento j2se especifica qual versão da JRE a aplicação suporta, bem como os parâmetros padrões para JVM. O atributo href pode ser setado com a URL para o Java Web Start poder fazer o download da JRE caso o cliente não possua instalado, por padrão devemos sempre setar com a URL do site da Sun. Exemplo: <j2se version= 1.3 initial-heap-size= 64m href= http://java.sun.com/products/autodl/j2se /> Grupo de Usuários Java Página 5

O elemento property define uma propriedade do sistema que poderá ser acessado pelo método getproperty da classe System (System.getProperty). Ele elemento requer dois atributos: name e value. Exemplo: <property name= greeting value= Olá Mundo /> Elemento application-desc Esse elemento informa que o arquivo JNLP está executando uma aplicação e não uma Applet. Ele possui um atributo opcional, main-class, que é usado para especificar o nome da classe principal da aplicação, isto é, a classe que possui o método public static void main(string[] args[]). O atributo main-class pode ser omitido caso o primeiro JAR definido contenha o arquivo Manifest informando a classe principal. Argumentos podem ser especificados. Por exemplo: <application-desc main-class="main"> <argument>arg1</argument> <argument>arg2</argument> </application-desc> Elemento applet-desc Java Web Start também possui suporte para execução de Applets Java. Exemplo: <applet-desc documentbase="http://..." name="timepilot" main-class="timepilot.timepilotapp" width="527" height="428"> <param name="key1" value="value1"/> <param name="key2" value="value2"/> </applet-desc> Criando a página Web para acessar nossa aplicação Bom para podermos disponibilizar nossa aplicação, falta criarmos uma página Web que será responsável por invocar nossa aplicação através de um link para o arquivo JNLP. Nossa página Web, index.html, ficará no diretório raiz da nosso aplicação, ou seja dentro da pasta tutorialjws. Um detalhe muito importante que não podemos deixar passar é que precisamos verificar se existe na máquina do cliente o Java Web Start instalado, pois se este não estiver disponível, o cliente com certeza irá dizer que o sistema não funciona. Para evitar essa situação vamos adicionar um código Javascript que faz essa verificação, caso o browser não encontre o Java Web Start instalado, vamos fazer donwload do Java Web Start, e logo após invocamos a página index.html. Abaixo a listagem completa da nossa página Web, index.html: <html> <head> <title>guj - Tutorial Java Web Start</title> </head> <script language="javascript"> var javawsinstalled = 0; isie = "false"; if (navigator.mimetypes && navigator.mimetypes.length) { x = navigator.mimetypes['application/x-java-jnlp-file']; if (x) javawsinstalled = 1; else { isie = "true"; function insertlink(url, name) { if (javawsinstalled) { document.write("<a href=" + url + ">" + name + "</a>"); else { document.write("vocç precisa intalar o Java Web Start"); Grupo de Usuários Java Página 6

</script> <body> <br> <p align="center"><font face="tahoma" size="4"><b>tutorial Java Web Start</b></h1> <p align="center"><img src="images/guj.gif" border="0"/></p> <p align="center"><font face="tahoma" size="2"> <script> insertlink("tutorialjws.jnlp", "Clique aqui para executar a aplicação HelloJWS"); </script> </body> </html> Colocando tudo para funcionar Agora com tudo pronto vamos iniciar nosso servidor Web e acessar o endereço: http://localhost:8080/tutorialjws/index.html. Página responsável por iniciar nossa aplicação. O usuário através de um simples clique no link, irá iniciar a aplicação de forma simples e transparente. Grupo de Usuários Java Página 7

Java Web Start em Ação. Aplicação rodando na máquina do cliente. Conclusão Como podemos ver, o Java Web Start facilita muito a instalação, atualização e execução de aplicações Java. O exemplo que vimos aqui foi apenas uma simples demonstração do que o Java Web Start pode fazer, pois o esse tecnologia é muito mais ampla e completa. Referências http://java.sun.com/products/javawebstart/1.2/docs/developersguide.html http://java.sun.com/developer/technicalarticles/programming/jnlp/ Chinalia, Marcelo Tutorial Java Web Start Leonardo Marcelino (leonardo.marcelino@gmail.com) é programador certificado Java e a um ano e meio vem trabalhando com a tecnologia Java desenvolvendo aplicações Web e Deskop. Grupo de Usuários Java Página 8