Java シン・クライアント・アプリケーションの実行

Java™ シン・クライアントは、WebSphere® Application Client または WebSphere Application Server のいずれかがインストールされているマシン上で実行することができます。

このタスクについて

重要: Java シン・クライアントは、JDBC プロバイダー・クラスにはパッケージされていません。 例えば、WebSphere Application Server バージョン 8.5 Java シン・クライアントは、Apache Derby 10.2 クラスにはパッケージされません。したがって、Java シン・クライアントで JDBC プロバイダー・クラス (Apache Derby、Oracle、DB2®、Informix®、 Sybase など) を利用するには、以下の操作が必要です。
  1. Java シン・クライアント・アプリケーション環境にクラスを追加します。
  2. Java シン・クライアント・アプリケーションからこれらのクラスが見えるようにします。そのためには、 クライアント・プログラムを起動したスクリプト内のクライアント・クラスパスに、これらのクラスへのパスを追加します。
このようにしないと、データベース・クラス (データ・ソースの JNDI 検 索を介してなど) をロードしようとしたときに ClassNotFoundException が発生します。
Java シン・クライアント・アプリケーションを実行するための Java 呼び出しは、 クライアントとサーバーとでは異なります。Java シン・クライアント・アプリケーションをクライアント・インストール・システムとサーバー・インストール・システムの両方で実行する必要がある場合は、『サーバー・マシンでの Java シン・クライアント・アプリケーションの実行』トピックに記載されている手順に従ってください。

手順

WebSphere Application Server インスタンスでセキュリティーを使用可能にした場合、Java シン・アプリケーション・クライアントでは、セキュリティー・プロバイダーを設定するための追加コードが必要なくなります。マイグレーションおよび互換性の問題を防ぐために、IBM® i Java シン・クライアントで検出されたこのコードを除去する必要があります。プロパティー・ディレクトリーの WebSphere インスタンスからの java.security ファイルは、現在セキュリティー・プロバイダーを構成するために使用されています。
セキュリティーを使用可能にしてシン・クライアントを実行する。以下のコード例は、 セキュリティー・プロバイダーがどのように main() メソッドでプログラマチックに設定され、 エンタープライズ Bean にアクセスするコードの前に置かれたかを示しています。
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")
Java シン・クライアント・アプリケーションの例については、『サンプル、バージョン 8.5』を参照してください。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tcli_runjavathin
ファイル名:tcli_runjavathin.html