Impacto da descontinuação do plugin java pela Oracle

O que vai ser descontinuado é só o plugin Java. E Java Web Start é a alternativa mais próxima para quem quer continuar a usar Java nesses casos, lógico que desacoplado do navegador.

O Chrome, navegador mais usado do mundo, já não suporta Java, então mais que natural o plugin ser descontinuado.

Exato, já faz um bom tempo que o Chrome não na mais suporte ao plugin, tanto que pra usar os certificados digitais, todos os meus cliente usam o Firefox, pois é o único que ainda da esse suporte.

Pois é Marcelo, pelo jeito todos os navegadores competitivos vão parar de suportar NPAPI. Edge já nasceu limpo e assim vai ser. IE deve ficar parado no tempo aceitando o que já aceita.

Firefox esse ano vai parar de suportar. Caso não migrar pra outra solução, provavelmente vocês vão ter que congelar a última versão que seja compatível e estar ciente dos riscos devido desatualizações.

Exato, é oque eu já tenho orientado meus clientes, no mais, terão que aguardar qual solução a Certsign, por exemplo, vai desenvolver.

Calma pessoal, a Oracle ira depreciar o Java Plugin (Applet) e nao o Java Web Start (JWS).

“Developers of applications that rely on the Java browser plugin need to consider alternative options such as migrating from Java Applets (which rely on a browser plugin) to the plugin-free Java Web Start technology.”

Inclusive eles estao incentivando a migracao de Applets para Java Web Start.
Pelo que entendi, depreciando Applets no Java 9 e entao removendo a API no Java 10.

Fonte: https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free

Parece que JWS continua funcionando (por enquanto), então pode fazer uma aplicação desktop. Por que você não acha adequado?

É desengonçado. Os usuários não são exatamente especialistas em informática. Eles já estão num sistema web, usando pelo navegador. Fica difícil para o cara entender que um outro aplicativo, disparado do nada, deve ser usado para validar o certificado digital dele.

O ideal seria que a assinatura fosse diretamente integrada, orgânica, assim como é no Applet. Melhor ainda se os navegadores já suportassem uma solução HTML5 para isso.

Toda solução corrida é desengonçada. Mas se for feito direito, reescrevendo toda a aplicação pra desktop, você pode integrar a função de assinar dentro do aplicativo.

Aí faz menos sentido ainda, não é solução. Estou partindo do pressuposto que a arquitetura web é importante para o negócio.

Vai ser melhor ficar com a gambiarra e treinar os usuários até que uma solução nativa apareça, ou refuzir o suporte dos usuários que assinam a um único navegador e escrever um plugin.

Só queria saber se alguém conhece uma opção 3 viável.

Applet já era gambiarra, agora a gambiarra tem que ficar externa ao navegador até que uma solução própria apareça.

O problema é que navegador não foi feito pra sistemas, ainda mais com esses requisitos. Mas na prática, bem ou mal o mercado abraçou esse tipo de client, pela comodidade de acesso. Então tem que lidar com essas limitações.

1 curtida

Se não quiser reescrever pra uma aplicação desktop, como a maioria dos programas importantes do mercado são desenvolvidos (declaração de IR, software do correios, IDEs, etc.), então o jeito é fazer uma gambiarra abrindo outro programa separado, só pra fazer a assinatura.

Sim, o Applet era uma espécie de gambiarra também. Mas era relativamente elegante. Era totalmente integrada ao navegador, um mecanismo de extensão. Era possível inclusive deixá-lo relativamente oculto, e fazer toda a interface em HTML puro, dando a impressão de que o applet nem sequer existia.

pode ser “elegante” mas em empresas que se preocupam com segurança, tecnologias como Java plug-in e JWS são consideradas vetores de ataques e seu uso geralmente é desabilitado ou restrito.

Um plugin para cada browser não seria uma opção mais viável? Já que a questão é elegância e fluidez da interface…

O contador da empresa já não consegue mas fazer a assinatura digital. Os plugins Java do navegador já forma descontinuados. Se vocês puderem me dizer uma alternativa para contornar isso poderiam me indicar para eu passar para o contador?

Alternativa para continuar usando o plugin existente? Só com versão de navegador que ainda suporte.

Alternativa sem plugin? A empresa que mantem a solução de assinador digital tem como saída mais próxima usar Java Web Start, como já expliquei acima.

Mas funciona como um popup, como eles já estão acostumados. Não precisa ser especialista pra lidar com popups

A respeito do Assunto video de 7 minutos bem explicativo:

Interessante que a alternativa mais sugerida pelos desenvolvedores seja: desenvolver…plugins para os navegadores. hehehehehehe

Texto meio longo, mas talvez minha experiência possa ajudar alguém.
O que acontece geralmente com esses applets para assinatura digital é que eles conversam com o hardware, geralmente o token espetado na máquina para ler os certificados e assinar os dados, depois interage com a página web via javascript para que as informações sejam enviadas ao servidor, pelo menos em um dos sistemas que trabalho é assim, não desenvolvi o applet, mas fiz a integração. O JWS é uma alternativa ao applet, como recomendado pela Oracle, porém como vocês sabem ele não é capaz de interagir com o navegador depois de iniciado, ou seja, ele não vai conversar com o javascript assim como o applet, portanto se for migrar uma solução applet para JWS leve isso em consideração, por exemplo, depois de ler o certificado, como você vai exibi-lo na tela do teu sistema web? Provavelmente você terá que utilizar um protocolo que tanto o navegador quanto o aplicativo JWS possam se comunicar (HTTP? Websocket?). Uma das soluções que nos forneceram para substituir o applet, era a de uma aplicação desktop que roda em background na máquina do cliente, na qual tem um server embedded (acho que o jetty) para interagir com o token, quando ele acessa a página, essa faz requisições pra esse server (local) via ajax trocando json para, por exemplo, listar os certificados da máquina, assinar, etc. Essa aplicação desktop poderia ser distribuída via JWS (nesse caso não era). Outra alternativa, é a de uma extensão do chrome, porém também precisa instalar uma aplicação nativa que vai se comunicar com o token. A extensão do chrome é o meio do caminho entre a aplicação nativa e a web, e funciona mais ou menos da seguinte forma: Quando a página web precisa por exemplo exibir os certificados da máquina (token, arquivo), ela chama um javascript, que por sua vez dispara um evento, a extensão do chrome fica escutando esses eventos para poder se comunicar com o aplicativo nativo através de uma API do próprio chrome chamada Native Messaging e executar a ação que eu solicitei. Quando ela tiver a resposta, vai lançar um evento, na qual o javascript da página web vai escutar e tratar para fazer o que tiver que fazer, nesse caso exibir os certificados. Creio que esses plugins ou extensões de navegadores não tem acesso a máquina, como o applet tem, eles só tem acesso ao contexto do próprio navegador, então por isso precisa ter uma aplicação instalada na máquina local.

É claro que esse fim do suporte aos applets vai muito além desse cenário de assinatura digital, algumas vão poder tranquilamente ser alteradas para utilizar o JWS, outras vão ter que estudar alternativas. Não estou julgando se as alternativas são boas ou ruins, apenas compartilhando minha experiência.

2 curtidas