Migração de Applet Plguins Java Free

Propaganda
Migração Java Applet
www.javaavancado.com
Alex Fernando Egidio
www.javaavancado.com
Java avançado direto ao ponto
SOBRE
Olá, obrigado por ter adquirido meu ebook, temos interesses em comum para
serem compartilhados em desenvolvimento de software onde tenho essa profissão
como uma verdadeira paixão em exercê-la. Se estiver estudando frameworks já deve
estar familiarizado com os ícones da capa deste projeto que são das tecnologias que
abordaremos aqui.
A ideia do projeto nasceu de uma vontade grande em compartilhar soluções
avançadas e complexas em Java usando as ferramentas e frameworks mais utilizados
pelo mercado a nível mundial, soluções essas que não são encontradas facilmente na
internet ou são o tipo de implementações que você conseguiria desenvolver após ler
centenas de páginas de documentações e hoje sabemos que não temos tempo a
perder, gastar quase uma semana lendo documentações dos frameworks para
desenvolver uma rotina pode custar muito caro pra você e para a empresa onde
trabalha. Com isso a missão é trazer ao leitor a solução pronta com exemplos e
explicações detalhadas de implementações que mais são requisitadas no
desenvolvimento de software em ambiente corporativo, exemplos com explicações
principalmente da lógica do funcionamento o que é extremamente importante para seu
aprendizado
e
entendimento
em
como
as
ferramentas
se
ligam.
Hoje com anos de profissão em análise e desenvolvimento de software, durante
todo esse tempo de aprendizado senti grande falta de conteúdo bem claro sobre as
implementações e uso dos frameworks Java, você mesmo já deve ter percebido que
dificilmente consegue implementar uma solução encontrada na internet, muitas vezes
falta algo que demoramos para descobrir, essa é a intenção do deste ebook ter a
certeza que o conteúdo que irá encontrar aqui será extremamente útil e você
conseguirá implementar aquela solução tão complexa que te deixará muito feliz em
realizar e entregar o software pronto.
www.javaavancado.com
Java avançado direto ao ponto
Mini-biografia
Alex Fernando Egidio, desenvolvedor e analista de sistemas em Java, graduado
em analise e desenvolvimento de sistemas, pós graduado em engenharia de sistema
web ambas as formações aplicadas especificamente para a linguagem Java,
apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks
trazem para o dia a dia de nós desenvolvedores.
Trabalho atualmente como desenvolver de projetos web e desktop em ambiente
corporativo
desenvolvendo projeto de grande porte e nível de complexidade.
Moro atualmente em Maringá no Paraná cidade que é a terceira maior do estado
e com uma das melhores estatísticas em qualidade de vida no Brasil, cidade também
que conta com uma polo grande de tecnologia contendo dezenas de empresas focadas
em desenvolvimento de software.
Fique a vontade para entrar em contato comigo quando quiser.
E-mail: [email protected]
Abraços e ótimos estudos.
www.javaavancado.com
Java avançado direto ao ponto
ENTENDENDO O QUE ACONTECEU NO JAVA
UM PONTO FINAL À HISTÓRIA DA MORTE DO JAVA
A notícia que o Google Chrome bloqueou o Java no ano de
2015 foi interpretada de forma errada por muitos
entusiastas do mundo da programação principalmente para
os iniciantes desta linguagem. Acabei me deparando com o
desespero de muita gente em muitos fóruns, blog e grupos
em redes sociais pensando que a linguagem estava sendo
extinta, com isso decidi escrever este post para sanar a
duvida do pessoal e acalmar os ânimos principalmente dos estudantes que estão se
dedicando e investindo no aprendizado desta linguagem de programação.
A plataforma Java é dividida em 3 partes:
•Java SE que faz parte do Development Kit que junto com o Swing é destinada para
aplicações desktop.
•Java EE que junto com o Development Kit é destinada a aplicações web.
•Java ME que junto com o Development Kit é destinada a aplicações para
dispositivos moveis.
Além destas 3 partes temos o plugin para browser do
Java que permite que pequenas aplicações
desenvolvidas em Java rodem dentro do navegador
web, estes são os chamados applets, são estes
plugins que foram bloqueados pelo Chrome com
versão acima de 42, seu bloqueio se deu justamente
por segurança e desempenho e por utilizar a
plataforma NPAPI que se encontrada totalmente ultrapassada nos dias de hoje. Mas
não foram apenas os plugins da linguagem Java que foram afetados outros
como Silverlight, Facebook Video e outros plug-ins semelhantes baseados
na NPAPI também tiveram restrições pelo Google.
Se acessarmos o site oficial da Oracle na página que demostra como ativar o
Java no navegador veremos uma caixa de aviso de bloqueio, antes existia um opção
para habilitar e desabilitar com o bloqueio a opção foi removida das configurações do
navegador.
Para quem precisa trabalhar com applet e quiser usar o chrome terá que ficar atrelado a
www.javaavancado.com
Java avançado direto ao ponto
versão mais antigas e ativar o suporte a NPAPIno navegador digitando a
opção chrome://flags ou chrome://flags/#enable-npapi na URL e ativando o recurso,
outra alternativa é usar navegadores como Mozilla Firefox que ainda liberam o uso
destes plugins.
EXEMPLO DO PLUGIN
MOZILLA FIREFOX
RODANDO
NO
NAVEGADOR
Desenvolvi um exemplo onde tenho um applet lendo um arquivo local, o seu start se dá
no navegador e sua rotina faz leitura de um arquivos TXT no diretório do usuário
demonstrando o poder de invasão desse tecnologia.
EXEMPLO DO PLUGIN RODANDO NO CHROME VERSÃO
45 SENDO BLOQUEADO:
Essa é a imagem que aparece quando o navegador bloqueia
totalmente a execução do plugins Java, até o console do
deixou de ser exibido.
Podemos ver que o bloqueio foi apenas dos plugins applet que já se encontram
defasados e que nenhuma das 3 plataformas Java serão afetadas por isso muito menos
ter a sua morte decretada. O Java hoje é umas das linguagens lideres no mundo
corporativos em desenvolvimento de software e cada vez mais ganhando espaços no
mercado em todas as áreas, podemos ficar tranquilos em continuar nosso estudos e
nossa profissão.
www.javaavancado.com
Java avançado direto ao ponto
PROBLEMAS QUE SURGIRAM
•
•
Aplicações web e desktop que usavam rotinas de Applet pararam de funcionar.
Bloqueios de segurança barravam a execução do Applet.
A própria Oracle divulgou um documento explicando as razões e dando alternativas
para os Applets serem substituídos.
Alternativas são:
• Converter os Applet para aplicativos Java Web Start Application. Link Oracle.
Para isso temos que transformar o Applet em um pequeno software executável
em formato *.jar, este nosso executável deve ser assinado com um certificado de
segurança CODE SIGNING adquirido pela empresa dona do Applet. Após a
assinatura a nova aplicação deve ser armazenada em algum servidor on-line para
acesso do JNLP que é o arquivo responsável por invocar aplicativos Java Web
Start Application.
• Usar WebView FX em conjunto com a sua aplicação. Link Oracle.
Os desenvolvedores terão que construir um navegador usando WebView FX,
esse navegador irá interagir entre a aplicação web e próprio navegador
WebView.
CASO DE USO
IMPRESSÃO LOCAL
PROJETO JAVA WEB
DIRETO
NA
IMPRESSORA
EM
O CENÁRIO
O sistema possui várias configurações de impressoras, cada tipo de relatório
pode ser enviado para uma impressora diferente. O sistema também possuí
impressoras etiquetas de térmicas, o principal requisito é imprimir direto na impressora
sem mostrar no navegador para o usuário e sem pedir a impressora, resumindo a
impressão deve ser feita por baixo dos panos, clicar e imprimir diretor sem pedir e sem
mostrar nada ao usuário. Como o javascritpt não tem acesso a recursos da maquiná
essa rotina era feita em Applet agora deve ser feita em JNLP com Java Web Start e
devem ser assinados com um certificado CODE SIGNING.
Requisitado em muitos sistemas web, a impressão na máquina do cliente foi
umas das rotinas mais complicadas que tive o desafio de fazer, com os bloqueios de
segurança do Java e o bloqueio dos navegadores aos Applets, somente após muitas
pesquisas e estudo cheguei a uma solução correta.
www.javaavancado.com
Java avançado direto ao ponto
O PROJETO ACOMPANHA 2 EXEMPLOS
Projeto 1
1 – Código fonte do Applet lendo o arquivo local.
2 – Código fonte do Applet fazendo a impressão local.
3 – Código fonte do Java Web Start (JNLP) fazendo a impressão local.
4 – Exemplo de script Apache Ant de como assinar uma aplicação com certificado de
assinatura de código fonte.
Projeto 2
1 – Projeto demonstrado acima no vídeo onde mostra o uso do Applet e Java Web Start
(JNLP).
2 – Código fonte das servlet se comunicando com Applet.
3 – Código fonte das servlet se comunicando com Java Web Start (JNLP).
4 – Código fonte da impressão direta local.
5 – Jar assinado e autorizado do Applet.
6 – Jar assinado e autorizado para Java Web Start (JNLP).
Vídeo aulas
1 – Detalhes do projeto
2 – Arquitetura do projeto
3 – Implementação
4 – Limpar cache
ARQUITETURA
O projeto pode ser adquirido no link abaixo:
http://www.javaavancado.com/impressao-local-direto-no-impressora-em-projeto-java-web/
www.javaavancado.com
Download