Exécution d'applications client léger Java

Vous pouvez exécuter des applications client léger Java™ sur des ordinateurs où réside une installation de WebSphere Application Client ou une installation de WebSphere Application Server.

Pourquoi et quand exécuter cette tâche

Important : Les clients légers Java ne fournissent pas de classes de fournisseur JDBC. Par exemple, le client léger Java de WebSphere Application Server Version 8.5 ne contient pas les classes Apache Derby 10.2. Par conséquent, pour utiliser les classes defournisseur JDBC (Apache Derby, Oracle, DB2, Informix, ou Sybase) sur un client léger Java, vous devez :
  1. Ajouter les classes requises à l'environnement de votre client léger Java.
  2. Rendre les classes visibles par le client léger Java. Pour ce faire, ajoutez le chemin d'accès aux classes dans le chemin d'accès aux classes du client dans script ayant lancé le programme client.
Dans le cas contraire, toute tentative de charger une classe de base de données (comme via le la recherche JNDI d'une source de données, par exemple) résultera dans une erreur ClassNotFoundException.
La procédure d'appel Java pour exécuter une application client léger Java est différente pour un client et un serveur. Si l'application client léger Java doit s'exécuter sur le client et le serveur, suivez les étapes indiquées dans la rubrique Exécution d'une application client léger Java sur un poste serveur.

Procédure

Exemple

Votre client d'application léger Java n'a plus besoin de code supplémentaire pour définir les fournisseurs de sécurité si vous avez activé la sécurité de votre instance de WebSphere Application Server. Ce code, qui se trouve dans les clients légers IBM® i Java, doit être supprimé pour éviter les problèmes de migration et de compatibilité. Le fichier java.security de votre instance de WebSphere, situé dans le répertoire de propriétés, sert désormais à configurer les fournisseurs de sécurité.
Exécution du client léger avec la sécurité activée activée. Les exemples de code suivants montrent comment les fournisseurs sont définis par programme dans la méthode main() et exécutés avant le code qui accède aux beans enterprise :
import java.security.*;
  ...
  if (System.getProperty("os.name").equals("OS/400")) {

    // Set the default provider list first.
    Provider jceProv = null;
    Provider jsseProv = null;
    Provider sunProv = null;

    // Allow for when the Provider is not needed, when 
    // it is not in the client application's classpath.
    try {
      jceProv = new com.ibm.crypto.provider.IBMJCE();
    }
    catch (Exception ex) {
	ex.printStackTrace();
    throw new Exception("Unable to acquire provider.");
	}

    try {
      jsseProv = new com.ibm.jsse.JSSEProvider();
    }
    catch (Exception ex) {
	ex.printStackTrace();
    throw new Exception("Unable to acquire provider.");
	}

    try {
      sunProv = new sun.security.provider.Sun();
    }
    catch (Exception ex) {
	ex.printStackTrace();
    throw new Exception("Unable to acquire provider.");
	}

    // Enable providers early and ahead of other providers
    // for consistent performance and function.
    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);
    }

    // Adjust default ordering based on admin/startstd properties file.
    // Maximum allowed in property file is 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) {
          // provider not found
          continue;
        }

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

          // index 0 adds to end of existing list
          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")
For examples of Java thin client applications, refer to Samples, Version 8.5.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tcli_runjavathin
Nom du fichier : tcli_runjavathin.html