Recursos especiais neste artigo:
Contém nota Quickupdate.
Autores: Anderson Rodrigues de Almeida, Robison Cris Brito e Fábio Favarim
Este artigo apresenta o desenvolvimento de uma aplicação desktop utilizando a tecnologia Java Web Start, explica como desenvolver o design das telas, a criação do banco de dados, a geração das classes de entidade para a manipulação do banco, comandos básicos como inclusão, exclusão, alteração, listagem e pesquisa de dados, e por fim, a configuração e disponibilização com Java Web Start para seu acesso remoto.
Em que situação o tema é
útil
Este artigo é útil aos desenvolvedores
iniciantes na tecnologia Java, no qual será apresentado um passo a passo da codificação
de uma aplicação desktop com acesso a banco de dados e também aos profissionais
que já conhecem esta tecnologia, porém não tiveram a oportunidade de trabalhar
com Java Web Start na implementação de sistemas.
Desenvolva aplicliações
desktop com Java Web Start
Este artigo ensina passo a
passo o desenvolvimento de uma aplicação Java Desktop utilizando os componentes
da API Swing, persistência de dados no servidor de banco de dados Apache Derby
e como instalar/atualizar o sistema através do Java Web Start. Como ambiente de
desenvolvimento foi escolhido o NetBeans 7.2, por ele possuir um poderoso
editor visual de interfaces Java e também uma versão do banco de dados Apache
Derby. O programa implementado para apresentar as tecnologias foi um sistema de
cadastro de pessoas.
Desde seu surgimento, a informática sempre priorizou os aplicativos que executavam em rede. Um exemplo foram as primeiras aplicações que executavam em computadores de grande porte, os chamados mainframes, os quais eram conectados a terminais sem processamento, com interface em modo texto e interação por meio de linhas de comando. Isso permitia uma grande disponibilidade do aplicativo, facilitando atividades como atualização e manutenção do software.
Com o surgimento dos computadores pessoais na década de 90, as prioridades mudaram. O uso da rede já não era algo tão importante. Assim, houve a necessidade dos aplicativos utilizarem interfaces mais amigáveis, facilitando seu uso pelo usuário. Para permitir essa usabilidade, eram desenvolvidas aplicações locais, chamadas de aplicações desktop. Nestas aplicações, todos os componentes do software (lógica da aplicação, interface com o usuário e os dados) eram executados/armazenados no computador local, sem a necessidade de utilização das redes de computadores.
Porém, nos últimos anos, aconteceu uma grande evolução nos recursos da informática, não só nos computadores, mas também nas redes que passaram a ser de alta velocidade. O resultado dessa evolução tornou viável montar sistemas computacionais formados por mais de um computador, denominados sistemas distribuídos, sem se esquecer de recursos importantes, como interfaces gráficas amigáveis para o usuário. A principal forma de organizar um sistema distribuído é através da arquitetura cliente-servidor, no qual há pelo menos um servidor provendo um ou mais serviços a clientes, que requisitam ao servidor, sempre que necessário, os serviços que serão utilizados por eles.
Com a evolução das redes, o desenvolvimento de sistemas para a web também evoluiu bastante e está atraindo a atenção de muitos programadores e empresas. No desenvolvimento de aplicações para web, os aplicativos ficam à disposição de qualquer cliente, bastando este ter um browser e acesso à rede. Também é facilitada a manutenção da aplicação, pois atualizando o servidor, automaticamente, todos os clientes que a acessam estarão com a última versão do aplicativo. Mas mesmo com a evolução da Internet, ainda existem situações em que não é aplicável o desenvolvimento de aplicações para essa plataforma. Entre os problemas encontrados nela para algumas aplicações, existe a deficiência na interface gráfica do aplicativo na Internet. Muitas vezes aplicações web possuem menos recursos gráficos e de interação se comparado aos aplicativos desktop. Assim, uma alternativa interessante que agrega vantagens tanto da programação web como da programação desktop é o Java Web Start, em que o aplicativo executa localmente, na máquina, como uma aplicação desktop, mas acessa o servidor pela rede, para obter atualizações, caso existam.
Sobre o Java Web Start
Java Web Start (JWS) é uma tecnologia de código móvel que permite executar aplicativos Java através da Internet. Alguns autores classificam o JWS como uma nova tecnologia para deployment de aplicações Java. Ele permite acionar a aplicação com um simples clique em um arquivo com a extensão jnlp, que realizará o download do aplicativo e solicitará a autorização do usuário para executar este código móvel. Caso o usuário ceda as permissões, o aplicativo será executado e aberto automaticamente.
Se a 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 sua página Web. Independente do modo que a aplicação for invocada, uma versão mais recente da aplicação sempre estará presente para o usuário.
O Java Web Start foi incluído no Java Runtime Environment (JRE) desde o lançamento do Java 5.0. Isso significa que quando o usuário instala o Java, o Java Web Start também é instalado automaticamente. O software Java Web Start é iniciado automaticamente quando é feito o download de um aplicativo Java que utiliza essa tecnologia. O download do aplicativo é realizado localmente no cache do Java do computador. Assim, todas as inicializações subsequentes são quase instantâneas, pois todos os recursos necessários já estão disponíveis na máquina.
Para utilização dessa tecnologia é necessário disponibilizar os arquivos como Java Archives (JARs) em um servidor web, para que o Java Web Start consiga encontrar os arquivos e realizar o download. É necessária também uma página HTML, a qual contém um link para o arquivo JNLP (Java Network Launching Protocol), sendo este explicado com mais detalhes no decorrer do artigo.
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. Assim, ao clicar no link para o arquivo JNLP, o usuário ativa o Java Web Start e inicia a aplicação. Se a mesma está na máquina, ele só verifica se tem atualizações no servidor. Se não tiver, a mesma é executada localmente. Caso haja atualizações, as mesmas são baixadas, para depois iniciar o aplicativo. Caso seja a primeira execução do aplicativo na máquina, o mesmo será baixado do servidor para uma execução local.
Com o uso do JWS, em vez de se instalar o aplicativo Java nos computadores de todos os usuários, é necessário apenas disponibilizar o aplicativo em um servidor web, de modo que os clientes consigam ter acesso para executar, simplificando a realização de atualizações do software. Deste modo, quando houver uma versão da aplicação instalada no cliente, o Java Web Start verifica se há modificações na versão disponível no servidor e imediatamente inicia o processo de atualização de modo que seja inicializada a aplicação com a sua versão mais recente.
Desenvolvendo uma aplicação desktop com JWS
O sistema que será desenvolvido neste artigo possui o objetivo de demostrar um sistema desktop distribuído, funcionando com as vantagens existentes nos aplicativos web, além das características de sistemas desktop tradicionais. É um sistema CRUD básico (ver Nota DevMan 1).
CRUD é uma sigla comumente utilizada no desenvolvimento de aplicações que envolvem banco de dados. A sigla é um acrônimo de CREATE, READ, UPDATE e DELETE. Estas são as operações básicas de um sistema com banco de dados, e contempladas em um sistema CRUD.
Confira outros conteúdos:
Programação x Concurso Público
Osvaldo aprendeu programação
DevMedia x Netflix: Onde investir meu...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.