ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Framework Swingアプリケーションの開発
12c (12.1.3)
E59440-01
  目次へ移動
目次

前
 
 

11 ADF SwingアプリケーションとJava Web Startの使用方法

この章では、JDeveloperでJava Web StartとともにADF Swingアプリケーションを実行する方法について説明します。Java Web Startは、ADF SwingアプリケーションをWebサーバーにデプロイするためのツールであり、ユーザーはこのWebサーバーからクライアント・マシンにアプリケーションをダウンロードして実行できます。

この章には、次のセクションがあります。

11.1 Java Web Startでの作業について

Java Web Startは、Webサーバー上でのADF Swingアプリケーションの管理を可能にするアプリケーション・デプロイメント・ソフトウェアです。デプロイすると、ユーザーは、Java Web Startを使用してクライアント・マシンにアプリケーションをダウンロードして実行できます。ADF SwingアプリケーションまたはアプレットをWebサーバーにデプロイする前に、JDeveloperおよび統合WebLogic Server内でJava Web Startを使用し、ユーザーのアプリケーション実行をシミュレーションできます。その後、JDeveloperのJava EE Webデプロイ・プロセスを使用して、本番アプリケーション全体をWebサーバーに移動できます。

Java Web Startは、アプリケーション・デプロイメント・テクノロジです。JDeveloperでは、Java Web Startテクノロジの基盤になる、XMLベースのJNLP (Java Network Launching Protocol)定義の作成がサポートされています。JDeveloperでJava Web Startと「Java Web Startファイルの作成」ダイアログを使用すると、ADF Swingアプリケーションおよびアプレットを設定して、それらをWebサーバーで管理しながら、クライアント・マシンにダウンロードして実行できるようにすることができます。

JDeveloperのJava Web Startを使用してADF Swingアプリケーションを起動するには、このWebサイトhttp://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.htmlからJava Web Startソフトウェアをダウンロードしてインストールする必要があります。ADF Swingアプリケーションのユーザーも、それぞれのマシンにソフトウェアをインストールする必要があります。

11.1.1 Java Web Startテクノロジ

アプレットのアプローチがWebを中心にしたJavaアプリケーションのデプロイであるのに対し、Java Web StartではWebブラウザに依存せずにアプリケーションのJARファイルのダウンロードが行われます。Java Web StartではWebブラウザを介してJava Web Start JNLPディスクリプタがダウンロードされた後で、アプリケーション・リソースがダウンロードされます。JNLPディスクリプタによってJava Web Startが実際のダウンロードを起動し、実行します。

関連するテクノロジは次のとおりです。

  • Webサーバー: JNLP対応JSPファイル、クライアント用JARファイル、中間層、およびランタイム・ライブラリが格納されます。

  • アプリケーション・サーバー(オプション): 中間層がクライアントに対してリモートで実行される場合にのみ必要です。たとえば、EJBセッションBeanの場合。

  • Webブラウザ(オプション): Java Web Startを起動するJSPページをダウンロードします。その後、Java Web Startによって、従属リソースがダウンロードされ、アプリケーションまたはアプレットが起動されます。Java Web Startは、次のようなコマンドを使用して、ブラウザを使用せずに独立して実行することもできます。

    javaws http://localhost/myapp/test.jnlp

  • Webブラウザ: オプション。ただし、Java Web Startの起動とダウンロードの開始に便利です。HTMLファイルに、JNLP対応のJSPページへのリンクが含まれている場合に使用されます。ユーザーがリンクをたどると、それによって、背後でJava Web Startが実行されます。

Java Web Startソフトウェアをユーザーのマシンに一度インストールすると、個々のユーザーは、単にWebページ・リンクをクリックすることでADF Swingアプリケーションおよびアプレットを実行できます(適切なファイルが「ADF Swing」ダイアログで生成されます)。アプリケーションが実行されたらWebブラウザは閉じることができ、アプリケーションは引き続き機能します。

アプリケーションがコンピュータにない場合、Java Web Startはアプリケーション・ライブラリのあるWebサーバーから必要なすべてのファイルを自動的にダウンロードします。そして、デスクトップ上のアイコンやブラウザ・リンクからいつでもアプリケーションを再起動できるように、ファイルをクライアント・コンピュータにキャッシュします。Java Web Startは必要に応じて更新を行うので、常に最新バージョンのアプリケーションがユーザーに提示されます。

11.1.2 Java Web Startと統合WebLogic Server

