- JNLP
-
JNLP
JNLP es el acrónimo de Java Networking Launching Protocol que es una especificación usada por Java Web Start.
Esta especificación, permite tener centralizado en un servidor web un programa, evitando los problemas de distribución e instalación.
Contenido
Qué hace
Al instalar cualquier aplicación, normalmente se dan una serie de pasos:
- Se descarga de internet/Se introduce un medio extraíble (CD/DVD/Disco USB...)
- Se instala en el ordenador
- Se ejecuta
El programa javaws permite hacer esto de un modo más fácil y transparente para el usuario, ya que podemos realizar estos pasos simplemente pinchando sobre un enlace mientras estamos utilizando nuestro navegador, de modo que descarga, instalación y ejecución se realizan de modo transparente al usuario.
JavaWS NO usa applets, ya que descarga aplicaciones java normales y necesita, por tanto, de una máquina virtual, además, viene incluido en el JRE de java desde la versión 1.4.
Cómo funciona
Cualquier enlace JNLP, al iniciar el proceso de ejecución, pide autorización al usuario. Además, las aplicaciones pueden estar firmadas (firma electrónica) para asegurar el remitente de la aplicación de modo que pueden seguir el modelo de seguridad de la plataforma Java 2 para asegurar la integridad de los datos que obtenemos a través de la red, de forma que no se produzcan ataques de tipo Man in the Middle, DNS poisoning, o corrupción de datos.
Estructura de un archivo JNLP
Un archivo JNLP es un XML especialmente formado compuesto por:
- Una cabecera XML típica:
<?xml version="1.0" encoding="CODIFICACIÓN"?>
Donde codificación puede ser cualquier codificación válida: utf-8, ISO-8859-1...
- Una ruta predeterminada para que los archivos puedan ser llamados desde un path relativo.
<jnlp spec="1.0+" codebase="http://URL/directorio/del/programa" href="NombreDelArchivoJNLP.jnlp">
- Uno o varios TAG information en el que van varias informaciones (ver ejemplo).
- Un TAG security (con información variada).
- Un TAG resources (con información variada).
- Un TAG application-desc con la clase predeterminada a ejecutar.
Ejemplo de JNLP
El siguiente es un MUY breve ejemplo de un archivo típico JNLP. NO incluye todas las posibles opciones. Hay muchas más que pueden verse desde la documentación de Java.
<?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>
Enlaces externos
Categoría: Plataforma Java
Wikimedia foundation. 2010.