Ejecución de aplicaciones de cliente ligero Java

Puede ejecutar aplicaciones de cliente ligero Java™ en máquinas instalados con una instalación de WebSphere Application Client o una instalación de WebSphere Application Server.

Acerca de esta tarea

Importante: Los clientes ligeros Java no están empaquetados con las clases de proveedores de JDBC. Por ejemplo, el cliente ligero Java de WebSphere Application Server versión 8.5 no está empaquetado con las clases de Apache Derby 10.2. Por lo tanto, para utilizar las clases del proveedor de JDBC (como por ejemplo, Apache Derby, Oracle, DB2, Informix o Sybase) en un cliente ligero Java, debe:
  1. Añadir las clases al entorno de aplicación de cliente ligero Java.
  2. Hacer las clases visibles a la aplicación de cliente ligero Java. Para ello, añada la vía de acceso a las clases en la classpath del cliente ligero contenida en el script que ha iniciado e programa del cliente.
De lo contrario, cualquier intento de cargar una clase de base de datos (mediante la búsqueda JNDI de un origen de datos) da como resultado una excepción ClassNotFoundException.
La invocación de Java para ejecutar una aplicación de cliente ligero Java varía entre un cliente y un servidor. Si la aplicación de cliente ligero Java necesita ejecutarse en una instalación de cliente y en una instalación de servidor, siga los pasos descritos en el tema Ejecución de una aplicación de cliente ligero Java en una máquina servidor.

Procedimiento

Ejemplo

El cliente ligero de aplicaciones Java ya no necesita código adicional para establecer los proveedores de seguridad si ha habilitado la seguridad para la instancia de WebSphere Application Server. Este código que se encuentra en los clientes ligeros de IBM® i Java se debe suprimir para que no se produzcan problemas de migración y compatibilidad. El archivo java.security de la instancia de WebSphere del directorio de propiedades se utiliza ahora para configurar los proveedores de seguridad.
Ejecución del cliente ligero con la seguridad habilitada. En los ejemplos de código siguientes se muestra cómo los proveedores de seguridad se han establecido mediante programación en el métodos main(), y han tenido lugar antes de cualquier código que haya accedido a los enterprise beans:
import java.security.*;
  ...
  if (System.getProperty("os.name").equals("OS/400")) {

    // Establecer la lista de proveedores predeterminada en primer lugar.
    Provider jceProv = null;
    Provider jsseProv = null;
    Provider sunProv = null;

    // tener en cuenta los casos en los que no se necesita el proveedor, 
    // cuando no está en la classpath del cliente de aplicaciones.
    try {                                                               
      jceProv = new com.ibm.crypto.provider.IBMJCE();
    }
    catch(Exception ex) {
	ex.printStackTrace();
    throw new Exception("No se ha podido adquirir el proveedor.");
	}

    try {                                                               
      jsseProv = new com.ibm.jsse.JSSEProvider();
    }
    catch(Exception ex) {
	ex.printStackTrace();
    throw new Exception("No se ha podido adquirir el proveedor.");
	}

    try {                                                               
      sunProv = new sun.security.provider.Sun();
    }
    catch(Exception ex) {
	ex.printStackTrace();
    throw new Exception("No se ha podido adquirir el proveedor.");
	}

    // Permitir proveedores con anticipación a otros proveedores
    // para que el rendimiento y la función sean coherentes.
    if ( (null != sunProv) && (1 != Security.insertProviderAt(sunProv, 1)) ) {
      Security.removeProvider(sunProv.getName());
      Security.insertProviderAt(sunProv, 1);
    }
    if ( (null != jceProv) && (2 != Security.insertProviderAt(jceProv, 2)) ) {
      Security.removeProvider(jceProv.getName());
      Security.insertProviderAt(jceProv, 2);
    }
    if ( (null != jsseProv) && (3 != Security.insertProviderAt(jsseProv, 3)) ) {
      Security.removeProvider(jsseProv.getName());
      Security.insertProviderAt(jsseProv, 3);
    }

    // Ajustar el orden predeterminado en base al archivo de propiedades admin/startstd.
    // El número máximo permitido en el archivo de propiedades es de 20.
    String provName;
    Class  provClass;
    Object provObj =  null;

    for (int i = 0; i < 21; i++) {
      provName = System.getProperty("os400.security.provider."+ i);

      if (null != provName) {

        try {                                                               
          provClass = Class.forName(provName);
          provObj = provClass.newInstance();
        }
        catch(Exception ex) {
          // no se ha encontrado el proveedor
          continue;
        }

        if (i != Security.insertProviderAt((Provider) provObj, i)) {

          // el índice 0 se añade al final de la lista existente
          if (i != 0) {
            Security.removeProvider(((Provider) provObj).getName());
            Security.insertProviderAt((Provider) provObj, i);
          }
        }
      } // end if (null != provName)
    } // end for (int i = 0; i < 21; i++)
  } // end if ("os.name").equals("OS/400")
Para obtener ejemplos de las aplicaciones de cliente ligero Java, consulte Samples versión 8.5.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tcli_runjavathin
File name: tcli_runjavathin.html