JDeveloperは、統合WebLogic Serverを備えています。これを使用すると、Java Web Startで使用するWebアプリケーション・アーカイブのデプロイおよびダウンロードのプロセスをシミュレーションできます。JDeveloperでは、Java EEのデプロイメント・プロファイルの規則に従って、クライアント・マシンで実行されるコンポーネントのアーカイブ(シンプル・アーカイブ)とWebサーバーにデプロイされるコンポーネントのアーカイブ(Webアプリケーション・アーカイブ)が行われます。

「Java Web Startファイルの作成」ダイアログを完了したら、Antビルド・ファイルctbuild.xmlを実行して、JDeveloperのセットアップを完了し、JARファイルに署名する必要があります。


注意:

統合WebLogic Serverを使用するために、生成されたclient_war.deployプロファイルをデプロイする必要はありません。JDeveloperにはデフォルトのweb.xml定義があり、それによってJDeveloperのmyworkフォルダのpublic_htmlの内容が指定されます。


JARファイルに署名したら、生成された.jspファイルを使用して、JDeveloperでJava Web Startソフトウェアを起動できます。Java Web Startでは、.jnlpファイルで識別されたコンポーネントがダウンロードされます。.jnlpファイル内の別の定義では、ADF Swingをアプリケーションとして実行するのか、セキュアなアプレットとして実行するのかが特定されます。Java Web Startを起動し、ダウンロードを完了したら、Webブラウザを閉じてアプリケーションやアプレットの実行を続けることができます。

11.1.3 Java Web StartとOracle WebLogic Server

