Protocolo de inicialização de rede Java
O Java Network Launching Protocol ( JNLP ) é uma especificação usada pelo Java Web Start . Esta especificação permite que um programa seja centralizado em um servidor web, evitando problemas de distribuição e instalação .
O que
Ao instalar qualquer aplicativo, geralmente há uma série de etapas:
- Ele é baixado da Internet ou colocado em mídia removível ( disco compacto , DVD , pendrive , etc.)
- Ele instala.
- Ele corre.
O programa javaws nos permite fazer isso de maneira mais fácil e transparente para o usuário, pois podemos realizar essas etapas simplesmente clicando em um link enquanto estivermos usando nosso navegador, para que o download, instalação e execução sejam realizados de forma transparente ao usuário.
O JavaWS não usa applets , pois baixa aplicativos Java normais e, portanto, requer uma máquina virtual . Além disso, está incluído no Java Runtime Environment (JRE) do Java desde a versão 1.4.
Como funciona
Qualquer ligação JNLP ao iniciar o processo de execução solicita autorização ao usuário. Além disso, os aplicativos podem ser assinados ( assinatura eletrônica ) para garantir o remetente do aplicativo para que possam seguir o modelo de segurança da plataforma Java 2 para garantir a integridade dos dados que obtemos através da rede, para que nenhum homem no Ataques intermediários , envenenamento de cache DNS ou corrupção de dados.
Estrutura de um arquivo JNLP
Um arquivo JNLP é um XML especialmente formado composto por:
- Um cabeçalho XML típico:
<?xml version="1.0" encoding="conjunto de caracteres"?>
Onde "conjunto de caracteres" pode ser qualquer conjunto válido
: utf-8, ISO-8859-1...
- Um caminho padrão para que os arquivos possam ser chamados de um caminho relativo.
<jnlp spec="1.0+" codebase="http://URL/directorio/del/programa" href="NombreDelArchivoJNLP.jnlp">
- Uma ou mais etiquetas de informação nas quais são colocadas várias informações (ver exemplo).
- Uma etiqueta de segurança (com várias informações).
- Uma tag de recursos (com informações diversas).
- Uma tag application-desc com a classe padrão a ser executada.
Exemplo
Veja a seguir um breve exemplo de um arquivo JNLP típico. Não inclui todas as opções possíveis.
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://es.wikipedia.org/wiki/JNLP:8080/ElPrograma/" href="jnlp.jnlp">
<information>
<title>Ejemplo de un JNLP wikipédico</title>
<vendor>Anónimo</vendor>
<homepage href="http://es.wikipedia.org/Portada" />
<description> Ejemplo de un JNLP muy wikipédico</description>
<description kind="short">
Esta es una breve información, repito, muy wikipédica.
</description>
<icon href="NombreImagen.jpg" />
<offline-allowed />
</information>
<security>
<all-permissions />
</security>
<resources>
<j2se version="1.4+" />
<jar href="aplicación.jar" />
<jar href="lib1.jar" />
<jar href="lib2.jar" />
</resources>
<application-desc main-class="org.wikipedia.es.JNLP" />
</jnlp>