Java Web Start を使用した Java EE クライアント・アプリケーションのダウンロードおよび実行

Java™ Web Start テクノロジーは、クライアント・マシン上の Web ブラウザーからシングルクリックでリモート・クライアント・マシンに Java Enterprise Edition アプリケーション・クライアント (シン・アプリケーション・クライアントを含む) をデプロイするために、Java Standard Edition ランタイム環境によって提供されます。

事前処理

Java Web Start を使用してアプリケーション・クライアントをデプロイするためにサポートされるクライアント・プラットフォームは、 IBM® Application Client for WebSphere® Application Server でサポートされるプラットフォームと同じです。ただし、 Linux® on Power ® および OS/400® オペレーティング・システムを除きます。

このタスクを開始する前に、以下のトピックを参照して、Java Web Start テクノロジーとそのコンポーネントについて理解してください。
サポートされる構成: Sun Microsystems から入手可能な Sun Java Web Start は、 IBM Runtime Environment, Java 2 Technology Edition と互換性がありません。 これは、 WebSphere Application Server および IBM Application Client によって提供されます。 IBM ランタイム環境には、Sun Java Web Start でサポートされないいくつかの追加機能が含まれています。 また、 IBM ランタイム環境は、Sun Java Web Start とは異なるパッケージ化構造を使用します。 IBM ランタイム環境を使用します。

このタスクの概要

Java Web Start を使用してアプリケーション・クライアントをデプロイするには、クライアント・マシンに少なくとも Java SE ランタイム環境がインストールされている必要があります。 Java SE ランタイム環境には、JSR 56: Java Network Launching Protocol および API を実装する Java Web Start が含まれています。 アプリケーション・クライアントのエンタープライズ・アーカイブ (EAR) ファイルは、中央サーバーにある JNLP 記述子ファイル内の Java アーカイブ (JAR) リソースです。 JNLP 記述子ファイルは、 アプリケーションを実行する際のランタイム環境要件の指定にも 使用されます。

WebSphere Application Server は、Java Web Start 内のアプリケーション・クライアント・コンテナーで Java EE アプリケーション・クライアントを起動するランチャー・クラスを提供します。 クライアント・マシンに IBM Application Client for WebSphere Application Server がインストールされていない可能性があります。 その場合は、Java Web Start を使用して、アプリケーション・クライアント・コンテナーとランタイム・パッケージをランタイム環境として作成してインストールします。 JNLP 記述子ファイルは、 Java EE アプリケーション・クライアントを実行するために必要なランタイム環境として、このランタイム環境を指定します。

WebSphere Application Server には、既存の IBM Application Client for WebSphere Application Server インストール済み環境からこのアプリケーション・クライアント・コンテナーおよびランタイム・パッケージを作成するためのコマンド行ユーティリティー・プログラムも用意されています。 また、このパッケージをアプリケーション・クライアント・コンテナーのランタイム環境として、また IBM Application Client for WebSphere Application Server インストール済み環境の Java ランタイム環境 (JRE) としてインストールするためのインストーラー・クラスもインストールします。 Java EE アプリケーション・クライアントを実行するために、EAR ファイルは、JNLP 記述子ファイルに記述されている JAR リソースとしてデプロイされます。

手順

  1. クライアント・マシンのオペレーティング・システムを識別し、対応する IBM Application Client for WebSphere Application Server を開発マシンにインストールします。
    例えば、 Java EE アプリケーション・クライアントが Windows オペレーティング・システム上で実行するターゲットになっている場合は、 IBM Application Client for WebSphere Application Server for Windows をインストールします。
  2. ユーティリティー・プログラムを実行して、アプリケーション・クライアント・コンテナーと ランタイム・パッケージを作成します。
    1. buildClientRuntime ツール ・ユーティリティを使ってパッケージを作成する。
    2. buildClientLibJars ツール・ ユーティリティを使用して、ランチャーとインストーラー・クラスを含む JAR ファイルを作成します。 このユーティリティーは、< app_client_root> /properties ディレクトリーのプロパティー・ファイルも zip します。
  3. ランタイム・インストーラーの JNLP 記述子ファイルを作成します。
    応答ヘッダー内の現在のランタイム・バージョンを示すために、JNLP 応答を JNLP バージョン ID に含める必要があります。以下に例を示します。x-java-jnlp-version-id=1.6.0. JavaServer Pages (JSP) ファイルのサーブレットを使用して、動的 JNLP 応答を提供する。
  4. Java EE アプリケーション・クライアント起動 JNLP 記述子ファイルを作成します。
  5. アプリケーション・クライアント・コンテナー・ランタイム環境および Java EE アプリケーションをエンタープライズ・アーカイブ (EAR) ファイルにパッケージ化します。
    希望するデプロイメント戦略によって、 このファイルを 2 つの別個の Web モジュールに入れることも、 1 つの Web モジュールに結合することもできます。
  6. Java EE アプリケーション・クライアント EAR ファイルを含め、すべての JAR リソースが Java 署名されている必要があります。
  7. エンタープライズ・アーカイブ・ファイルをアプリケーション・サーバーにデプロイし、 アプリケーションを開始します。 Java EE アプリケーション・クライアントをデプロイする準備ができました。

クライアント・サンプルには、Java Web Start デプロイメント・サンプルが含まれています。 このサンプルは、自動化 ANT スクリプトを使用して Java EE アプリケーション・クライアントをデプロイする手順を示しています。 この例には、JNLP バージョン ID (例えば x-java-jnlp-version-id) で ランタイム・インストーラーの JNLP 応答を生成するサーブレットが含まれています。

重要: アプリケーション・クライアントは、Sun Microsystems Java SE Runtime Environment 6.0から Java Web Start を使用して最初に起動するときに、 IBM JRE を含む Application Client ランタイムをインストールします。 NULL ポインター 例外 (NPE) が、com.sun.deploy.services.WPlatformService.getSecureRandom() メソッドからスローされます。 これは、Sun Java SE 6 (https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6505528) の既知のバグです。 この例外が発生した場合は、アプリケーションを再起動してください。 NPE が発生するのは、 アプリケーション・クライアントの最初の起動時のみです。