Oracle WebLogic Serverをデプロイする準備ができたら、前に生成したctbuild.xmlアーカイブ・ファイルを使用して、ADF Swingアプリケーションで必要とされる各種ランタイム・ライブラリのコンテキスト・ルートを設定する必要があります。これらのライブラリは、アプリケーションの実行に必要であり、HTTPを介してアクセス可能である必要があります。(たとえば、1つのコンテキスト・ルートはbc4jであり、これによってbc4jmt.jarファイルがhttp://mymachine:8888/bc4j/lib/bc4jmt.jarとしてダウンロードできるようになります)。

ADF SwingアプリケーションをOracle WebLogic Serverにデプロイするには、生成されたclient_war.deployファイルを使用してクラスをセットアップします。

11.2 ADFビジネス・コンポーネント・ランタイムのプロパティを定義する方法

ADF Swingフォームを実行してモデル・レイヤーにアクセスする場合、ADFビジネス・コンポーネントのデータ・モデル・プロジェクトに、デプロイメント・シナリオ用のアプリケーション・モジュール接続を指定するランタイム構成(bc4j.xcfg)ファイルが含まれている必要があります。

JDeveloper内でADF Swingアプリケーションを実行する場合、アプリケーションは、デフォルトのローカル構成を使用します。

後で、ADFビジネス・コンポーネント・デプロイメント・シナリオを変更または新しく作成する場合、ランタイム構成を編集し、接続情報を更新できます。


注意:

アプリケーション・モジュール・ランタイム構成を作成しない場合は、データ・モデル・プロジェクトのbc4j.xcfgファイルにより、JDeveloper内でADF Swingフォームを実行可能にするデフォルトの構成が定義されます。デフォルトの構成localは、ビジネス・コンポーネントおよびADF Swingアプリケーションが同じVM内で実行されることを前提としているため、ローカル・モード・デプロイメントとも呼ばれます。


構成を作成するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、データ・モデル・プロジェクトの「アプリケーション・ソース」フォルダの「model」パッケージを開き、アプリケーション・モジュール・ノードをダブルクリックします。

  2. 概要エディタの「構成」ナビゲーション・タブをクリックし、「新規構成オブジェクトの作成」をクリックします。

  3. 「構成の編集」ダイアログで、「アプリケーション・モジュール」タブをクリックし、中間層サーバー・タイプと前に定義した接続を選択します。

    詳細は、「ヘルプ」をクリックしてください。

構成を編集する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、データ・モデル・プロジェクトの「アプリケーション・ソース」フォルダの「model」パッケージを開き、アプリケーション・モジュール・ノードをダブルクリックします。

  2. 概要エディタの「構成」ナビゲーション・タブをクリックし、リストから、編集する構成を選択し、「編集」をクリックします。

  3. 「構成の編集」ダイアログで、「アプリケーション・モジュール」タブをクリックし、中間層サーバー・タイプと前に定義した接続を選択します。

    詳細は、「ヘルプ」をクリックしてください。

  4. 「構成の編集」ダイアログで別の「中間層サーバー・タイプ」オプションを選択し、構成ファイルで指定されているデプロイメント・プラットフォームを変更した場合は、次のようにデータ・モデル・プロジェクトを更新して新規プラットフォーム用のライブラリを追加する必要があります。

    • データ・モデル・プロジェクトのデプロイメント・アーカイブを作成します。

    • 「アプリケーション」ウィンドウで、デプロイメント・アーカイブ・フォルダを開きます。

    • ライブラリを更新するには、CommonアーカイブおよびMiddle Tierアーカイブ上のprojectname.jarに配布」を選択します。


注意:

構成にアクセスするときは、アプリケーション・モジュール用のADFデータ・コントロールを使用しますが、構成情報はbc4j.xcfgファイルに記録されます。このファイルは「アプリケーション」ウィンドウでは非表示になっており、アプリケーション・モジュールを右クリックして「構成」を選択すると表示されます。


ユーザー・インタフェース・プロジェクトで新しい構成を参照する場合、DataBindings.cpxファイルを編集する必要があります。

ADF Swingクライアントでデータ・モデル構成を参照する手順は次のとおりです。

  1. ユーザー・インタフェース・プロジェクト・フォルダでDataBindings.cpxノードを見つけます。

  2. 「DataBindings.cpx」ノードを選択して、「構造ウィンドウ」を表示します。

  3. 「構造」ウィンドウで、dataControlUsagesノードを開いて、AppModuleDataControlノードを選択します。

  4. 「プロパティ」ウィンドウで「その他」セクションを開き、「構成」フィールドのドロップダウン・リストから目的の構成を選択します。

11.3 ランタイム構成情報を設定する方法

ADF Swingアプリケーションを実行する前に、アプリケーションのランタイム構成情報を設定する必要があります。アプリケーションでは、ランタイム構成を決定するために次のファイルが必要です。

ランタイム情報を使用する方法は2つあります。

ケースごとに個別のADFビジネス・コンポーネント構成およびクライアント・データ・モデル定義を作成することが必要になります。

ADF Swingアプリケーション用のランタイム構成情報を設定する手順は次のとおりです。

  1. アプリケーション・モジュール接続およびビジネス・コンポーネントのデプロイメント・シナリオを指定する、ADFビジネス・コンポーネント・ランタイム構成を(bc4j.xcfgファイル内に)作成します。

    詳細は、第11.2項「ADFビジネス・コンポーネント・ランタイムのプロパティを定義する方法」を参照してください。

  2. ADF Swingフォームで使用されるアプリケーション・モジュールおよびビジネス・コンポーネント・ランタイム構成を指定する、ADF Swingデータ・モデル定義を作成します。

    詳細は、第2.6項「クライアント・データ・モデルの定義の作成方法」を参照してください。

  3. ADF Swingウィザードを実行し、ADF Swingフォームまたはデータ・パネルを生成します。

  4. ウィザードの「データ・モデル」ページで、前に作成したクライアント・データ・モデル定義を選択します。

    詳細は、第2.1.1項「ADF Swingデザインタイム・ウィザード」を参照してください。


    注意:

    また、「新規」をクリックして、別のアプリケーション・モジュールおよび選択したランタイム構成に基づいてデータ・モデル定義を作成できます。


11.4 Java Web Start JNLP定義を作成する方法

「Java Web Startファイルの作成」ダイアログを使用してJSPページを作成します。このページは、JNLP定義を動的に生成するためにユーザーが簡単にWebブラウザから実行できます。ユーザーが、JNLPファイルを起動し、クライアント・マシンへのアプリケーションのダウンロードを開始します。


注意:

「Java Web Startファイルの作成」ダイアログを使用する前に、アプリケーションのランタイム構成情報を設定する必要があります。開発中に、デフォルトのlocalモード・デプロイメント構成を使用して、リモート・デプロイメント・シナリオで発生する可能性があるセキュリティの競合を回避します。

詳細は、第11.3項「ランタイム構成情報を設定する方法」を参照してください。


アプリケーションまたはアプレットのJNLP定義を作成するには、次の手順を実行します。

  1. 「アプリケーション」ウィンドウで、JNLP定義を生成するADF Swingユーザー・インタフェース・プロジェクトを右クリックし、「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」を開き、「ADF Swing」を選択し、「ADF Swing用Java Web Start (JNLP)ファイル」を選択して「OK」をクリックします。

  3. 「Java Web Startファイルの作成」ダイアログで、JNLPファイルのプロパティを指定し、「OK」をクリックします。


注意:

ビジネス・サービスとしてEJBを使用してADF Swingアプリケーションを実行する予定である場合は、JNLP定義内のweblogic.jarの参照を、かわりにwlclient.jarに置き換えます。ファイル内のJNLP定義を、次のように編集し、この置換を行います。ADF Swingアプリケーションを、ダウンロードしたweblogic.jarファイルとともに実行しようとしている場合は、oracle.jbo.JboException: JBO-29000: STRINGMANAGER: Message file: 'oracle.jbo.CSMessageBundle'が見つかりません。の例外が表示されることがあります。


ADF Swingユーザー・インタフェース・プロジェクトには、次のものが含まれるようになります。

Oracle WebLogic Serverにアプリケーションをデプロイする際に、セキュリティを追加するためにJARファイルの認証を必要とする場合は、コマンド・プロンプト・ウィンドウを開いて、次のように証明書を作成します。

keytool -export -alias yourkeyname -file mykey.cert

ここで、yourkeynameは、JARの署名に使用する鍵の名前です。

鍵および証明書管理ツールの詳細は、http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.htmlを参照してください。

これで、ADF Swingアプリケーションを実行する前に、Webアーカイブを作成する準備ができました。詳細は、Oracle JDeveloperでのアプリケーションの開発のJava Web StartのADF Swing Webアーカイブの作成方法に関する項を参照してください。

11.5 JNLP定義の作成時の処理内容

Java Web Startを介したWebサーバーからのファイルのダウンロードをサポートするために、「Java Web Startファイルの作成」ダイアログで次のものが生成されます。

さらに、.jspファイルを介して、JNLP定義が動的に生成されます。

11.6 JDeveloperでJava Web StartとともにADF Swingアプリケーションを実行する方法

ADF Swingアプリケーションまたはアプレットを本番Webサーバーにデプロイする前に、JDeveloperの統合WebLogic Serverを使用して、Java Web Startソフトウェアを使用し、ユーザーのアプリケーション実行をシミュレーションできます。


注意:

Java Web Startを使用して実行している間は、JDeveloper内でADF Swingアプリケーションをデバッグできません。


自身のアプリケーション・ライブラリおよびJARファイルを使用して統合WebLogic Serverを設定するには、デプロイメント・プロファイルを作成する必要があります。Java Web Startは、ダウンロードするファイルとアプリケーションの起動方法を識別するために生成したJNLPファイルに依存します。詳細は、第11.4項「Java Web Start JNLP定義を作成する方法」を参照してください。

作業を始める前に、次のようにします。

  1. 選択したビジネス・コンポーネント・デプロイメント・シナリオ用のランタイム構成情報を設定します。

    詳細は、第11.3項「ランタイム構成情報を設定する方法」を参照してください。


    注意:

    ローカルモード・デプロイメントを使用してビジネス・コンポーネントのテストのみ行う場合は、デフォルトのlocalランタイム構成を選択します。このオプションでは、同じVMを使用してADFビジネス・コンポーネントとADF Swingライブラリを実行します。


  2. ADF Swing Java Web Startウィザードによって生成されたctbuild.xml Ant Makefileを使用してアプリケーション・コンポーネントをアーカイブします。

    詳細は、Oracle JDeveloperでのアプリケーションの開発のJava Web StartのADF Swing Webアーカイブの作成方法に関する項を参照してください。


    注意:

    ビルド・ファイルによって、プロジェクトのpublic_htmlディレクトリに、client.jarおよびmymt.jarという2つの署名付きアーカイブ・ファイルが生成されます。


Java Web Startを使用してADF Swingアプリケーションを実行する手順は次のとおりです。

  1. マシンにJava Web Startソフトウェアをインストールします。

  2. ユーザー・インタフェース・プロジェクトで、local.htmlファイルを右クリックし、local.htmlの実行を選択して、このページでWebブラウザを起動します。

  3. ADF Swingプロジェクトの起動リンクをクリックし、Java Web Startソフトウェアを使用してアプリケーションを実行します。

  4. Java Web Startによるダウンロードが完了し、アプリケーションが起動された後、ブラウザを閉じます。Java Web Startを使用して、アプリケーションとセキュアなアプレットの両方を実行できます。

    次にアプリケーションを実行すると、Java Web Startによって前のダウンロード以降に変更されたソース・ファイルまたはライブラリのみダウンロードされます。


注意:

ADF Swingアプリケーションの実行を試み、weblogic.jarを使用してOracle WebLogic ServerデプロイメントのJNLP定義を作成した場合、oracle.jbo.JboException: JBO-29000: STRINGMANAGER: Message file: 'oracle.jbo.CSMessageBundle' not found. exceptionと表示されることがあります。この例外は、ビジネス・サービスとしてEJBを使用してOracle WebLogic Server上でJava Web Startを実行する場合に発生します。JNLP定義内のweblogic.jarの参照を、かわりにwlclient.jarに置き換える必要があります。JNLP定義を編集して、この置換を行えます。