Preparación del componente de dependencia del módulo ejecutable del Cliente de aplicación para Java Web Start

Para iniciar una aplicación cliente de aplicaciones Java™ Platform, Enterprise Edition (Java EE), una aplicación cliente de aplicaciones Thin, o ambas utilizando Java Web Start (JWS), un archivo Java (JAR) de implementación de Java Runtime Environment que proporciona IBM® , los archivos JAR de biblioteca y los archivos de propiedades empaquetados en el cliente de aplicaciones para WebSphere® Application Server deben estar instalados en el JWS. Conozca los pasos para construir el componente de dependencia de tiempo de ejecución del cliente de aplicaciones de una instalación de cliente de aplicaciones. Se empaqueta como un archivo WAR (web application archive) que se puede instalar en un servidor de aplicaciones.

Antes de comenzar

Instale el cliente de aplicaciones para WebSphere Application Server para el sistema operativo en el que se despliega la aplicación cliente. Si existe un requisito para desplegar la aplicación cliente en varios sistemas operativos, el componente de dependencia de módulo ejecutable del cliente de aplicaciones debe crearse por separado para cada sistema operativo al que dé soporte la aplicación cliente.

[Linux][Windows]Por ejemplo, si la aplicación cliente se despliega en el sistema operativo Windows y en el sistema operativo Linux® , siga los pasos de esta tarea para crear el componente de dependencia de tiempo de ejecución del cliente de aplicación para los sistemas operativos Windows, con el cliente de aplicaciones para WebSphere Application Server para Windows instalado. A continuación, repita los pasos para esta tarea para crear el componente de dependencia de tiempo de ejecución del cliente de aplicaciones para Linux, en un sistema operativo Linux , con el cliente de aplicaciones para WebSphere Application Server para Linux instalado.

Procedimiento

  1. Instale el cliente de aplicaciones para WebSphere Application Server para los sistemas operativos soportados por la aplicación cliente.

    [Windows]Instale el cliente de aplicaciones en el directorio C:\Archivos de programa\IBM\WebSphere\AppClient.

  2. Vaya al directorio bin de la instalación.
    [Windows]En sistemas operativos Windows, el directorio es el siguiente:
    CD C:\Program files\IBM\WebSphere\AppClient\bin
  3. Ejecute la herramienta buildClientRuntime para generar el archivo JAR de tiempo de ejecución del cliente de aplicaciones, que contiene Java Standard Edition Runtime Environment, los archivos JAR de biblioteca de tiempo de ejecución, los archivos de propiedades y los archivos KeyStore y TrustStore de SSL de la instalación del cliente de aplicaciones.
    [Windows]Por ejemplo, si utiliza la Versión 7.0 y el certificado de prueba incluido en la instalación del cliente de aplicación:
    buildClientRuntime C:\WebApp1\runtime\WASClient7.0_windows.jar ..\etc\DummyClientKeyFilejar WebAS 
    "websphere dummy client" JKS
  4. Ejecute las herramientas buildClientLibJars para empaquetar los archivos de propiedades en el directorio de propiedades de la instalación del cliente de aplicaciones en un archivo properties.jar en la ubicación especificada.
    Las herramientas buildClientLibJars también copiarán el archivo WebSphereClientLauncher.jar y el archivo WebSphereClientRuntimeInstaller.jar de la instalación del cliente de aplicaciones en la ubicación especificada. Todos los archivos jar de la ubicación especificada se firmarán mediante el certificado del proveedor.
    Por ejemplo, si utiliza la Versión 7.0 y el certificado de prueba incluido en la instalación del cliente de aplicación:
    buildClientLibJars C:\Temp\webstart ..\etc\DummyClientKeyFilejar WebAS "websphere dummy client" JKS
  5. Cree un archivo JSP ( JavaServer Pages) o utilice un servlet para generar el descriptor JNLP (Java Network Launching Protocol) del instalador de tiempo de ejecución del cliente de aplicaciones para responder a la solicitud de Java Web Start. Consulte el ejemplo de despliegue de Java Web Start en la instalación del cliente de aplicaciones.
  6. Empaquete los dos archivos JAR firmados, WASClient7.0_windows.jar y WebSphereClientRuntimeInstaller.jar, y el archivo JSP o servlet para generar el descriptor JNLP del instalador del tiempo de ejecución del cliente de aplicaciones en un archivo WAR (Web Application Archive). Este archivo WAR se empaqueta en un archivo EAR que se puede desplegar en un servidor de aplicaciones. Consulte el ejemplo de despliegue de Java Web Start en la instalación del cliente de aplicaciones.

Resultados

La aplicación web está lista para servir módulo ejecutable del cliente de aplicaciones y el entorno JRE.

Ejemplo

