Cuando desarrollamos software siempre llega el momento de actualizar nuestra aplicación. Ya sea porque debemos resolver errores presentes en la versión anterior, o porque acabamos de introducir mejoras importantes. Antiguamente esto se hacía de manera manual. Pedíamos a los usuarios que descargasen la última versión desde nuestro servidor y rezábamos para que el proceso fuera lo más rápido posible para evitar problemas. También era habitual que un técnico instalador pasara por cada oficina de nuestros clientes a llevar la nueva versión en un disco. Esto estaba bien para una empresa pequeña de cinco o diez ordenadores, pero cuando llegaba el momento de actualizar una gran empresa con cientos de puestos en red la cosa podía hacerse excesivamente larga a la par de incomoda.
Para poder beneficiarnos de esta tecnología debemos disponer de un servidor Web donde podamos subir el contenido de nuestra aplicación, por ejemplo Apache Tomcat, un archivo .Jar ejecutable y siempre es recomendable incluir un certificado de firma digital para dicho archivo.
Esto último puede parecer una tontería pero piensa por un segundo qué puede pasar por la cabeza de un administrador de sistemas cuando hablamos de bajar archivos ejecutables con un solo clic. Suena a “Pesadilla en Elm Street” ¿verdad? Por eso es un requisito de Java WebStart que cada archivo .Jar se encuentre firmado gracias a un certificado digital para que pueda ser verificado.
Una aplicación puede ser ejecutada mediante Java Web Start de las siguientes maneras:
Una vez que hemos subido nuestro archivo .jar firmado a nuestro servidor web es necesario crear el archivo JNPL. Básicamente este archivo no es más que un archivo xml típico con etiquetas bastante claras. En dicho archivo se describirán nuestra aplicación, información del vendedor, etc. Aunque lo mejor es que veamos un ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://ultrastudio.org/upload" href="">
<information>
<title>Launch applet with Web Start</title>
<vendor>Foo Bar Inc.</vendor>
<offline-allowed/>
</information>
<resources>
<j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="Test-1.0.jar" main="true" />
</resources>
<applet-desc name="Ray diagram applet" main-class="raydiagramsapplet.Main" width="300" height="200">
</applet-desc>
<update check="background"/>
</jnlp>
Como se puede ver en dicho fichero debe aparecer la ruta desde donde alojaremos nuestro programa y el archivo JNPL y la versión.
Por ejemplo, podemos definir una nueva versión para actualizar nuestra aplicación a través de WebStart cambiando donde dice <jar href="Test-1.0.jar" />
Así la próxima vez que un usuario ejecute Java WebStart éste detectará los cambios y procederá a sugerirnos descargar y lanzar la nueva actualización de manera transparente al usuario. Tanto si eres administrador de sistemas o técnico de soporte agradecerás el poder que brinda esta tecnología de implementación de aplicaciones. Tan solo imagina su potencial. Desde ahora podemos descargar e iniciar aplicaciones, como un programa completo de hoja de cálculo o un cliente de chat de Internet, sin pasar por complicados procedimientos de instalación. Tan solo un clic de ratón y podemos seguir trabajando.