<!-- This sample program applies to WebSphere Application Server, Version 6.1.
It is provided AS IS and may be used, executed, copied and modified 
without royalty payment by customer (a) for its own instruction and study, (b) in order 
to develop applications designed to run with an IBM WebSphere product, either for customer's 
own internal use or for redistribution by customer, as part of such an application, in 
customer's own products.

Product 5630-A36,  (C) COPYRIGHT International Business Machines Corp., 2005
All Rights Reserved * Licensed Materials - Property of IBM
-->

<%-- // to set the Last_Modified header so that the JNLP client will know whether to download
     // the JNLP file again and update the cached copy.
     String jspPath = application.getRealPath(request.getServletPath());
     java.io.File jspFile = new java.io.File(jspPath);
     long lastModified = jspFile.lastModified();
%><%    
      // locally declared variables
      String url=request.getRequestURL().toString(); 
      String jnlpCodeBase=url.substring(0,url.lastIndexOf('/'));
      String jnlpRefURL=url.substring(url.lastIndexOf('/')+1,url.length());

      // Need to set a JNLP mime type - if WebStart is installed on the client,
      // this header will induce the browser to drive the WebStart Client
      response.setContentType("application/x-java-jnlp-file");                            1
      response.setHeader("Cache-Control", null);
      response.setHeader("Set-Cookie", null);
      response.setHeader("Vary", null);
      response.setDateHeader("Last-Modified", lastModified);

      // An installer must reply with the version number for a given install
      if (response.containsHeader("x-java-jnlp-version-id"))
        response.setHeader("x-java-jnlp-version-id", "WASClient6.1.0");               2
      else
        response.addHeader("x-java-jnlp-version-id", "WASClient6.1.0");
%>
     
<?xml version="1.0" encoding="utf-8"?>

<!-- ============================================================== -->
<!-- TODO: change "codebase" to the actual url location of this jsp -->
<!-- ============================================================== -->

<jnlp spec="1.0+" 
codebase="http://YOUR_APP_SERVER:PORTNUMBER/WEBAPP_CONTEXT_ROOT/Runtime/WebSphereJre">

<information>
  <title>Application Client Java Runtime Environment</title>
  <vendor>IBM</vendor>
  <icon href="icon.gif"/>
  <description>Application Client Java Runtime Environment</description>
  <description kind="short">Application Client JRE</description>
  <description kind="tooltip">Application Client JRE</description>
  <offline-allowed/>
</information>

<security>
	<all-permissions/>
</security>

	<resources>
		<j2se version="1.4+"/><%-- The installer can use any 1.4 JRE --%> 3
 		<jar href="WebSphereClientRuntimeInstaller.jar" main="true"/>	4		

		<!-- JRE version registration with Web Start -->
		<property name="com.ibm.websphere.client.jre.version" value="WASClient6.1.0"/>	5	
	</resources>

	<resources os="Windows">	6	
<!-- ============================================================== -->
<!-- TODO: the property value for UNIX platform is "java/jre/bin/javaw" -->
<!--   and the "os" value match to your target client machine platform             -->
<!-- ============================================================== -->

			<jar href="WASClient6.1.0_Windows.jar"/>	7	
	
<!-- ============================================================== -->
<!-- TODO:  property value for UNIX platform is "java/jre/bin/javaw" -->
<!-- ============================================================== -->
<!-- relative path of the jre executable —->

			<property name="com.ibm.websphere.client.jre.launch.java" 
	value="java\jre\bin\javaw.exe"/>	8	
	
	</resources>
	<installer-desc main-class="com.ibm.websphere.client.installer.ClientRuntimeInstaller"/>
</jnlp>
  1. Especifica que el archivo es un tipo mime JNLP de modo que el navegador puede procesar el archivo JNLP.
  2. Especifica la versión exacta de este componente de dependencia del módulo ejecutable de cliente de aplicaciones en la respuesta estableciendo el campo de cabecera HTTP: x-java-jnlp-version-id.
  3. Especifica la versión de JRE obligatoria para ejecutar el programa de instalación.
  4. Especifica el archivo WebSphereClientRuntimeInstaller.jar del programa de instalación, que contiene la clase ClientRuntimeInstaller.
  5. Especifica una propiedad del sistema que define la versión del componente de dependencia del módulo ejecutable del cliente de aplicaciones. Esta versión está registrada en el cliente JNLP.
  6. Especifica recursos de una plataforma determinada. Cada plataforma de aplicación cliente soportada necesita su propio archivo JAR independiente.
  7. Especifica el archivo JAR del componente de dependencia del módulo ejecutable del cliente de aplicaciones.
  8. Especifica el programa que se va a llamar para que inicie una JVM para la aplicación cliente.