プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle JDeveloperによるアプリケーションの開発
12c (12.1.3)
E57556-02
  目次へ移動
目次

前
 
次
 

21 アプリケーションのデプロイ

この章では、JDeveloperのアプリケーションをJDeveloperの統合アプリケーション・サーバー、またはOracle WebLogic Serverやサード・パーティのサーバーのようなターゲット・アプリケーション・サーバーにデプロイする方法を説明します。

この章の内容は次のとおりです。

21.1 アプリケーションのデプロイについて

デプロイは、アプリケーション・ファイルをアーカイブ・ファイルとしてパッケージ化し、ターゲット・アプリケーション・サーバーに転送するプロセスです。JDeveloperを使用して、JavaまたはJava EEアプリケーションをアプリケーション・サーバー(Oracle WebLogic ServerやIBM WebSphereなど)に直接デプロイすることも、または間接的に、つまりアーカイブ・ファイルをデプロイメント・ターゲットにしてまずそれにデプロイし、そのアーカイブ・ファイルを後からターゲット・サーバーにインストールすることもできます。

アプリケーション開発では、JDeveloperを使用して、統合アプリケーション・サーバーでアプリケーションを実行できます。

Oracle® Fusion Middleware拡張機能を使用する場合、製品に固有のデプロイ情報の詳細は、適切な開発者向けガイドを参照してください。たとえば、ADF Fusion Webアプリケーションをデプロイする場合、Oracle Application Development FrameworkによるFusion Webアプリケーションの開発の「Fusion Webアプリケーションのデプロイ」を参照してください。

アプリケーションは、次の方法でデプロイできます。

  • アプリケーション・サーバー接続を介して直接アプリケーション・サーバーにデプロイ。

  • アーカイブ・ファイルにデプロイ。デプロイメント・ターゲットとしてアーカイブ・ファイルを選択することによって、間接的にアプリケーションをデプロイできます。アーカイブ・ファイルは、ターゲットJava EEアプリケーション・サーバーに後でインストールできます。

  • JDeveloper統合アプリケーション・サーバーを使用したテスト環境へのデプロイ。Java EEランタイム・サービスで、JDeveloperアプリケーションとプロジェクトをJava EEアプリケーションおよびモジュールとしてJava EEコンテナ内で実行およびテストするために使用します。


注意:

通常、JDeveloperは開発やテストの目的でアプリケーションをデプロイする場合に使用します。アプリケーションを本番用にデプロイする場合は、Enterprise Managerまたはスクリプトを使用して、本番レベルのアプリケーション・サーバーにデプロイできます。

後期テスト環境や本番環境へのデプロイの詳細は、製品固有のデプロイ情報に関する適切な開発者ガイドを参照してください。


図21-1に、デプロイ処理全体を説明したフロー・ダイアグラムを示します。ターゲット・アプリケーション・サーバーをデプロイする準備に関してはこのガイドに記載されていません。サード・パーティ・アプリケーション・サーバーに関する適切なドキュメントを参照してください。

図21-1 デプロイの概要フロー・ダイアグラム

この図は周囲のテキストで説明しています

JavaおよびJava EEアプリケーションは、標準化されたモジュール型コンポーネントに基づいており、次のアプリケーション・サーバーにデプロイできます。

  • Oracle WebLogic Server

    Oracle WebLogic Serverは、そうしたモジュール用のサービス一式を備えており、細かいアプリケーション動作の多くを自動的に処理するため、プログラミングは必要ありません。

  • Oracle GlassFish Server

    Oracle GlassFish Serverにデプロイできます

  • オラクル社以外のベンダーから提供される、次のサード・パーティ・アプリケーション・サーバー

    • Apache Tomcat

    • IBM WebSphere

    • JBoss

    • GlassFish Server Open Source Edition

    JDeveloperと互換性のあるサーバーのバージョンについては、JDeveloperの認定情報(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html)を参照してください。

アプリケーションをOracle Java Cloud Serviceにデプロイすることもできます。詳細は、第21.1.3項「Oracle Java Cloud Serviceにデプロイするためのアプリケーションの開発」を参照してください。

JDeveloperを使用して、次の作業を実行できます。

  • 統合アプリケーション・サーバーでのアプリケーションの実行

    統合WebLogic Serverを使用してアプリケーションを実行およびデバッグし、その後スタンドアロンのWebLogic Serverまたはサード・パーティのサーバーにデプロイできます。

  • スタンドアロン・アプリケーション・サーバーへの直接デプロイ

    アプリケーションをスタンドアロン・アプリケーション・サーバーに直接デプロイするには、サーバーへの接続を作成し、そのサーバーの名前をデプロイメント・ターゲットとして選択します。

  • アーカイブ・ファイルへのデプロイ

    デプロイメント・ターゲットとしてEARファイルを選択することによって、間接的にアプリケーションをデプロイすることができます。アーカイブ・ファイルは、ターゲット・アプリケーション・サーバーに後でインストールできます。

デプロイは反復プロセスの場合があります。この場合は、アプリケーションに対する調整やデプロイ済アプリケーションの問題の修正のために、テスト・デプロイ環境、アーカイブ・ファイルまたはアプリケーション・サーバーへの再デプロイが必要になります。JDeveloperからアプリケーションをデプロイするプロセスには、多くのプロセスが伴います。

21.1.1 統合アプリケーション・サーバーへのアプリケーションの開発

JDeveloperには統合WebLogic Serverと呼ばれる統合アプリケーション・サーバーがバンドルされており、IntegratedWebLogicServerと呼ばれるデフォルト接続が定義されています。統合アプリケーション・サーバーは、反復的なコード開発サイクルに最適化されたデプロイメントを使用するサービスのためのJava EEランタイムです。JDeveloperアプリケーションおよびプロジェクトを、Java EEコンテナ内のJava EEアプリケーションおよびモジュールとして実行しテストするために、あるいはブラウザやテスターの起動など実行後のサービスのために使用できます。統合アプリケーション・サーバーへの接続は、JDeveloperにデフォルトで用意されているので、デプロイメント・プロファイルやデプロイメント・ディスクリプタは必要ありません。ほとんどの場合、統合アプリケーション・サーバーへのデプロイは1クリックで実行できます。たとえば、「アプリケーション」ウィンドウでWebサービスの右クリック・メニューから「実行」を選択したり、JDeveloperのメイン・メニューから「実行」をクリックします。

アプリケーションのデバッグに使用する機能については、第12章「Javaプロジェクトの実行とデバッグ」を参照してください。

21.1.2 スタンドアロン・アプリケーション・サーバーにデプロイするアプリケーションの開発

通常、スタンドアロン・サーバーにデプロイするためには、統合アプリケーション・サーバーでアプリケーションを実行してテストと開発を行います。その上で開発モードのスタンドアロンOracle WebLogic Server、またはサード・パーティ・アプリケーション・サーバーにデプロイして、アプリケーションをさらにテストし本番環境を細かくシミュレートします。

一般にJDeveloperでは、次の作業を行って、デプロイに向けてアプリケーションまたはプロジェクトを準備します。

アプリケーション・サーバーがすでにインストールされている必要があります。Oracle WebLogic Serverの場合は、Oracle 11g InstallerまたはOracle Fusion Middleware 11g Application Developer Installerを使用してインストールできます。他のアプリケーション・サーバーについては、対象アプリケーション・サーバーのドキュメントの説明に従ってサーバーを取得し、インストールしてください。

データソースへの接続を必要とするアプリケーションのためにグローバルJDBCデータソースを作成して、アプリケーション・サーバーを準備します。

アプリケーションとアプリケーション・サーバーの準備が完了したら、次の作業を行うことができます。

  • JDeveloperを使用して次の操作を行います。

    • デプロイメント・プロファイルとアプリケーション・サーバー接続を使用して、アプリケーション・サーバーに直接デプロイします。

    • デプロイメント・プロファイルを使用して、EARファイルにデプロイします。

  • Enterprise Manager、スクリプト、またはアプリケーション・サーバーの管理ツールを使用して、JDeveloperで作成したEARファイルをデプロイします。詳細は、『Oracle ADFアプリケーションの管理』を参照してください。

21.1.3 Oracle Java Cloud Serviceにデプロイするためのアプリケーションの開発

Oracle Java Cloud Serviceにデプロイするためのアプリケーションの開発は、アプリケーション・サーバーにデプロイするためのアプリケーションの開発と類似しています。

次の操作が必要です。

  • Oracle Java Cloud Serviceで実行可能なコードでアプリケーションが記述されていることを確認。

  • Oracle Java Cloud Serviceインスタンスへの接続を作成。

詳細は、次のOracle Java Cloud Serviceのアプリケーションの開発を参照してください。

http://docs.oracle.com/cloud/CSJSU/dev_app.htm

21.1.4 アーカイブ形式の理解

Java EEアーカイブ・ファイルには、Java EEモジュールまたはJava EEアプリケーションが含まれています。モジュールは、デプロイ用に構成された、一般的なコンポーネント・タイプの1つ以上のJDeveloperプロジェクトで構成されます。アプリケーションは、1つ以上のモジュールで構成されます。また、アーカイブにはデプロイメント・ディスクリプタも含まれます。デプロイメント・ディスクリプタは、モジュールまたはアプリケーションの構成をサーバーに対して指定するXMLファイルであり、サーバーのタイプに固有です。デプロイメント・ディスクリプタは、サーバー固有の場合もJava EEサーバー汎用の場合もあります。

JAR、EJB JARおよびWARファイルには、それぞれ1つ以上のコンポーネントで構成されるモジュールが含まれます。エンタープライズ・アーカイブ(EARファイル)には、1つ以上のモジュールで構成されるアプリケーションが含まれます。

Webアプリケーション(サーブレット、JSP、JSFおよびADF Faces)またはEJBアプリケーションを作成し、アプリケーション・サーバー接続を介してデプロイする場合、JDeveloperによって、そのアプリケーションがWARまたはEJB JARとしてパッケージ化されます。このWARまたはEJB JARは、オプションでEARファイルにラップできます。アプリケーションが異なるタイプのコンポーネントで構成されている場合、コンポーネントは複数のモジュールにパッケージ化されるため、単独でデプロイするか、EARファイルとしてアセンブルできます。

21.1.5 デプロイメント・プロファイルの理解

デプロイメント・プロファイルは、プロジェクトまたはアプリケーションのデプロイを管理するアプリケーションまたはプロジェクトのプロパティです。デプロイメント・プロファイルでは、ソース・ファイル、デプロイメント・ディスクリプタ、およびパッケージ化される他の補助ファイル、作成されるアーカイブ・ファイルのタイプと名前、依存に関する情報、プラットフォーム固有の説明などの情報を指定します。

21.1.6 デプロイメント・ディスクリプタの理解

デプロイメント・ディスクリプタによって、デプロイ済アプリケーションの内容および構成が定義されます。アプリケーションに必要なデプロイメント・ディスクリプタ・ファイルは、アプリケーションに使用されているテクノロジおよびターゲット・アプリケーション・サーバーによって異なります。

21.1.7 デプロイメント・プランを使用したデプロイメントの構成

デプロイメント・プランを使用すると、web.xmlweblogic.xmlapplication.xmlおよびweblogic-application.xmlのアプリケーション・デプロイメント・ディスクリプタで構成を調整できるため、アプリケーションのデプロイ方法を制御できます。

デプロイメント・プランは、plan.xmlというディスクリプタを使用して制御されます。plan.xmlを使用してカスタマイズできるのは、WebLogicのデプロイメント・ディスクリプタ構成のみです。デプロイメントをカスタマイズする主な使用例としては、ベースのWebLogicディスクリプタを変更しないまま、デプロイ先のサーバーごとにWebLogic固有のアプリケーション構成を変更する場合があります。詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』のデプロイメント・プランに関する項を参照してください。

21.1.8 Java Editionからのデプロイ

Java EditionのJDeveloperを使用している場合は、コアJavaとXMLの機能しか含まれていないため、実行できるデプロイメントが次の操作に限られます。

  • 手動でサーバーにデプロイできる、シンプルJARアーカイブの作成。

    JDeveloperのJava Editionには、JARファイルにアプリケーションをパッケージ化する機能があります。Java Editionのデプロイメント・ダイアログでは、JAR名の指定、ファイルのグループ化、または他のデプロイメント・プロファイルへの依存性などの標準JARオプションの限定された構成のみが可能です。さらに構成が必要な任意のアプリケーションでは、JDeveloperのStudio Editionからデプロイする必要があります。

  • 拡張機能を開発する一環としてのデプロイメント・プロファイルの作成。JDeveloper拡張機能の作成の詳細は、『Oracle JDeveloper拡張機能の開発』を参照してください。

21.2 統合アプリケーション・サーバーでのJava EEアプリケーションの実行

JDeveloperは、アプリケーションのテストと開発に使用できる統合アプリケーション・サーバーである統合WebLogic Serverとともにインストールされます。開発目的では、統合アプリケーション・サーバーで十分なことがほとんどです。アプリケーションをテストする準備が整ったら、実行ターゲットを選び、メイン・メニューから「実行」コマンドを選択します。


注意:

プロジェクト、ファイル、Webサービスを実行またはデバッグして統合アプリケーション・サーバーを初めて起動すると、デフォルト・ドメイン上の管理者IDのパスワードを入力するダイアログが表示されます。「OK」をクリックすると、デフォルトのドメインが作成されます。この手順は1回のみ実行する必要があります。

アプリケーション・ターゲットを実行すると、プロジェクトとアプリケーションのアーティファクトに基づいて、デプロイするJava EEモジュールのタイプが自動的に検出されます。次に、アプリケーションを統合アプリケーション・サーバーにデプロイするためのメモリー内デプロイメント・プロファイルが作成されます。プロジェクトとアプリケーションのファイルは、展開EARディレクトリ構造にコピーされます。このファイル構造は、アプリケーションをEARファイルにデプロイする場合のEARファイル構造を忠実に模したものです。続いて、標準のデプロイ手順に従って、展開EARファイルが統合アプリケーション・サーバーに登録およびデプロイされます。展開EAR方式を取ることで、実際のEARファイルのパッケージ化とパッケージ化解除によって生じるパフォーマンス・オーバーヘッドが軽減されます。

要約すれば、実行ターゲットを選択して統合アプリケーション・サーバーでアプリケーションを実行すると、JDeveloperによって次のことが行われます。

  • プロジェクトとアプリケーションのアーティファクトに基づいて、デプロイするJava EEモジュールのタイプを検出

  • メモリーにデフォルトの(つまりカスタマイズされていない)デプロイメント・プロファイルを作成

  • プロジェクトとアプリケーションのファイルを、アプリケーションの展開EARファイルをシミュレートしたファイル構造を持つ作業ディレクトリにコピー

  • 模擬EARを統合アプリケーション・サーバーに登録およびデプロイするためのデプロイ・タスクを実行

  • アイデンティティ、資格証明およびポリシーを自動的に移行。スタンドアロンのOracle WebLogic Serverインスタンスにアプリケーションをデプロイする予定がある場合は、このセキュリティ情報の移行が必要になります。


注意:

統合アプリケーション・サーバーでアプリケーションを実行するときには、アプリケーション用に作成されたデプロイメント・プロファイルは無視されます。

アプリケーションは、統合アプリケーション・サーバーの基本ドメインで実行されます。基本ドメインは、スタンドアロンのOracle WebLogic Serverインスタンスの基本ドメインと同じ構成になっています。つまり、この基本ドメインは、Oracle® Fusion Middleware構成ウィザードを使用して、スタンドアロンのOracle WebLogic Serverインスタンスにデフォルト・オプションで基本ドメインを作成した場合と同一です。

JDeveloperでは、JDeveloperテクノロジ拡張に基づいて、この基本ドメインが必要なドメイン拡張テンプレートで拡張されます。たとえば、JDeveloper Studioをインストールした場合、統合アプリケーション・サーバー環境がADFランタイム・テンプレート(JRF Fusion Middlewareランタイム・ドメイン拡張テンプレート)で自動的に構成されます。

「アプリケーション・サーバー・プロパティ」ダイアログを使用して、アプリケーションが使用するポートを編集できます。ただし、1024より小さいポート番号は指定できません。この設定は、「アプリケーション・サーバー・プロパティ」ダイアログの「構成」ページにあります。アプリケーション・サーバー・ナビゲータを開き、IntegratedWebLogicServerを右クリックして「プロパティ」を選択し、「構成」タブをクリックして、「優先ポート」フィールドに、希望するポート番号(1024以上)を入力します。

デフォルト・ドメインを使用するのみでなく、アプリケーションの実行とテストに使用できる追加のデフォルト・ドメインを、統合アプリケーション・サーバーに明示的に作成できます。「アプリケーション・サーバー」ウィンドウを開き、IntegratedWebLogicServerを右クリックして、「デフォルト・ドメインの作成」を選択します。

21.2.1 統合アプリケーション・サーバーの「ログ」ウィンドウの理解

統合アプリケーション・サーバーでアプリケーションを実行またはデバッグするときに生成される出力メッセージは、「実行中: IntegratedWebLogicServer」または「デバッグ中: IntegratedWebLogicServer」というタイトルのログ・ウィンドウに表示されます。

統合WebLogic Serverの「ログ」ウィンドウには、次の内容が表示されます。

  • サーバーと、そのサーバーで実行されているアプリケーションに関するステータス・ログ・メッセージ

  • 統合アプリケーション・サーバー・インスタンスのコンソールからの出力(色付き)

  • アプリケーションを統合アプリケーション・サーバーにデプロイするとき生成されるメッセージ

  • Java EEアーカイブ(EAR、WAR、EJB JAR)の作成中に記録されるメッセージ。ログ・ウィンドウのリンクをクリックすると、生成されたアーカイブを参照できます。

生成されたログ・ファイルは、jdeveloper-user-home/DefaultDomain/server/DefaultServer/logsにあります。

診断ログのパラメータは、logging.xmlファイルで構成できます。一時ロガーは、サーバーがデバッグ・モードで実行されている間にのみ追加できます。

weblogic.xmljsp-descriptor要素およびlogging要素で-verbose要素を使用すれば、ログ・ファイルに送信する情報のレベルを制御できます。詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』で、weblogic.xmlのディスクリプタ要素に関する情報を参照してください。

21.2.2 統合アプリケーション・サーバーへのデプロイを決定する規則

統合アプリケーション・サーバーへのデプロイでは、デフォルト・マッピングのプロジェクト・メタデータに依存するデフォルトのデプロイメント・プロファイルが使用されます。プロファイルのデフォルト要素はプロジェクトの依存性によって決まり、依存性には次のような規則があります。

  1. プロジェクトAがプロジェクトBのビルド出力に依存する場合、プロジェクトBのビルド出力はプロジェクトAにマージされます。プロジェクトAがWebアプリケーションの場合は、プロジェクトAとプロジェクトBのビルド出力がどちらも、生成されるWARのWEB-INF/classesにコピーされることになります。

    マージされるということは、特定のURIのコピーが1つしか存在できないことを意味します。WEB-INF/classesに1つしか存在しないからです。

  2. プロジェクトAがプロジェクトBのデプロイメント・プロファイル、たとえばJARプロファイルに依存する場合、そのデプロイメント・プロファイルは最終的に、生成されるWARのWEB-INF/libに含まれます。

  3. WEB-INF/web.xmlを含むプロジェクトはWebプロジェクトとして認識され、デフォルトのWARプロファイルが作成されます。

  4. 少なくとも1つのセッションEJB Beanを含むプロジェクトはEJBプロジェクトとして認識され、デフォルトのEJB JARプロファイルが作成されます。

  5. Webプロジェクト用に「デフォルトでデプロイ済」とマークされるすべてのライブラリは、Webアプリケーション・ライブラリとして(WARのWEB-INF/libに)デプロイされます。

  6. EJBプロジェクト用に「デフォルトでデプロイ済」とマークされるすべてのライブラリは、アプリケーション・ライブラリとして(EARのlibに)デプロイされます。

  7. EJBプロジェクトAがプロジェクトBのビルド出力に依存する場合、プロジェクトBのビルド出力(classesなど)はプロジェクトAのビルド出力にマージされ、EJB JARのルート・ディレクトリにデプロイされます。

21.2.3 統合アプリケーション・サーバーの使用

JDeveloperおよびご使用のコンピュータ・システムとインスタンスとの相互作用は、統合アプリケーション・サーバーの定義によって制御されます。

JDeveloperには統合WebLogic Serverと呼ばれる統合アプリケーション・サーバーがバンドルされており、IntegratedWebLogicServerと呼ばれるデフォルト・インスタンスが定義されています。すべてのアプリケーションは、デフォルトでIntegratedWebLogicServerにバインドされています。

アプリケーションがバインドされる統合アプリケーション・サーバーは、そのプロパティを変更できます。


注意:

統合アプリケーション・サーバーとして使用されるWebLogic Serverドメインは、JDeveloperプロセスと同じホスト上に配置される必要があります。

アプリケーションがバインドされる統合アプリケーション・サーバーのプロパティを変更するには、次のようにします。

  1. 「アプリケーション」ウィンドウでプロジェクトを選択します。

  2. 「アプリケーション」→「アプリケーション・プロパティ」を選択します。

  3. 左側のパネルから「実行を選択します。

  4. 「アプリケーションのサーバー・インスタンスへのバインド」で既存の統合アプリケーション・サーバーを選択するか、「アプリケーション・サーバー・プロパティ」をクリックして「アプリケーション・サーバー・プロパティ」ダイアログを開き、統合アプリケーション・サーバーのプロパティを変更します。

  5. 起動やシャットダウンのオプションなど、統合アプリケーション・サーバーのその他のオプションを定義します。詳細は、[F1]を押すか、ダイアログ内で「ヘルプ」をクリックしてください。

統合アプリケーション・サーバーの新規インスタンスを作成できます。

21.2.3.1 新しい統合アプリケーション・サーバー接続の作成方法

統合アプリケーション・サーバー接続を定義するには、次のようにします。

  1. 「アプリケーション・サーバー」ウィンドウで、「アプリケーション・サーバー」を右クリックして、「新規アプリケーション・サーバー」を選択します。「アプリケーション・サーバー接続の作成」ウィザードが表示されます。詳細は、[F1]を押すか、ウィザードで「ヘルプ」をクリックしてください。

  2. 「使用方法」ページで「統合サーバー」を選択します。サーバーをJDeveloper内から管理する場合は、「名前とドメイン」ページで「JDeveloperでこのサーバー・インスタンスのライフサイクルを管理します」を選択し、「ドメイン」「サーバー・インスタンス」のディレクトリを指定します。

  3. ウィザードを完了します。

21.2.3.2 統合アプリケーション・サーバーでの実行とデバッグの方法

デフォルトでは、EJB、サーブレット、HTML、Webサービス、またはJSPプロジェクトを実行またはデバッグするとき統合アプリケーション・サーバーが自動的に起動します。あるいは、「実行」メニューから「サーバー・インスタンスの起動」または「サーバー・インスタンスのデバッグ」をクリックして統合アプリケーション・サーバーを起動することもできます。

起動した統合アプリケーション・サーバーは、Java EEアプリケーションの実行を停止しても自動的には停止しません。したがって、JSPやサーブレットなどのオブジェクトを「アプリケーション」ウィンドウで選択して、「実行」メニューからオプションを選択できます。

ワーキング・セットを実行またはデバッグできます。ワーキング・セットとはファイルのグループであり、「実行」メニューの「現在のワーキング・セットを使用(Java EEのみ)」オプションを選択し、名前付きフィルタをプロジェクトに適用することによって作成されます。

ワーキング・セットを有効にした場合、ソース・エディタのポップアップ・メニューまたは「アプリケーション」ウィンドウのノードから、「実行」または「デバッグ」を選択した際に、これが実行またはデバッグされる現在のワーキング・セットとなります。

一度に実行できる統合アプリケーション・サーバーは1つのみです。したがって、サーバーの別のインスタンスを起動しようとすると、前のインスタンスがシャットダウンされ、「アプリケーション」ウィンドウで選択したアイコンの要求タスクを実行するために、インスタンスが再起動されます。統合アプリケーション・サーバーの起動後は、複数のアプリケーションを相互に独立して実行できます。アプリケーションの実行中にそのアプリケーションを再実行すると、最新バージョンのアプリケーションが再デプロイされます。

統合アプリケーション・サーバーで実行するアプリケーションは、サーバー・インスタンスにバインドされている必要があります。JDeveloperにはWebLogicサーバー・ドメインが付属しており、DefaultServerという名前のデフォルト・サーバー・インスタンスが定義されています。この統合アプリケーション・サーバーに対して定義される一意の統合アプリケーション・サーバー接続はIntegratedWebLogicServerと呼ばれ、システム・ディレクトリ$SYSTEM_ROOT/DefaultDomainとして定義されるドメイン・ホームを持っています。すべてのアプリケーションは、デフォルトでIntegratedWebLogicServerにバインドされています。

21.2.3.3 デフォルト・ドメインの使用

統合アプリケーション・サーバーのデフォルト・ドメインを明示的に作成していない場合には、アプリケーションを実行またはデバッグしてサーバーを起動するとき、デフォルト設定で自動的に起動します。

あるいは、「アプリケーション・サーバー」ウィンドウで明示的にデフォルト・ドメインを作成することもできます。

必要な場合は、作成しなおして新しい値を使用するように、既存のデフォルト・ドメインを削除できます。

統合アプリケーション・サーバーのデフォルト・ドメインを明示的に作成するには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 統合アプリケーション・サーバー接続「IntegratedWebLogicServer」を右クリックし、「デフォルト・ドメインの作成」を選択します。「デフォルト・ドメインの構成」ダイアログが開いたら、デフォルトをそのまま使用するか、別のリスニング・アドレスを選択するなど、明示的に別の値を設定します。詳細は、「デフォルト・ドメインの構成」ダイアログで「ヘルプ」をクリックするか、[F1]を押してください。

JDeveloperに拡張機能をインストールする際には、統合アプリケーション・サーバーのデフォルト・ドメインの更新が必要になる場合があります。

統合アプリケーション・サーバーのデフォルト・ドメインを更新するには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 統合アプリケーション・サーバー接続「IntegratedWebLogicServer」を右クリックし、「デフォルト・ドメインの更新」を選択します。

デフォルト・ドメインがすでに作成されており、特定の設定を使用する必要がある場合には、既存のデフォルト・ドメインを削除して作成しなおすことができます。

統合アプリケーション・サーバーのデフォルト・ドメインを削除するには、次のようにします。

  • JDeveloperを起動していないときに、ファイル・システムでJDeveloperのシステム・フォルダを探し、削除します。JDeveloperを再起動すると、統合アプリケーション・サーバーの新しいデフォルト・ドメインを作成できるようになります。

サーバーの起動後に、「ウィンドウ」メニューから「プロセス」を選択すると、統合アプリケーション・サーバーのプロセスが表示されます。


注意:

実行モードのサーバーでは同時に複数のアプリケーションを実行できますが、デバッグ・モードで一度にデバッグできるアプリケーションは1つのみです。JDeveloperを非デバッグの編集モードに戻すには、統合アプリケーション・サーバーを停止する必要があります。

21.2.3.4 統合アプリケーション・サーバーでのアプリケーションの1クリック実行

アプリケーションを統合アプリケーション・サーバーで実行して、テストできます。ブレークポイントを設定し、統合アプリケーション・サーバーでデバッグ・モードでアプリケーションを実行することもできます。実行とデバッグの詳細は、第12章「Javaプロジェクトの実行とデバッグ」を参照してください。

統合アプリケーション・サーバーでアプリケーションを実行するには、次のようにします。

  1. 「アプリケーション」ウィンドウで実行ターゲット、たとえばプロジェクト、Webサービス、バインドなしタスク・フロー、JSFページなどを選択します。

  2. 実行ターゲットを右クリックして、「実行」または「デバッグ」を選択します。あるいは、メイン・メニューから「実行」または「デバッグ」を選択します。

    アプリケーションを実行またはデバッグして統合アプリケーション・サーバーを初めて起動すると、デフォルト・ドメイン上のデフォルト・ユーザーweblogicのパスワードを入力するダイアログが表示されます。「OK」をクリックすると、デフォルトのドメインが作成されます。この手順は1回のみ実行する必要があります。

アプリケーション・レベルのデータソースとグローバルなデータソース

統合アプリケーション・サーバーにデプロイする場合は、アプリケーション・レベルのデータソースまたはグローバル・データソースを使用できます。

統合アプリケーション・サーバーへの1クリックによるデプロイの場合、JDeveloperでは、アプリケーション・リソース名を識別するために、Webアプリケーションweb.xmlまたはEJBアプリケーションejb-jar.xmlに必要な<resource-ref>エントリが含まれていることが確認されます。名前の形式はjdbc/connection-nameDSで、connection-nameはアプリケーション・リソースの名前です。

アプリケーションでは、java:comp/env/jdbc/connection-nameDSのアプリケーション固有のリソースJNDIネームスペースを使用してこのデータソースを参照します。アプリケーションでこのリソースを検出できるのは、web.xmljdbc/connection-nameDS<resource-ref>エントリが含まれているためです。

統合WebLogic Serverへの1クリックによるデプロイでアプリケーション・レベルのデータソースを使用するには、「アプリケーション・プロパティ」ダイアログ(「アプリケーション」メニューから選択可能)の「WebLogic」ページで「JDeveloperでアプリケーションを実行する際にJDBC接続を自動生成」を選択します。これにより、次の処理が実行されます。

  • アプリケーションのEARファイルの/META-INFディレクトリに、connection-name-jdbc.xmlというファイルが生成されます。

  • このJDBCモジュールを参照するMETA-INFのweblogic-application.xmlファイルに、対応する<module>エントリが作成されます。

アプリケーションで、アプリケーション・リソースのデータベース接続が複数使用されている場合は、データベース接続ごとにconnection-name-jdbc.xmlファイルが作成され、weblogic-application.xmlファイルの<module>エントリ数は同じになります。

統合WebLogic Serverへの1クリックによるデプロイでグローバル・データソースを使用するには、「アプリケーション・プロパティ」ダイアログ(「アプリケーション」メニューから選択可能)の「WebLogic」ページで「JDeveloperでアプリケーションを実行する際にJDBC接続を自動生成」の選択を解除し、次のようにします。

  1. 統合WebLogic Server管理コンソールに接続します。第21.2.3.9項「統合WebLogic Server管理コンソールへのログイン方法」を参照してください。

  2. Oracle WebLogic Serverで作成するときと類似の方法で、グローバル・データ・ソースを作成します。第21.3.7.4項「Oracle WebLogic ServerでのJDBCデータ・ソースの設定」を参照してください。

21.2.3.5 統合アプリケーション・サーバーの起動方法

デフォルトでは、EJB、サーブレット、またはJSPプロジェクトを実行またはデバッグするとき統合アプリケーション・サーバーが自動的に起動します。したがって、JSPやサーブレットなどのオブジェクトを「アプリケーション」ウィンドウで選択して、「実行」メニューからオプションを選択できます。


注意:

プロジェクト、ファイル、Webサービスを実行またはデバッグして統合アプリケーション・サーバーを初めて起動すると、デフォルト・ドメイン上の管理者IDのパスワードを入力するダイアログが表示されます。「OK」をクリックすると、デフォルトのドメインが作成されます。この手順は1回のみ実行する必要があります。

一度に実行できる統合アプリケーション・サーバーは1つのみです。したがって、サーバーの別のインスタンスを起動しようとすると、前のインスタンスがシャットダウンされ、「アプリケーション」ウィンドウで選択したアイコンの要求タスクを実行するために、インスタンスが再起動されます。

サーバーの起動後に、「プロセス」ウィンドウを開くと、統合アプリケーション・サーバーのプロセスが表示されます。「プロセス」ウィンドウは、メイン・メニューから「ウィンドウ」→「プロセス」を選択すると開きます。

統合アプリケーション・サーバーを起動するには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 統合WebLogic Server接続を右クリックし、「サーバー・インスタンスの起動」を選択します。

あるいは、メイン・メニューから「実行」→「サーバー・インスタンスの起動」を選択します。

デバッグ・モードで統合アプリケーション・サーバーを起動するには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 統合WebLogic Server接続を右クリックし、「サーバー・インスタンスのデバッグ」を選択します。

あるいは、メイン・メニューから「実行」→「サーバー・インスタンスのデバッグ」を選択します。

21.2.3.6 実行中のデプロイメントの取消し方法

統合アプリケーション・サーバーで大きいアプリケーションを実行している場合、デプロイが完了する前に取り消すことができます。

実行中のデプロイメントを取り消すには、次のようにします。

  • 「ログ」ウィンドウ「終了」ボタンをクリックし、取り消すプロファイルまたはアプリケーションを選択します。

21.2.3.7 統合アプリケーション・サーバーの終了方法

統合アプリケーション・サーバーを起動すると、統合アプリケーション・サーバーのプロセスが「プロセス」ウィンドウに表示されます。詳細は、第12.2項「プロセス・ウィンドウの理解」を参照してください。

「プロセス」ウィンドウは、メイン・メニューから「ウィンドウ」→「プロセス」を選択すると開きます。


注意:

統合アプリケーション・サーバーにデプロイされたアプリケーションは、統合アプリケーション・サーバーを終了するとき自動的にアンデプロイされます。

デフォルトの動作では、すべてのアプリケーションがアンデプロイされますが、この動作は変更できます。

実行中の統合アプリケーション・サーバーを停止するには、次のようにします。

次のいずれかを実行します。

  • メイン・メニューから「実行」→「終了」→「IntegratedWebLogicServer」(または統合アプリケーション・サーバーの接続名)を選択します。

  • ツールバーの「終了」ドロップダウン・リストから統合アプリケーション・サーバー名を選択します。

  • メイン・メニューから「ウィンドウ」→「プロセス」を選択します。統合アプリケーション・サーバー名を右クリックし、「終了」を選択します。

  • 「ファイル」→「終了」を選択してJDeveloperを終了します。インスタンスのプロセスを終了するように要求された場合は、「はい」をクリックします。

  • 「アプリケーション・サーバー」ウィンドウで統合アプリケーション・サーバー接続を右クリックし、「サーバー・インスタンスの終了」を選択します。

統合WebLogic Serverを強制的に停止するには、次のようにします。

  • 統合WebLogic Serverを強制的に停止するに必要がある場合には、「終了」ボタンを2回押してください。

21.2.3.8 統合アプリケーション・サーバーの起動とシャットダウンの動作を構成する方法

統合アプリケーション・サーバー接続に対して、起動と停止の動作を構成できます。

統合アプリケーション・サーバーの起動と停止の動作を構成するには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 統合アプリケーション・サーバー接続を右クリックして「プロパティ」を選択し、「アプリケーション・サーバー・プロパティ」ダイアログを開きます。作業中に詳細を参照するには、[F1]を押すか、ダイアログ内から「ヘルプ」をクリックします。

    デフォルトの統合アプリケーション・サーバーのプロパティを表示している場合は、ダイアログの「構成」、「シャットダウン」、「起動設定」タブでのみ設定を変更できます。それ以外の場合は、接続名を除くすべてを編集できます。

21.2.3.9 統合WebLogic Server管理コンソールへのログイン方法

統合アプリケーション・サーバーはOracle WebLogic Serverの実装であり、サーバーの管理コンソールに接続できます。


注意:

管理コンソールにログインするには、次のような方法でJDeveloperから統合アプリケーション・サーバーを実行している必要があります。
  • 「アプリケーション・サーバー」ウィンドウで統合WebLogic Serverを起動。

  • アプリケーションを起動。


統合アプリケーション・サーバーの管理コンソールを起動してログインするには、次のようにします。

  1. 必要な場合は、「ウィンドウ」→「アプリケーション・サーバー」を選択して「アプリケーション・サーバー」ウィンドウを開きます。

  2. 「IntegratedWebLogicServer」を右クリックして「管理コンソールの起動」を選択します。ブラウザ・インスタンスでログイン・ページ(http://host:port/console)が開きます。

    たとえば、デフォルト構成を使用する場合、ブラウザはhttp://localhost:7001/consoleを使用します。

  3. デフォルト・ドメインのユーザー名と、統合アプリケーション・サーバーを最初に起動したときに使用したパスワードを使用してログインします。

統合アプリケーション・サーバーはOracle WebLogic Serverの実装なので、統合アプリケーション・サーバーの管理コンソールについては、JDeveloperのインストールにあるWebLogic Serverのオンライン・ドキュメントから、または管理コンソールから利用できる管理コンソール・オンライン・ヘルプを参照してください。

21.3 アプリケーション・サーバーへのJava EEアプリケーションの接続とデプロイ

アプリケーションをスタンドアロンのアプリケーション・サーバーにデプロイする前に、JDeveloperで必須のタスクを実行し、デプロイに向けてアプリケーションを準備する必要があります。

図21-2に、アプリケーションをデプロイ用に準備する場合のプロセス・フローを示します。アプリケーションを作成し、アプリケーション・サーバーの準備が終わると、アプリケーションをデプロイできるようになります。

図21-2 アプリケーションのデプロイ用の準備のフロー・ダイアグラム

この図は周囲のテキストで説明しています

21.3.1 ターゲット・アプリケーション・サーバーへの接続の作成方法

JDeveloperアプリケーション・サーバー接続を介して、アプリケーション・サーバーにアプリケーションをデプロイできます。

この項では、アプリケーション・サーバーへの接続を作成する一般的な方法について説明します。特定のタイプのアプリケーション・サーバーへの接続の詳細は、第21.3.2項「特定のアプリケーション・サーバー・タイプへの接続」を参照してください。

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

  • アプリケーション・サーバーがインストールされ、起動していることを確認します。

  • プロキシ・サーバーの内部で作業している場合は、JDeveloperが使用しているプロキシ設定の確認が必要な場合があります。

    1. 「ツール」「プリファレンス」を選択して「プリファレンス」ダイアログを開き、「Webブラウザとプロキシ」ページにナビゲートします。詳細を参照するには、「設定」ダイアログの「Webブラウザとプロキシ」ページで、[F1]を押すか「ヘルプ」をクリックします。

    2. 「プロキシ設定」タブにJDeveloperが使用しているプロキシ設定が表示され、必要に応じて変更できます。デフォルトでは、JDeveloperはシステムのデフォルトのプロキシ設定を使用しています。これらをオーバーライドするには、「プロキシなし」「自動構成スクリプトの使用」または「手動プロキシ設定」を選択して、設定を適宜入力します。第1.3項「プロキシ設定の構成」を参照してください。

アプリケーション・サーバーへの接続の作成方法:

  1. 次のいずれかの方法で、「アプリケーション・サーバー接続」ウィザードを起動します。

    • 「アプリケーション・サーバー」ウィンドウで、「アプリケーション・サーバー」を右クリックして、「新規アプリケーション・サーバー」を選択します。

    • 「新規ギャラリ」で、「一般」を展開し、「接続」「アプリケーション・サーバー接続」を選択して、「OK」をクリックします。

    • 「リソース」ウィンドウで、「新規」「接続の作成」「アプリケーション・サーバー」を選択します。

  2. ウィザードの「使用方法」ページが表示されたら、「スタンドアロン・サーバー」が選択されていることを確認し、「次へ」をクリックします。

  3. 「名前とタイプ」ページで、新しい接続の名前を入力します。

  4. 「接続タイプ」ドロップダウン・リストで、接続を作成するアプリケーション・サーバーのタイプを選択します。次のオプションがあります。

    • Oracle WebLogic Serverへの接続を作成する場合は「WebLogic 10.3」または「WebLogic 12.x」

    • Oracle GlassFish ServerまたはGlassFish Open Source Editionへの接続を作成する場合は「GlassFish 3.1

    • JBossへの接続を作成する場合は「JBoss 5.x」

    • Tomcatへの接続を作成する場合は「Tomcat 7.x」

    • IBM WebSphere Serverへの接続を作成する場合は「WebSphere Server 8.x

    • Oracle Java Cloud Serviceへの接続を作成する場合は「Oracle Cloud」

  5. 「次へ」をクリックします。

  6. 「認証」ページで、アプリケーション・サーバーへのアクセスを認可された管理ユーザーのユーザー名とパスワードを入力します。

  7. 「次へ」をクリックします。

  8. 「構成」ページで、アプリケーション・サーバーへの接続を作成するパラメータを入力します。

  9. 「次へ」をクリックします。

  10. WebSphereを選択した場合は、表示される「JMX」ページにSOAアプリケーションのデプロイに必要なJMX構成値を入力します。

  11. 「次へ」をクリックします。

  12. テスト・ページで、「接続のテスト」をクリックして、接続をテストします。

    JDeveloperにより、数種類の接続テストが実行されます。アプリケーションをデプロイできるためには、JSR-88テストに合格する必要があります。テストに不合格だった場合は、ウィザードの前のページに戻って、構成を修正します。

  13. 「終了」をクリックします。

Oracle WebLogic Server管理コンソールの起動方法

Oracle WebLogic Server管理コンソールは「アプリケーション・サーバー」ウィンドウから起動および接続できます。


注意:

コンソールにログインするには、サーバーが起動している必要があります。

  1. 「アプリケーション・サーバー」ウィンドウでOracle WebLogic Serverインスタンスへの接続の名前を右クリックし、「管理コンソールの起動」を選択します。ブラウザ・インスタンスでログイン・ページ(http://host:port/console)が開きます。

    たとえば、デフォルト構成を使用する場合、ブラウザはhttp://localhost:7001/consoleを使用します。

  2. Oracle WebLogic Serverインスタンスへの接続を最初に作成したときに使用したユーザー名とパスワードを使用してログインします。統合WebLogic Serverの管理コンソールを起動する場合、デフォルト・ユーザーはweblogic、パスワードはデフォルト・ドメインを作成したときに入力したパスワードです。

統合WebLogic Server管理の詳細は、JDeveloperのインストールにあるWebLogic Serverのオンライン・ドキュメントから、または管理コンソールから利用できる管理コンソール・オンライン・ヘルプを参照してください。

21.3.2 特定のアプリケーション・サーバー・タイプへの接続

この項では、様々なタイプのアプリケーション・サーバーに関する固有の情報を示します。

JDeveloperではサーバー・クラスタへのデプロイがサポートされていますが、JDeveloperを使用して、クラスタのメンバーである個々の管理対象サーバーにデプロイすることはできません。

21.3.2.1 Oracle WebLogic Serverへの接続

Oracle WebLogic Serverに接続するには:

  • Oracle WebLogicホスト名は、アプリケーション(.jar、.war、.ear、.gar)がデプロイされるTCP/IP DNSを含む、WebLogic Serverインスタンスの名前です。

  • 「ポート」フィールドに、アプリケーション(.jar、.war、.ear、.gar)がデプロイされるOracle WebLogic Serverインスタンスのポート番号を入力します。

    ポートを指定しない場合、ポート番号はデフォルトの7001になります。

  • 「SSLポート」フィールドに、アプリケーション(.jar、.war、.ear、.gar)がデプロイされるOracle WebLogic ServerインスタンスのSSLポート番号を入力します。

    SSLポートの指定はオプションです。デプロイメント時に確実にセキュア接続にする場合にのみ必要です。

    ポートを指定しない場合、SSLポート番号はデフォルトの7002になります。

  • SSLポートを使用してOracle WebLogic Serverインスタンスに接続するために、「常にSSLを使用」を選択します。

  • オプションで、Oracle WebLogic Serverが管理権限のないサーバー・ノードを名前で識別するように構成されている場合のみ、WebLogicドメインを入力します。

21.3.2.2 GlassFishへの接続

GlassFishサーバーに対するセキュアな接続を作成する場合は、「構成」ページの「ホスト名」に、IPアドレスではなく、localhostなどのホスト名を使用する必要があります。そうしないと接続に失敗します。これは、サーバーへの接続の作成に使用されるURL内のホスト名が、証明書のホスト名と一致する必要があるためです。

21.3.2.3 JBossへの接続

JBossの場合:

  • JBossデプロイ・ディレクトリの位置を入力するか参照します。ここにアプリケーション・ファイル(.jar、.war、.ear、.gar)があります。

  • JMXを使用している場合は、「この接続のJMXの有効化」を選択します(オプション)。


    注意:

    JMXの構成はオプションで、JBoss Application Serverへの接続には必要ありません。JMXはSOAアプリケーションのデプロイにのみ必要です。

    JBossサーバーでは、Oracle JMX RMIコネクタ(oracle-jboss-remoting.sar)を使用する必要があります。標準のJBoss JMXコネクタ(jmx-remoting.sar)はJDeveloperで機能しません。


  • 「ホスト名」フィールドに、ターゲット・サーバーのホスト名を入力します。デフォルトはマシン名です。

  • 「RMIポート」フィールドに、JBossのRMI接続ポートのポート番号を入力します。デフォルトは19000です。

21.3.2.4 Tomcatへの接続

Tomcatの場合:

  • 「Webappsディレクトリ」フィールドで、アプリケーション.warファイルが配置されているwebappsディレクトリの場所を入力するか参照します。

21.3.2.5 WebSphere Serverへの接続

WebSphereの場合:

  • 「ホスト名」フィールドに、Java EEアプリケーション(.jar.war.ear、[.gar])がデプロイされる、TCP/IP DNSを含むWebSphereサーバーの名前を入力します。名前を入力しない場合は、デフォルトのlocalhostになります。

  • SOAPコネクタのポート」フィールドに、ポート番号を入力します。このホスト名とポートが、デプロイ用にサーバーへの接続に使用されます。デフォルトのSOAP接続ポートは8879です。

  • サーバー名」フィールドに、この接続のターゲット・アプリケーション・サーバーに割り当てられた名前を入力します。

  • ターゲット・ノード」フィールドに、この接続のターゲット・ノード名を入力します。ノードとは、管理対象サーバーのグループです。デフォルトはmachineNode01で、この場合のmachineはノードが常駐するマシンの名前です。

  • ターゲット・セル」フィールドに、この接続のターゲット・セルの名前を入力します。セルとは、ランタイム・コンポーネントをホストするプロセスのグループです。デフォルトはmachineNode01Cellで、この場合のmachineはノードが常駐するマシンの名前です。

  • WS管理スクリプト・ファイルの場所」フィールドに、IBM WebSphereアプリケーション・サーバー接続のシステム・ログイン構成を定義するために使用するwsadminスクリプト・ファイルの場所を入力するか、参照して指定します。ORACLE_HOME/oracle_common/common/binディレクトリにあるwsadminファイルは正しいバージョンではないため、使用できません。デフォルトの場所は、Unix/Linuxの場合はwebsphere-home/bin/wsadmin.sh、Windowsの場合はwebsphere-home/bin/wsadmin.batです。


    注意:

    スクリプト・ファイルを指定する場合、パスに空白が含まれていると問題が生じることがあります。たとえば、C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\AppSrv01\bin\wsadmin.batの場合、この問題を解決するには、名前に空白があるディレクトリに対してOS短縮名(Progra~1など)を使用するか、空白のないパスにWebSphereアプリケーション・サーバー・インスタンスを作成し、その場所でバッチ・ファイルを参照します。

  • WebSphereを選択した場合は、「JMX」ページが表示されます。「JMX」ページで、JMXの情報を入力します(オプション)。


    注意:

    JMXの構成はオプションで、WebSphere Application Serverへの接続には必要ありません。JMXはSOAアプリケーションのデプロイにのみ必要です。

    • 「この接続のJMXの有効化」を選択してJMXを有効にします。

    • RMIポート」フィールドに、WebSphereのRMI接続ポートのポート番号を入力します。デフォルトは、2809です。

    • WebSphereランタイムJARの場所」フィールドに、WebSphereランタイムJARの場所を入力するか、参照して指定します。

    • WebSphereプロパティの場所(セキュアなMBeanアクセス用)」フィールドに、セキュリティ構成および有効なMBeanのプロパティを含むファイルの場所を入力するか、参照して指定します。このフィールドはオプションです。

21.3.2.6 Oracle Java Cloud Serviceへの接続

Oracle Java Cloud Serviceにサインアップすると、Oracle Java Cloud Serviceインスタンスへの接続を確立するために使用するデータ・センター、アイデンティティ・ドメインおよびサービス名に関する情報を受信します。

Oracle Java Cloud Serviceに接続するには、次の情報を入力する必要があります。

  • 「認証」ページで、管理ユーザー名とパスワードを入力します。

  • 「構成」ページで、データ・センターを選択し、Oracle Java Cloud Serviceインスタンスのアイデンティティ・ドメインとサービス名を入力します。

21.3.3 デプロイメント・プロファイルの作成および編集方法

デプロイメント・プロファイルでは、ターゲット環境にデプロイされるアーカイブにアプリケーションがパッケージ化される方法が定義されています。デプロイメント・プロファイルには、次の役割があります。

  • 作成されるアーカイブ・ファイルのフォーマットと内容を指定します。

  • パッケージ対象となるソース・ファイル、デプロイメント・ディスクリプタ、およびその他の補助ファイルをリストします。

  • 作成されるアーカイブ・ファイルのタイプおよび名前を記述します。

  • 依存情報、プラットフォーム固有の指示、およびその他の情報を示します。

21.3.3.1 デプロイメント・プロファイルについて

アプリケーション・サーバーへのデプロイでは、デフォルト・マッピングのプロジェクト・メタデータに依存するデプロイメント・プロファイルが使用されます。プロファイルのデフォルト要素はプロジェクトの依存性によって決まりますが、デプロイメント・プロファイルをカスタマイズして変更できます。

依存性を決定する規則は、次のとおりです。

  1. プロジェクトAがプロジェクトBのビルド出力に依存する場合、プロジェクトBのビルド出力はプロジェクトAにマージされます。プロジェクトAがWebアプリケーションの場合は、プロジェクトAとプロジェクトBのビルド出力がどちらも、生成されるWARのWEB-INF/classesにコピーされることになります。

    マージされるということは、特定のURIのコピーが1つしか存在できないことを意味します。WEB-INF/classesに1つしか存在しないからです。

  2. プロジェクトAがプロジェクトBのデプロイメント・プロファイル、たとえばJARプロファイルに依存する場合、そのデプロイメント・プロファイルは最終的に、生成されるWARのWEB-INF/libに含まれます。

  3. Webプロジェクト用に「デフォルトでデプロイ済」とマークされるすべてのライブラリは、Webアプリケーション・ライブラリとして(WARのWEB-INF/libに)デプロイされます。

  4. EJBプロジェクト用に「デフォルトでデプロイ済」とマークされるすべてのライブラリは、アプリケーション・ライブラリとして(EARのlibに)デプロイされます。

  5. アプリケーション・レベルで「デフォルトでデプロイ」とマークされるすべてのライブラリは、アプリケーション・ライブラリとして(EARのlibに)デプロイされます。

  6. EJBプロジェクトAがプロジェクトBのビルド出力に依存する場合、プロジェクトBのビルド出力(classesディレクトリなど)はプロジェクトAのビルド出力にマージされ、EJB JARのルート・ディレクトリにデプロイされます。

アプリケーション・レベルのデプロイメント・プロファイルは、次のとおりです。

  • EARファイル: Java EEエンタープライズ・アーカイブ(EAR)ファイルとしてデプロイする場合に使用します。EARファイルは、アプリケーションのアセンブルされたWARファイル、EJB JARファイルおよびクライアントJARファイルで構成されます。

  • MARファイル: シード・カスタマイズに対してメタデータ・アーカイブ・ファイルをデプロイする、またはアプリケーション・サーバーのMDSリポジトリにベース・メタデータをデプロイする場合に使用します。MARファイルの詳細は、使用しているOracle® Fusion Middleware製品に該当する開発者ガイドを参照してください。

プロジェクト・レベルのJava EEデプロイメント・プロファイルは、次のとおりです。

  • ビジネス・コンポーネント・アーカイブ: ADF Business Componentsをデプロイするためのシンプル・アーカイブ・ファイルを作成します。

  • ビジネス・コンポーネントのサービス・インタフェース: ADF Business Componentsをサービス・インタフェースとしてデプロイするためのプロファイルを作成します。

  • クライアントJARファイル: 標準のJava EEクライアントJARファイルをデプロイする場合に使用します。

  • EJB JARファイル: Java EE EJBモジュール(EJB JAR)をデプロイする場合に使用します。EJB JARには、EJBコンポーネントとそれに対応するデプロイメント・ディスクリプタが含まれます。

  • 拡張機能JAR: 拡張機能をJARファイルとしてデプロイするためのプロファイルを作成します。

  • JARファイル: プロジェクトからシンプルJARアーカイブを作成します。

  • GARファイル: Oracle Coherenceグリッド・アーカイブ・ファイルを作成します。GARには、Coherenceアプリケーションのアーティファクトが格納され、デプロイメント・ディスクリプタが含まれています。

  • MOFモデル・ライブラリ: あるプロジェクトのUMLオブジェクトを他のプロジェクトで再使用できるようにするMOF (メタオブジェクト機能)モデル・ライブラリJARファイルを作成します。

  • OSGiバンドル: OSGiコンテナとしてデプロイできるOSGiバンドルを作成します。JDeveloperで拡張機能を作成するとき、これを使用します。

  • RARファイル: Java EEコネクタのRARファイルをデプロイするためのプロファイルを作成します。

  • 共有ライブラリJARファイル: シンプル・アーカイブをデプロイするためのプロファイルを作成します。これはファイル・システムのJARまたはZIPファイル、またはリモート・サーバーの共有ライブラリです。

  • Taglib JARファイル: カスタム・タグ・ライブラリをJARファイルとしてデプロイするためのプロファイルを作成します。

  • WARファイル: Java EE Webモジュール(WAR)をデプロイする場合に使用します。WARは、Webコンポーネント(JSPやサーブレット)と、それに対応するデプロイメント・ディスクリプタで構成されます。

21.3.3.2 デプロイメント・プロファイルの作成

デプロイメント・プロファイルを作成するには、アプリケーションまたはプロジェクトを選択し、「ファイル」→「新規」→「ギャラリから」を選択して、「一般」カテゴリから「デプロイメント・プロファイル」を選択します。アプリケーション・レベルのプロファイルを作成するには、アプリケーション・レベルで「新規ギャラリ」を起動します。

他の方法を使用して、デプロイメント・ファイルを作成できます。

  • 「アプリケーション・プロパティ」の「デプロイメント」ダイアログの使用:

    • JDeveloperのツールバーから、「アプリケーション」→「デプロイ」→「新規デプロイメント・プロファイル」を選択します。

    • アプリケーションを右クリックして、コンテキスト・メニューから「デプロイ」→「新規デプロイメント・プロファイル」を選択します。

    • 「アプリケーション」ウィンドウで、「アプリケーション」ウィンドウのツールバーのドロップダウン・リストを開き、「デプロイ」を選択します。

  • 「プロジェクト・プロパティ」の「デプロイメント」ダイアログの使用:

    • 「アプリケーション」ウィンドウでプロジェクトを選択し、メニューから「アプリケーション」→「プロジェクト・プロパティ」を選択します。「デプロイメント」を選択し、右側の「デプロイメント」パネルで、メニュー・バーから「新規プロファイル」アイコンをクリックします。

    • 「アプリケーション」ウィンドウのプロジェクトのポップアップ・メニュー。

既存のデプロイメント・プロファイルを変更するには:

  • 「アプリケーション」ウィンドウでプロジェクトを右クリックして「プロジェクト・プロパティ」を選択し、ウィザードのツリー構造から「デプロイメント」を選択します。次に、デプロイメント・プロファイルを選択し、「編集」を選択します。

  • 「アプリケーション」ウィンドウでアプリケーションを右クリックして「アプリケーション・プロパティ」を選択し、ウィザードのツリー構造から「デプロイメント」を選択します。次に、デプロイメント・プロファイルを選択し、「編集」を選択します。

プロファイル・デプロイメントをアクティブにするには:

  • プロジェクト・レベルのデプロイメント・プロファイルの場合は、「アプリケーション」ウィンドウでプロジェクトを右クリックし、「デプロイ」→デプロイメント・プロファイルを選択します。

  • アプリケーションのデプロイメント・プロファイルの場合は、「アプリケーション」ウィンドウでアプリケーションを右クリックし、「デプロイ」→デプロイメント・プロファイルを選択します。あるいは、次のようにします。

    • 「アプリケーション」ウィンドウでアプリケーションを右クリックし、「デプロイ」→デプロイメント・プロファイルを選択します。

    • アプリケーションのコンテキスト・メニューから「デプロイ」→デプロイメント・プロファイルを選択します。

    • 「アプリケーション」ウィンドウのツールバーのドロップダウン・リストから「デプロイ」→デプロイメント・プロファイルを選択します。

プロジェクトおよびそのプロジェクトが依存するプロジェクトがコンパイルされ、パッケージ化されます。

作成したアプリケーションには、必要なデプロイメント・プロファイルがすでに含まれている場合があります。たとえば、Webベースのプロジェクトを作成する場合、必要な依存モデル・プロジェクトを含むデフォルトのWARデプロイメント・プロファイルがすでに存在します。

デプロイメント・プロファイルを作成する手順は、次のとおりです。

  1. アプリケーション・レベルのデプロイメント・プロファイルの場合は、「アプリケーション」ウィンドウでアプリケーションを右クリックして「新規」を選択します。

    プロジェクト・レベルのデプロイメント・プロファイルの場合、デプロイするプロジェクトを「アプリケーション」ウィンドウで右クリックして「新規」を選択します。

  2. 「新規ギャラリ」で「一般」を展開して「デプロイメント・プロファイル」を選択し、目的のデプロイメント・プロファイル・タイプを選択して「OK」をクリックします。

    「カテゴリ」ツリーに「デプロイメント・プロファイル」が表示されない場合は、「すべての機能」タブをクリックします。

  3. 作成するデプロイメント・プロファイルのタイプを選択し、「OK」をクリックします。たとえばEARデプロイメント・プロファイルの場合、次のようにします。

    • 「アプリケーション・アセンブリ」を選択し、続いて「Java EEモジュール」リストで、デプロイメントに組み込むすべてのプロジェクト・プロファイルを選択します(WARプロファイルを含む)。

    • (オプション)「プラットフォーム」を選択し、デプロイ先となるアプリケーション・サーバーを選択した後、「ターゲット接続」ドロップダウン・リストから、ターゲット・アプリケーション接続を選択します。

      デフォルトで、このプラットフォームはデプロイ時にデプロイ先のサーバーに一致するように設定されます。ファイルにデプロイする場合は、Oracle Weblogic Serverの最新リリース(この場合はOracle WebLogic Server 12.x)であるデフォルト・プラットフォームがデフォルトになります。

  4. デプロイメント・プロファイルのプロパティの編集ダイアログで、プロパティ値を設定してプロファイルを構成します。たとえば、プロファイルに含まれるファイル・グループなどを変更できます。完了したら「OK」をクリックします。

デプロイメント・プロファイルは、アプリケーション・レベルのデプロイメント・プロファイルであれば「アプリケーションのプロパティ」ダイアログから、プロジェクト・レベルのデプロイメント・プロファイルであれば「プロジェクト・プロパティ」ダイアログから使用でき、それぞれ編集または削除できます。

21.3.3.3 デプロイメント・プロファイル・プロパティの表示および変更

デプロイメント・プロファイルを作成したら、そのプロパティを表示および変更できます。

デプロイメント・プロファイルを編集または削除するには、次のようにします。

  1. アプリケーション・レベルのデプロイメント・プロファイルの場合、「アプリケーション」→「アプリケーションのプロパティ」を選択して、「アプリケーションのプロパティ」ダイアログを開きます。

    プロジェクト・レベルのデプロイメント・プロファイルの場合、「アプリケーション」→「プロジェクト・プロパティ」を選択して、「プロジェクト・プロパティ」ダイアログを開きます。

  2. 左パネルで「デプロイ」をクリックし、「デプロイ」ページを開きます。

  3. 編集または削除するデプロイメント・プロファイルを選択し、次のいずれかをクリックします。

    • デプロイメント・プロファイルのプロパティの編集ダイアログを開く場合は、「編集」をクリックします。

    • デプロイメント・プロファイルを削除する場合は、「削除」をクリックします。

21.3.3.4 デプロイメント・プロファイルの構成

構成は、コンポーネント・ファイルからアーカイブ・ファイルをアセンブルするプロセスです。構成は、「デプロイメント・プロファイルのプロパティ」ダイアログの「ファイル・グループ」ブランチで指定します。

「ファイル・グループ」ブランチはファイル・グループのリストで構成され、各グループでコンポーネントを指定します。パッケージ化されたアーカイブは、すべてのファイル・グループを統合したものです。ファイル・グループの順序によって名前の競合が解決されます。2つのファイルに同じ名前が付けられている場合、リストの上位のファイル・グループ内のファイルが含められ、下位のファイル・グループ内のファイルが省略されます。

新規に作成されたデプロイメント・プロファイルには、1つ以上の事前定義済ファイル・グループが含まれます。ファイル・グループは追加、削除および編集できます。

ファイル・グループは、一連のフィルタで抽出されたソース元によって定義されます。ソース元はソース・ファイル、JARファイルおよびそれらを含めるために選択されたディレクトリです。フィルタは、ソース元またはソース元のコンポーネントのサブディレクトリおよびファイルに適用される規則であり、パッケージ化するセットおよびファイルを識別します。ファイル・グループには、次の3つの種類があります。

  • 「パッケージ化」ファイル・グループ・タイプでは、ソース元、プロジェクト・ディレクトリなどのディレクトリ、JARファイルおよびフィルタを選択できます。このファイル・グループは柔軟で透過的なメカニズムであり、ほとんどのプロジェクトに適しています。

  • 「ライブラリ」ファイル・グループ・タイプでは、プロジェクト・ライブラリであるソース元を選択できます。ライブラリ・ファイル・グループは、WARデプロイメント・プロファイルに対して作成されます。ライブラリ・ファイル・グループは、既存のJARファイルを再パッケージ化する必要があるプロジェクトに役立ちます。

21.3.4 デプロイメント依存関係の作成方法と編集方法

アプリケーションのコンポーネント間でのデプロイメントの依存性は、プロジェクトのデプロイメント・プロファイルに指定されます。プロジェクトのデプロイメント・プロファイルに、直接のアップストリームであるプロジェクトのプロファイルを指定します。デプロイメント・プロファイルがデプロイメント用にアクティブになっている場合、その依存性が最初にデプロイされます。

デプロイメント・プロファイルの「プロファイルの依存性」ページで、デプロイメント・プロファイル依存性を設定します。現在のアプリケーション内のデプロイメント・プロファイルのみが選択用にリストされます。詳細は、「ヘルプ」をクリックしてください。次のようなプロファイル依存性を選択できます。

  • プロファイルとプロファイルの依存性

  • プロファイルとJARの依存性

  • プロファイルとWARの依存性

  • プロファイルとRAR(リソース・アーカイブ)の依存性

あるプロジェクトに含まれているプロファイルをデプロイするとき、そのプロジェクトが他のプロファイルについてプロファイルとプロファイルの依存性を持っている場合、そのプロファイルは、プロジェクトで指定されている依存性をデプロイ時に組み込みます。たとえば、Project1.jprファイルにServlet1.javaが含まれ、そのファイルがejb1.jarに依存し、project2.jprファイルにMySessionEJBejb1.jarが含まれている場合は、最初のプロジェクトをデプロイすると、EARファイルにwebapp1.warejb1.jarの両方が含まれます。

共通JARファイルを共有するJAR、WAR、EJB JARモジュール間のプロファイル依存性を作成するときは、META-INF/MANIFEST.MF Class-Path属性を使用して、デプロイ時にまとめてJARファイルをリンクできます。「デプロイメント・プロファイルのプロパティ」の「JARオプション」ページで、「manifestファイルを含める(META-INF/MANIFEST.MF)」を選択します。これによって、共通JARの1つの共有コピーが、EARファイルに組み込まれます。

依存プロジェクトには独自の依存性を指定できますが、循環依存を回避する必要があります。JDeveloperで循環依存が発生した場合、デプロイは試行されますが、ログ・ウィンドウに警告が表示されます。

21.3.4.1 ライブラリの依存性について

依存ライブラリとは、モジュールのコンパイルと実行に必要とされるライブラリです。ライブラリを含むプロジェクトの「プロジェクト・プロパティ」ダイアログの「ライブラリとクラスパス」ページで、依存ライブラリはエクスポート可能として表示されます。

アプリケーションでは、次のプロジェクトに依存ライブラリを配置できます。

  • 現在のモジュールのプロファイルのプロジェクト。これはプロファイル・コンテナです。

  • プロファイル・コンテナが依存するプロジェクト。

  • このモジュールのプロファイルについて、プロファイルの依存性に関連付けられているプロジェクト(そのプロファイルとプロジェクトの依存性に対して再帰的に)。

プロジェクトの依存性(左側に矢印)とプロファイルの依存性(右側に矢印)の例を次に示します。

図21-3 プロジェクトとデプロイメント・プロファイルの間の依存性

この図は周囲のテキストで説明しています

プロジェクトの依存性は、コンパイル時に再帰的でなくてもデプロイ時に再帰的です。JavaProjectからのライブラリが依存ライブラリとみなされるのはそのためです。WebProfileはWebモジュールを表し、次の依存性ライブラリがあります。

  • EjbDepLib (WebProjectに対するプロジェクトの依存性からのライブラリ)

  • EjbDep.jar (WebProjectに対するプロジェクトの依存性からのライブラリ)

  • JavaDepLib (JavaProjectに対する再帰的なプロジェクトの依存性からのライブラリ)

  • JavaDep.jar (JavaProjectに対する再帰的なプロジェクトの依存性からのライブラリJAR)

  • SampleLib (プロファイルの依存性からのライブラリ)

  • Sample.jar (プロファイルの依存性からのライブラリJAR)

  • OtherLib (再帰的なプロファイルの依存性からのライブラリ)

  • Other.jar (再帰的なプロファイルの依存性からのライブラリJAR)

21.3.4.1.1 解決済のライブラリと未解決のライブラリ

依存ライブラリは、解決済と未解決のいずれかの状態になります。依存ライブラリは、アーカイブに追加されてクラスパスに配置されるまで未解決とみなされ、追加と配置が済むと、そのライブラリを参照する必要があるクラスでライブラリの内容を使用できるようになります。

たとえばWARプロファイルがライブラリを解決する場合は、WEB-INF\libというターゲット出力ディレクトリを持つライブラリ・ファイル・グループ要素でそのライブラリを選択します。こうすると、作成されるWARアーカイブには、そのアーカイブのWEB-INF\libディレクトリのライブラリが含まれ、WARアーカイブのクラスパスにライブラリの内容が含まれるようになります。

ライブラリがデプロイメント・プロファイルによって解決されない場合、このプロファイルは未解決のライブラリをアプリケーション階層に公開し、上位レベルで解決できるようにします。EJBプロジェクトに含まれるライブラリが、EJBプロファイルのパースペクティブから解決されないままになる状況を考えます。この情報は、このようなライブラリが、EARレベルで(EARプロファイルのライブラリ・ファイル・グループで)確実にEARプロファイルによって解決されるように公開されます。

前述の図で、WebProjectにはJavaProjectに対するプロジェクトの依存性があり、JavaProjectにはJavaDepLibと呼ばれるライブラリが含まれます。WebProjectにWARデプロイメント・プロファイルを作成するWebアプリケーションを定義できます。WARデプロイメント・プロファイルのWEB-INF\libライブラリ・ファイル・グループでライブラリを確実に選択することによって、WebモジュールでJavaDepLibが解決されます。

21.3.4.1.2 ライブラリのmanifestエントリ

ライブラリが、標準の\libまたはAPP-INF\lib以外のディレクトリにあるEARアーカイブに含まれる場合は、そのライブラリを参照するモジュールに、必要なmanifestエントリが自動的に挿入されます。

21.3.5 デプロイメント・ディスクリプタの作成および編集方法

デプロイメント・ディスクリプタは、アプリケーションのデプロイ構成を定義するサーバー構成ファイルで、必要に応じてJava EEアプリケーションとともにデプロイされます。プロジェクトに必要なデプロイメント・ディスクリプタは、プロジェクトが使用しているテクノロジとターゲット・アプリケーション・サーバーのタイプによって異なります。デプロイメント・ディスクリプタは、ソース・ファイルとして作成および編集できるXMLファイルですが、JDeveloperは、ほとんどのディスクリプタ・タイプについて、プロパティの表示と設定に使用できるダイアログまたは概要エディタを備えています。これらのファイルを宣言的に編集できない場合、JDeveloperはその内容を編集するためにソースエディタでXMLファイルを開きます。

標準のJava EEデプロイメント・ディスクリプタ(application.xmlおよびweb.xmlなど)に加えて、ターゲット・アプリケーション・サーバーに固有のデプロイメント・ディスクリプタも使用できます。たとえば、Oracle WebLogic Serverにデプロイする場合、weblogic.xmlweblogic-application.xmlおよびweblogic-ejb-jar.xmlを使用できます。

基本ディスクリプタは、デプロイメント・プロファイルを作成するウィザードで作成します。デフォルトの動作をオーバーライドする場合にのみ他のディスクリプタを追加します。作成したディスクリプタをデプロイ時にアーカイブ・ファイルに含める場合もあります。

デプロイメント・ディスクリプタは、「新規ギャラリ」で作成することもできます。デプロイメント・ディスクリプタは、プロジェクトのアプリケーション・ソースのMETA-INFサブフォルダ、またはWebコンテンツ・フォルダのWEB-INFサブフォルダに配置されます。

Java EE標準デプロイメント・ディスクリプタは、それぞれ対応するOracle WebLogic Server固有のディスクリプタによって拡張されます。表21-1で、これらのファイルについて説明し、互いの関係を示します。

表21-1 デプロイメント・ディスクリプタ

Java EE標準ディスクリプタ Oracle WebLogic Server固有のディスクリプタ

application-client.xml

アーカイブとしてデプロイされたJava EEアプリケーションのクライアントで使用されるEJBモジュールと他のリソースを記述します。

weblogic-appclient.xml

ファイル形式は、weblogic-appclient.xsdに定義されています。

詳細は、『Oracle WebLogic Serverスタンドアロン・クライアントの開発』のクライアント・アプリケーション・デプロイメント・ディスクリプタ要素に関する章を参照してください。

application.xml

EJBモジュールやWebモジュールなど、Java EEアプリケーションのコンポーネントを指定します。アプリケーションの追加構成を指定することもできます。このディスクリプタは、アプリケーションのEARファイルの/META-INFディレクトリに含める必要があります。

weblogic-application.xml

ファイル形式は、weblogic-application.xsdに定義されています。

詳細は、『Oracle WebLogic Server XMLアプリケーションの開発』を参照してください。

ejb-jar.xml

JAR内のEnterprise JavaBeansの特定の構造特性および依存性を定義し、Beanがコンテナとの相互作用をどのように実行するかに関する指示をEJBコンテナに提供します。

weblogic-ejb-jar.xml

このファイルの形式は、weblogic-ejb-jar.xsdに定義されています。

persistence-configuration.xml

EJB 3.x モジュールの場合。このファイルの形式は、persistence-configuration.xsdに定義されています。

詳細は、『Oracle WebLogic Server Enterprise JavaBeansの開発』を参照してください。

weblogic-cmp-rdbms-jar.xml

ra.xml

RARファイルにパッケージ化されたリソース・アダプタの実装コード、構成プロパティおよびセキュリティ設定に関する情報が含まれています。

weblogic-ra.xml

このファイルの形式は、weblogic-ra.xsdに定義されています。

詳細は、『Oracle WebLogic Serverリソース・アダプタの開発』を参照してください。

web.xml

静的ページ、サーブレット、JSPページなど、Java EE Webコンポーネント・セットを指定して構成します。また、Webコンポーネントがコールする可能性のあるEJBなどの他のコンポーネントも指定して構成します。複数のWebコンポーネントで独立したWebアプリケーションを形成し、スタンドアロンWARファイルでデプロイできます。

weblogic.xml

このファイルの形式は、weblogic-web-app.xsdによって定義されます。

詳細は、『Oracle WebLogic Server XMLアプリケーションの開発』を参照してください。

なし。

module-name-jdbc.xml

デプロイ済アプリケーションで使用されるデータソースを定義します。

このファイルの形式は、weblogic-jdbc.xsdによって定義されます。

詳細は、『Oracle WebLogic Server JDBCデータ・ソースの管理』を参照してください。

plan.xml

このファイルの形式は、deployment-plan.xsdによって定義されます。

名前/値ペアのリストと、アプリケーションの様々なデプロイメント・ディスクリプタの説明が含まれます。管理者はこれを使用して、デプロイメント・ディスクリプタの値をオーバーライドできます。

詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

weblogic-diagnostics.xml

このファイルの形式は、weblogic-diagnostics.xsdによって定義されます。

診断アプリケーション・モジュールで診断監視を作成または変更する際に、WebLogic Server管理コンソールで使用されます。

詳細は、Oracle Application Server 10gリリース・ノートfor AIX Based Systemsを参照してください。

weblogic-jms.xml

このファイルの形式は、weblogic-jms.xsdによって定義されます。

Oracle WebLogic ServerでJMSドライバを構成する際に使用されます。

詳細は、『Oracle WebLogic Server JMSアプリケーションの開発』を参照してください。

weblogic-webservices.xml

このファイルの形式は、weblogic-webservices.xsdによって定義されます。

詳細は、『Oracle WebLogic Server WebLogic Webサービス・リファレンス』を参照してください。


21.3.5.1 デプロイメント・ディスクリプタの作成

必要なデプロイメント・ディスクリプタの多くは、自動的に作成されます。必要なデプロイメント・ディスクリプタが存在しない場合や、追加のディスクリプタを作成する必要がある場合は、明示的な作成が可能です。

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

デプロイメント・ディスクリプタがすでに生成されているかどうかを確認します。

デプロイメント・ディスクリプタの作成方法:

  1. 「アプリケーション」ウィンドウで、ディスクリプタを作成するプロジェクトを右クリックし、「新規」を選択します。

  2. 「新規ギャラリ」で、「一般」を展開し、「デプロイメント・ディスクリプタ」、ディスクリプタ・タイプの順に選択して、「OK」をクリックします。

    目的の項目が見つからない場合は、正しいプロジェクトが選択されていることを確認してから「すべての機能」タブを選択するか、「検索」フィールドを使用してディスクリプタを検索します。項目が有効になっていない場合は、そのタイプのディスクリプタがプロジェクトにまだ存在しないことを確認します。1つのプロジェクトで使用できるディスクリプタのインスタンスは1つのみです。

    「デプロイメント・ディスクリプタの作成」ウィザードが起動し、選択したデプロイメント・ディスクリプタのタイプに応じて、概要エディタまたはソース・エディタでファイルが開きます。


    注意:

    EARファイルの場合は、1つのアプリケーションに、どのような種類であっても複数のデプロイメント・ディスクリプタを作成しないでください。実行時には、アプリケーション・リソースのディスクリプタ、またはEARレベルで生成されたディスクリプタのみが使用されます。アプリケーションの複数のプロジェクトが同じデプロイメント・ディスクリプタを使用すると、起動されたプロジェクトに属するディスクリプタが他のディスクリプタより優先されます。この制約は、application.xmlweblogic-jdbc.xmljazn-data.xmlおよびweblogic.xmlに適用されます。

    アプリケーションレベルのディスクリプタの作成に最適な場所は、「アプリケーション」ウィンドウの「アプリケーション・リソース」パネルの「ディスクリプタ」ノードです。アプリケーションは、確実に、正しいディスクリプタとともに作成されます。


デプロイメント・ディスクリプタのプロパティを確認または変更するには、次の手順を実行します。

  1. 「アプリケーション」ウィンドウでデプロイメント・ディスクリプタを選択します。

  2. 右クリックして、「開く」を選択します。

    ファイルは、ディスクリプタ・タイプごとに固有の概要エディタで、または「XMLエディタ」ウィンドウで開かれます。

21.3.5.2 Webサービス・ポリシー参照の作成方法

次の手順に従って、Webサービス・ポリシー参照を作成します。

  1. 「ファイル」「新規」「WebLogicデプロイメント・ディスクリプタ」の順に選択します。「一般」カテゴリで、「デプロイメント・ディスクリプタ」を選択し、右側のペインで「Weblogic」項目を選択して、「OK」をクリックします。ウィザードが開きます。

  2. 「ディスクリプタの選択」ページで、スクロール・ダウンして「webservice-policy-ref.xml」を選択します。

  3. 「バージョンの選択」ページで、デプロイメント・ディスクリプタのバージョンを選択して、「次へ」をクリックします。

  4. 「サマリー」ページで「終了」をクリックします。

  5. 新しい構成ファイルがエディタで開きます。

左側のタブを使用すると、ポリシー参照名、ポート・ポリシーおよび操作ポリシーを個別に編集できます。ウィザードには、設定ごとに「概要」、「ソース」、「履歴」の各ビューが表示されます。オンライン・ヘルプを参照してください。

21.3.5.3 デプロイメント・ディスクリプタ・プロパティの表示または変更

デプロイメント・ディスクリプタを作成したら、JDeveloperの各種ダイアログを使用するか、ソース・エディタでファイルを編集することで、そのプロパティを変更できます。デプロイメント・ディスクリプタは、通常「アプリケーション・ソース」ノードにあるXMLファイル(application.xmlなど)です。

デプロイメント・ディスクリプタのプロパティの表示または変更方法:

  1. 「アプリケーション」ウィンドウまたは「アプリケーション・リソース」パネルで、デプロイメント・ディスクリプタをダブルクリックします。

  2. 概要エディタで、「概要」タブまたは「ソース」タブを選択し、プロパティ値を設定してディスクリプタを構成します。

    概要エディタが使用できない場合は、ソース・エディタでファイルが開きます。

21.3.6 グローバル・デプロイメント・プリファレンスの構成方法

「プリファレンス」ダイアログの「デプロイメント」ページでグローバル・デプロイメント・オプションを設定できます。

デプロイメント設定を構成するには、次の手順を実行します。

  1. メイン・メニューから「ツール」→「プリファレンス」を選択します。

  2. 「デプロイメント」ノードを選択します。必要に応じて、デプロイメント・オプションを構成します。詳細は、「ヘルプ」をクリックしてください。

  3. 「OK」をクリックします。


注意:

アプリケーション固有およびプロジェクト固有のデプロイメント・プロファイル・オプションは、アプリケーション・プロパティまたはプロジェクト・プロパティから設定してください。「アプリケーション・プロパティ」および「プロジェクト・プロパティ」ダイアログは「アプリケーション」メニューにあります。

21.3.7 デプロイ用にアプリケーションを構成する方法

この項では、アプリケーションを正常にアプリケーション・サーバーにデプロイするために実行する必要があるタスクについて説明します。

21.3.7.1 Oracle WebLogic Serverへのデプロイ用にアプリケーションを構成する方法

JDeveloperでアプリケーションを作成する際には、アプリケーション・サーバー接続を介して、パッケージ化されたアプリケーションをOracle WebLogic Serverにデプロイできます。パッケージ化されたアプリケーションには、デプロイするファイルの指定、それらのファイルの構成の説明、およびターゲット・サーバーの指定を行うデプロイメント・プロファイルが含まれます。ターゲットのOracle WebLogic Serverインスタンスは、ローカルでインストールするか、ネットワーク・ドライブにマップする必要があります。

Oracle WebLogic Serverへのデプロイのためにアプリケーションを構成するには、次のようにします。

  1. サーバー上で、必要なJDBCデータソースを設定します。詳細は、第21.3.7.4項「Oracle WebLogic ServerでのJDBCデータソースの設定」を参照してください。

  2. Oracle WebLogic Server上のEJBにアクセスするクライアントの場合、クライアントで次のコードが必要です。

    env.put(Context.INITIAL_CONTEXT_FACTORY, 
      "weblogic.jndi.WLInitialContextFactory"); 
    env.put(Context.SECURITY_PRINCIPAL, "system"); 
    env.put(Context.SECURITY_CREDENTIALS, "welcome1"); 
    env.put(Context.PROVIDER_URL, "t3://localhost:7001"); 
    
  3. 2つ以上の異なるアプリケーションで同じEJBを使用している場合、Oracle WebLogic Serverへのデプロイでは、通常2つ目のデプロイでJNDI名の競合が発生します。このため、次の手順を実行して、2つ目以降のデプロイメントで使用するEJBのJNDI名を変更する必要があります。

    • weblogic-ejb-jar.xmlを右クリックして、「開く」を選択します。

    • 「Enterprise JavaBean」の下で、関連するModuleBM Beanを選択します。右側に「EJB」タブが表示されます。

    • 「EJB」タブで、weblogic-ejb-jar.xmlのJNDI名、およびOracle WebLogic Serverにすでにデプロイされている他のEJBのJNDI名と同じにならないように、「JNDI名」フィールドを変更します。

    • EJBにアクセスするアプリケーションをOracle WebLogic Serverにデプロイします。デプロイ時には、IDEによって適切なEJB参照が自動的にweblogic.xmlに埋め込まれます。

21.3.7.2 デプロイ用にクライアント・アプリケーションを構成する方法

Java EEクライアント・モジュールは、クライアントJARファイルとしてパッケージ化されます。このファイルには、1つ以上のJavaアプリケーション・コンポーネント、および1つのクライアント・デプロイメント・ディスクリプタ・ファイル(application-client.xml)が含まれています。デプロイメント・プロファイルとデプロイメント・ディスクリプタ・ファイルを作成した後は、クライアントJARをアプリケーション・サーバーにデプロイできます。

クライアント・アプリケーションをデプロイ用にパッケージ化するには、次の手順を実行します。

  1. プロジェクト用のクライアントJARファイル・デプロイメント・プロファイルを作成します。

    プロジェクトに、すでにプロファイルが作成されている場合があります。複数のターゲットにデプロイする場合は、ターゲットごとに個別のプロファイルを作成します。

  2. application-client.xmlデプロイメント・ディスクリプタ・ファイルを作成します(プロジェクトに存在しない場合)。

    通常、このファイルはアプリケーション・クライアントとともに作成されます。

21.3.7.3 デプロイ用のアプレットの構成方法

スタンドアロン・アプレットは、Webアーカイブ(WAR)ファイルとしてパッケージ化されます。このファイルには、そのアプレット、アプレットHTMLファイル、標準のJava EE Webデプロイメント・ディスクリプタweb.xml、および場合によっては、ターゲット固有のデプロイメント・ディスクリプタも含まれています。デプロイメント・プロファイルと適切なデプロイメント・ディスクリプタ・ファイルを作成した後は、アプリケーションを、アプリケーション・サーバーにデプロイしたり、アーカイブ・ファイルとしてデプロイすることができます。

Webアプリケーションをデプロイ用に構成するには、次の手順を実行します。

  1. プロジェクト用のWARファイル・デプロイメント・プロファイルを作成します。

    プロジェクトに、すでにプロファイルが作成されている場合があります。複数のターゲットにデプロイする場合は、ターゲットごとに個別のプロファイルを作成します。

  2. プロジェクトに、web.xmlデプロイメント・ディスクリプタを追加します(存在していない場合)。

    通常、このファイルはWARファイル・デプロイメント・プロファイルとともに作成されます。


注意:

「クラスが見つかりません」というエラーが表示されるなど、Swingアプレット(JApplet)をデプロイしているときに問題が発生した場合は、JDeveloperがSwingライブラリを検出できないことを示している可能性があります。場合によっては、クライアントでSunのJava SEブラウザ・プラグインを使用するか、JVMバージョン1.1のSwingライブラリをアプレットにバンドルする必要があります。デプロイされるアプレット・ファイルは、デプロイ済の他のWebアプリケーション・ファイルとは別の場所に配置する必要があります。

21.3.7.4 Oracle WebLogic ServerでのJDBCデータソースの設定

デプロイされたファイルにパスワードがプレーン・テキストで表示されるのを避けるため、JDeveloperではパスワードのインダイレクションが使用されます。したがって、アプリケーションが正常に実行されるためには、データソースのパスワードをサーバー上で設定する必要があります。

これを行うにはグローバル・データソースを使用し、グローバル・データソースはOracle WebLogic Server管理コンソールで「JDBC」の下にある「データソース」リンクを使用して設定します。

JDeveloperでは、アプリケーション・リソース名を識別するために、Webアプリケーションweb.xmlまたはEJBアプリケーションejb-jar.xmlに必要な<resource-ref>エントリが含まれていることが確認されます。名前の形式はjdbc/connection-nameDSで、connection-nameはアプリケーション・リソース接続の名前です。

アプリケーションでは、java:comp/env/jdbc/connection-nameDSのアプリケーション固有のリソースJNDIネームスペースを使用してこのデータソースを参照します。アプリケーションでこのリソースを検出できるのは、web.xmljdbc/connection-nameDS<resource-ref>エントリが含まれているためです。

生成されるファイルにとって重要なコントロールは、「アプリケーション・プロパティ」ダイアログの「WebLogic」ページにある「デプロイ中にweblogic-jdbc.xmlディスクリプタを自動生成および同期化」フィールドです。

自動生成フィールドを選択すると、JDeveloperでは次の動作が行われます。

  • アプリケーション・リソースの接続ごとにapplication-name-jdbc.xmlファイルを生成し、間接的なパスワード属性を設定します。

    <jdbc-driver-params>
    <use-password-indirection>true</use-password-indirection>
    </jdbc-driver-params>
    

    デプロイ時に、JDBC接続のパスワードはapplication-name-jdbc.xmlのユーザー名から決定され、Mbeanを使用してJDBC接続パスワードが移入されます。

  • weblogic-application.xmlが更新され、各application-name-jdbc.xmlがモジュールとして追加されます。

  • web.xml(存在する場合)には、各JDBC JNDI名へのリソース参照があります。

Oracle WebLogic Serverでグローバル・データソースを作成する方法

グローバル・データソースは、Oracle WebLogic Server管理コンソールで作成します。

グローバル・データソースを設定するには、次のようにします。

  1. Oracle WebLogic Server管理コンソールにログインします。詳細は、第21.3.1項「ターゲット・アプリケーション・サーバーへの接続の作成方法」を参照してください。

  2. 「JDBC」の下にある「データソース」リンクをクリックします。

  3. 「JDBCデータ・ソースの概要」ページで「新規」をクリックします。

  4. 「新しいJDBCデータ・ソースの作成」ページで、データソースの詳細を入力します。

    名前は自由に指定できます。

    JNDI名はjdbc/connection-nameDSの形式にします。たとえば、アプリケーションの接続名がconnection1の場合、JNDI名はjdbc/connection1DSです。

  5. データベース・タイプがOracle、ドライバがOracle's Driver (Thin) for Service Connections;Version 9.0.1,9.2.0,10,11になっていることを確認します。

  6. 「次へ」を2度クリックし、「新しいJDBCデータ・ソースの作成」ページに移動して接続の詳細を入力します。

    データベース名はOracle SIDです。

    ホスト名はデータベースのあるマシンの名前です。

    デフォルト・ポートは1521です。

  7. ユーザー名とパスワード、たとえば、hr/hrを入力します。

  8. 「次へ」をクリックし、「構成のテスト」をクリックします。

  9. 「次へ」をクリックし、「ターゲットの選択」ページに移動して、このデータソースのターゲットを選択します。ターゲットを選択できない場合、データソースは作成されていますがデプロイされていません。

  10. 「終了」をクリックします。

Oracle WebLogic Serverで実行するためのEARファイルへのデプロイ

Oracle WebLogic Serverで実行するアプリケーションをEARファイルにデプロイする場合、次の操作を実行できます。

  • 「デプロイ中にweblogic-jdbc.xmlディスクリプタを自動生成および同期化」フィールドを選択し、アプリケーション・レベルの資格証明マッピングを使用してパスワードを設定します。

  • あるいは、「デプロイ中にweblogic-jdbc.xmlディスクリプタを自動生成および同期化」フィールドの選択を解除し、Oracle WebLogic Serverでグローバル・データソースを作成してパスワードを設定します。

ojdeployを使用してデプロイを行う場合

  • -nodatasourcesスイッチを使用し、次のいずれかの方法でOracle WebLogic Server上でパスワードを設定できます。

    • グローバル・データソースの作成。

    • アプリケーション・レベルのデータソースの手動作成。

    ojdeployの詳細は、第21.8項「コマンドラインからのデプロイ」を参照してください。

  • -nodatasourcesスイッチを使用しない場合は、アプリケーション・レベルの資格証明マッピングを使用する方法でのみパスワードを設定できます。

21.3.7.5 サード・パーティのサーバーにデプロイするアプリケーションの準備

アプリケーションをサード・パーティのサーバーで実行するために必要な、固有のタスクがあります。

Tomcatへのデプロイ:

  • デプロイ後にTomcatサーバーを停止し、再起動します。

  • jdeveloper_install/jdk/libに格納されているtools.jarライブラリが、Tomcatクラスパスにあることを確認します。このファイルは、Tomcatの実行に使用されるJDKと同じバージョンの必要があります。そうでない場合は、Tomcatでアプリケーションを実行するときに問題が発生することがあります。

  • Webアプリケーションはtomcat_install/webapps/サブディレクトリにデプロイすることをお薦めします。このオプションは、「WARファイル」デプロイメント・プロファイルの一般ページで設定します。

  • Tomcatアプリケーション・サーバーのシステム管理者は、conf/server.xmlファイルでアプリケーションへのコンテキスト・パスを割り当てる必要があります。

    <DefaultContext crossContext="true"/> 
    

    詳細は、Tomcatのシステム管理ドキュメントを参照してください。

  • TomcatにデプロイしたJSPアプリケーションを実行すると、次のエラー・メッセージが表示される場合があります。

    Only one of the two parameters ... or ... should be defined.
    

    Tomcatではプール後にタグがリリースされないため、定義されている互換性のない属性を同じタグに引き続き使用すると、このようなエラーが発生します。

    エラーの発生を避けるには、Tomcatでのタグのプーリングを無効化する必要があります。

    1. テキスト・エディタで、tomcat_home/conf/web.xmlファイルを開きます。

    2. 次の要素を検索します。

      <init-param>
        <param-name>enablePooling</param-name>
        <param-value>true</param-value>
      </init-param>
      

    <param-value>の値をfalseに変更します。

WebSphereへのデプロイ

JDeveloperで生成されたEARを含むディレクトリに空白があると、WindowsへのWebSphereのデプロイは機能しません。

コマンドライン・オプションを渡すためにターゲット・アプリケーション・サーバー接続に直接アクセスできます。たとえば、RMI-IIOPデプロイメントをサポートするために、必要なスタブとスケルトンをクライアント側に含むクライアントJARを指定できます。これらのオプションは、サーバーのデフォルト設定を上書き(つまり無視)します。

デプロイ時にターゲット・アプリケーション・サーバー接続にオプションを渡すには、次の手順を実行します。

  1. まだ作成していない場合は、適切なデプロイメント・プロファイルを作成します。

  2. 「アプリケーション」ウィンドウで、プロジェクトを右クリックして「プロパティ」を選択します。

  3. 「プロジェクト・プロパティ」ダイアログの左側のパネルで、「デプロイメント」を選択します。

  4. 編集するデプロイメント・プロファイルを選択し、「編集」をクリックします。

  5. コマンド・オプションを渡すターゲット接続タイプに対応したページが開きます。

  6. ページを編集するか、または「デフォルトに戻す」をクリックしてターゲット・サーバーのデフォルト設定に戻します。

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

  7. 「デプロイメント・プロファイルのプロパティ」の編集が終了したら、「OK」をクリックします。

21.3.8 デプロイメント・プランの使用方法

デプロイメント・プランを使用すると、デプロイメントの値をオーバーライドできます。これを行う理由の1つは、テストを終了したアプリケーションを本番環境で実行できるように、デプロイメント・プロファイルを変更せずに設定を変更することです。

デプロイメント・プランを使用するように構成されているEAR、WARまたはEJB JARアーカイブをデプロイすると、アーカイブとデプロイメント・プランの両方がアプリケーション・サーバーに送信されます。1つのアプリケーションで複数のデプロイメント・プランを使用できます。

詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』で、「製品デプロイ用のアプリケーションの構成」のデプロイメント・プランに関する項を参照してください。

application.earというEARのデプロイメント・プランの例を次に示します。module-name要素には、関連付けるデプロイメント・プロファイルの名前が含まれている必要があります。

例21-1 デプロイメント・プランの例

<deployment-plan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.oracle.com/technology/weblogic/10.3/deployment-plan
http://www.oracle.com/technology/weblogic/10.3/deployment-plan/1.0/deployment-plan.xsd" 
xmlns="http://www.oracle.com/technology/weblogic/10.3/deployment-plan">
  <application-name>DeployPlan</application-name>
  <variable-definition>
    <variable>
      <name>SessionDescriptor_timeoutSecs</name>
      <value>888</value>
    </variable>
    <variable>
      <name>SessionDescriptor_invalidationIntervalSecs</name>
      <value>888</value>
    </variable>
    <variable>
      <name>SessionDescriptor_cookieMaxAgeSecs</name>
      <value>888</value>
    </variable>
  </variable-definition>
  <module-override>
    <module-name>application.ear</module-name>
    <module-type>ear</module-type>
    <module-descriptor external="false">
      <root-element>weblogic-application</root-element>
      <uri>META-INF/weblogic-application.xml</uri>
      <variable-assignment>
        <name>SessionDescriptor_timeoutSecs</name>
        <xpath>/weblogic-application/session-descriptor/timeout-secs</xpath>
      </variable-assignment>
      <variable-assignment>
        <name>SessionDescriptor_invalidationIntervalSecs</name>
        <xpath>/weblogic-application/session-descriptor/invalidation-interval-secs</xpath>
      </variable-assignment>
      <variable-assignment>
        <name>SessionDescriptor_cookieMaxAgeSecs</name>
        <xpath>/weblogic-application/session-descriptor/cookie-max-age-secs</xpath>
      </variable-assignment>
    </module-descriptor>
  </module-override>
</deployment-plan>

デプロイメント・プランを使用するように構成されているEAR、WARまたはEJB JARアーカイブをデプロイすると、アーカイブとデプロイメント・プランの両方がアプリケーション・サーバーに送信されます。1つのアプリケーションで複数のデプロイメント・プランを使用できます。

21.3.8.1 デプロイメント・プランの作成および使用方法

新規ギャラリからデプロイメント・プランを作成し、XMLエディタで編集できます。

作成したデプロイメント・プランは、EAR、WARまたはEJB JARに関連付けることができます。

または、Oracle WebLogic Serverでデプロイメント・プランを生成し、JDeveloperで使用する方法もあります。

デプロイ・プランを作成するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、デプロイメント・プランを作成するプロジェクトを選択します。

  2. 「ファイル」→「新規」を選択して「新規ギャラリ」を開きます。

  3. 「カテゴリ」ツリーで「General」を展開し、「デプロイメント・ディスクリプタ」を選択します。「項目」リストで「WebLogicデプロイメント・ディスクリプタ」を選択し、「OK」をクリックします。

  4. 「WebLogicデプロイメント・ディスクリプタの作成」の「ディスクリプタの選択」ページで、plan.xmlを選択します。

    これが、アプリケーションで作成する初めてのデプロイメント・ディスクリプタである場合、「終了」を選択して、「plan.xml」というデフォルト名のままデプロイメント・プランを作成できます。

    アプリケーションにplan.xmlという名前のデプロイメント・プランがすでにある場合は、「名前の選択」ページに移動し、デプロイメント・プランの新しい名前を入力してから「終了」をクリックします。デプロイメント・プランが作成されてプロジェクトに追加され、XMLエディタ・ウィンドウに表示されます。

  5. EAR、WARまたはEJB JARの「デプロイメント・プロファイルのプロパティ」を開きます。

  6. 「デプロイメント計画」フィールドに、デプロイメント・プランへのパスを入力します。

21.3.8.2 デプロイメント・プランの生成方法

デプロイメント・プランを使用すると、アプリケーションのデプロイメント構成を複数のWebLogic Server環境にエクスポートできます。

デプロイメント・プランは、JDeveloperで最初から作成できます。

または、この項で説明しているように、デプロイメント・プランを生成してJDeveloperでアプリケーションに追加し、目的に合せて編集できます。これを行うには、次の2つの方法があります。

  • アプリケーションをOracle WebLogic Serverにデプロイし、管理コンソールを使用してアプリケーションに変更を加えて、生成されたデプロイメント・プランを保存します。次に、デプロイメント・プランをJDeveloperでソースにコピーし戻し、必要な場合には変更できます。詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』で、「製品デプロイ用のアプリケーションの構成」のデプロイメント・プランに関する項を参照してください。

  • weblogic.PlanGeneratorコマンドライン・ツールを使用し、EARを使用するアプリケーションにデプロイメント・プランを生成します。詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「weblogic.PlanGeneratorコマンドライン・ツール」を参照してください。

WebLogic Server管理コンソールを使用してデプロイメント・プランを生成するには、次のようにします。

  1. Oracle WebLogic Serverにアプリケーションをデプロイします。

  2. WebLogic Server管理コンソールを開きます。

    ドメインにインストールしたアプリケーションのデプロイメント・プロパティを対話的に変更すると、WebLogic Server管理コンソールは、有効なデプロイメント・プランを自動的に生成(または更新)します。生成されたデプロイメント・プランを使用して後続のデプロイメントでアプリケーションを構成することも、デプロイメント・プロパティの編集と保存を繰り返して新しいバージョンのデプロイメント・プランを生成することもできます。

weblogic.PlanGeneratorコマンドライン・ツールを使用してデプロイメント・プランを生成するには、次のようにします。

  1. コマンドラインから、install/wlserver_10.3/server/bin/に移動して、setWLSEnv.shスクリプトまたはsetWLSEnv.cmdスクリプトを実行し、WebLogic ServerクラスをマシンのCLASSPATH環境変数に追加して、PATHで正しいJDKバイナリが使用可能であることを確認します。

  2. コマンドラインからEARファイルの場所に移動し、java weblogic.PlanGenerator -plan plan.xml application-name.ear -allを実行します。

    スイッチ-allを指定すると、EARファイルで想定されるすべての属性の要素を含むデプロイメント・プランが生成されます。このスイッチを削除すると、生成されるデプロイメント・プランには、ディスクリプタ・ファイルに既存の属性の要素のみが含まれます。

21.4 Javaアプリケーションのデプロイ

JDeveloperは、様々なアプリケーション・サーバーに対する、様々なテクノロジを含むアプリケーションのデプロイをサポートしています。この項では、アプリケーションをファイル・システム上の実行可能JARファイルにデプロイする手順について説明します。Java EEテクノロジを含むアプリケーションをデプロイする場合や、統合アプリケーション・サーバー、Oracle WebLogic Server、またはサポート対象の他のアプリケーション・サーバーにデプロイする場合は、第21.3項「アプリケーション・サーバーへのJava EEアプリケーションの接続とデプロイ」に示す必須の構成および準備手順を完了していることを確認してください。

21.4.1 Java JARへのデプロイ

アプリケーションは、アーカイブ・ファイルをデプロイメント・ターゲットとして選択することで、間接的にデプロイできます。アーカイブ・ファイルは、ターゲットJava EEアプリケーション・サーバーに後でインストールできます。

JDeveloperには、異なるアプリケーションに対する様々なデプロイメント・モードがあります。ただし場合によっては、アプリケーションをJARファイルとしてファイル・システムに迅速かつ簡単にデプロイすることが必要になります。


注意:

実行可能なJARファイルをデプロイするためには、デプロイメント・プロファイルをあらかじめ作成しておく必要があります。

JDeveloperでシンプル・アーカイブをデプロイするには、次の手順を実行します。

  1. 「アプリケーション」ウィンドウでプロジェクトを選択して右クリックします。

  2. 「デプロイメント・プロファイルのデプロイ」を選択します。デプロイメント・プロファイルは、前に作成したデプロイメント・プロファイルです。

  3. 「デプロイ」ダイアログの「デプロイメント・アクション」ページで「JARファイルにデプロイ」を選択し、ウィザードを終了します。

シンプル・アーカイブまたはJava EEクライアント・モジュールを実行可能JARファイルにすると、javaコマンドを使用して起動できます。


注意:

実行可能なJARファイルをデプロイするためには、デプロイメント・プロファイルをあらかじめ作成しておく必要があります。

実行可能JARファイルをデプロイするには、次の手順を実行します。

  1. 「アプリケーション」ウィンドウでプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。

  2. 「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロパティの名前を選択して、「編集」をクリックします。

  3. ツリーで「JARオプション」をクリックします。

  4. 「manifestファイルを含める(META-INF/MANIFEST.MF)」を選択します。

  5. 「メイン・クラス」フィールドに、コールするアプリケーション・クラスの完全修飾名を入力します。

  6. 「OK」をクリックします。

  7. プロファイルをファイルにデプロイすることにより、JARファイルを作成します(前の項を参照してください)。myapp.jarなどのJARファイルが作成されます。

  8. コマンドラインから次のコマンドを実行し、実行可能JARファイルを起動します。

    java -jar myapp.jar
    

21.4.2 OSGiバンドルへのデプロイ

アプリケーションはOSGiバンドルとしてデプロイでき、それをOSGiコンテナにデプロイできます。

JDeveloperには、異なるアプリケーションに対する様々なデプロイメント・モードがあります。ただし場合によっては、アプリケーションをJARファイルとしてファイル・システムに迅速かつ簡単にデプロイすることが必要になります。


注意:

OSGiバンドルをデプロイするには、デプロイメント・プロファイルをあらかじめ作成しておく必要があります。詳細は、第21.3.3項「デプロイメント・プロファイルの作成および編集方法」を参照してください。

JDeveloperでOSGiバンドルをデプロイするには、次のようにします。

  1. 「アプリケーション」ウィンドウでプロジェクトを選択して右クリックします。

  2. 「デプロイメント・プロファイルのデプロイ」を選択します。デプロイメント・プロファイルは、前に作成したOSGiバンドルのデプロイメント・プロファイルです。

  3. 「デプロイ」ダイアログの「デプロイメント・アクション」ページで「OSGiバンドルにデプロイ」を選択し、ウィザードを終了します。

21.5 Java EEアプリケーションのデプロイ

Java EEアプリケーションは、JDeveloperを使用してスタンドアロン・アプリケーション・サーバーに直接デプロイすることも、アーカイブ・ファイルを作成し、他のツールを使用してアプリケーション・サーバーにデプロイすることもできます。

21.5.1 JDeveloperからアプリケーション・サーバーへのデプロイ方法

Java EEエンタープライズ・アーカイブ(EAR)デプロイメント・プロファイルを使用すると、アプリケーション・アセンブリの処理を集中管理できます。このアセンブル・タスクでは、EARファイルに組み込む構成済のJava EEデプロイメント・プロファイルを選択します。構成済のWAR、EJB JARまたはクライアントJARのプロファイルは、同じアプリケーション内のプロジェクトとして任意に組み合せることができます。アプリケーションを任意のアプリケーション・サーバー接続にデプロイする場合、JDeveloperでは、プロファイルの組合せを含む最小限のEARファイルがアセンブルされ、ターゲット・アプリケーション・サーバーにデプロイされます。

アプリケーションをJava EEエンタープライズ・アーカイブ(EARファイル)としてデプロイするには、次の手順を実行します。

  1. EARファイルのデプロイメント・プロファイルを作成します。

  2. ターゲット・アプリケーション・サーバーへの接続を作成します。

  3. 「アプリケーション」ウィンドウでプロジェクトを右クリックし、「デプロイ」→デプロイメント・プロファイルを選択します。

  4. 「デプロイ」ダイアログの「デプロイメント・アクション」ページで、いずれかのデプロイメント・オプションを選択します。

    • アプリケーション・サーバー接続にデプロイ。WebモジュールをEARファイルとしてパッケージ化し、「デプロイ」ダイアログの「サーバーの選択」ページで選択または作成したアプリケーション・サーバー接続にデプロイします。

    • EARファイルにデプロイ。WebモジュールをEARファイルとしてパッケージ化し、EARデプロイメント・プロファイルで指定された場所に保存します。

EARデプロイメント・プロファイルを後から開きなおして変更を加えるには、「アプリケーション」ウィンドウのツールバーでアプリケーションを右クリックし、「アプリケーション・プロパティ」を選択します。次に、「アプリケーション・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。

  • 既存のEARファイルがある場合は、JDeveloper EARインポート機能を使用してEARを任意のプロジェクトにインポートできます。

  • EARファイルに含めるJARファイル、WARファイルおよびGARファイルは、EARファイルのデプロイ前に作成されている必要があります。これらの従属するアーカイブを作成するには、含まれるアプリケーションのデプロイメント・ディスクリプタに対して、「デプロイ」ダイアログで「JARファイルにデプロイ」、「GARにデプロイ」または「WARファイルへデプロイ」を選択します。

  • EARファイルにはパスワードが含まれていないため、たとえばEARファイルを作成してOracle WebLogic Serverで実行する場合、データソースをサーバー上で設定する必要があります。

21.5.2 RARファイルをデプロイする方法

リソース・アダプタ・アーカイブ(RAR)ファイルに格納されているリソース・アダプタは、Java EEアプリケーションのEARファイルと同様に、すべてのJava EEサーバーにデプロイできます。RARファイルは、EARファイルに含めるか、個別ファイルとして存在させることができます。

JDeveloperでリソース・アダプタ・アーカイブをデプロイするには、次の手順を実行します。

  1. デプロイメント・プロファイルを作成します。


    注意:

    変更を加えるために後でプロジェクト・デプロイメント・プロファイルを再オープンするには、「アプリケーション」ウィンドウでそのプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。次に、「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。

  2. 「アプリケーション」ウィンドウでプロジェクトを右クリックし、「デプロイ」→デプロイメント・プロファイルを選択します。

  3. 「デプロイ」ダイアログの「デプロイメント・アクション」ページで、「RARファイルにデプロイ」を選択します。

21.5.3 リソース・アダプタ・アーカイブ(RAR)をEARに追加する方法

JDeveloperプロジェクトでは、EARプロファイルは、リソース・アダプタ・アーカイブ・ファイル(RARまたは.rar)をサポートしています。通常、RARファイルは、JDBCドライバのようにEnterprise Intelligence Server (EIS)ベンダーによって提供されます。Java EE開発者は、RARがサポートするEISサービスを自分のJava EEアプリケーションで利用する場合、RARファイルを自分のEARファイルにパッケージする必要があります。JDeveloperでは、RARファイルの作成を直接サポートしていませんが、JARファイル・デプロイメント・プロファイルのファイル・グループ機能を使用してRARファイルをアセンブルすることはできます。

ra.xmlファイルは、J2EE Connector Architecture (JCA)対応のRARファイルのデプロイメント・ディスクリプタです。詳細は、次を参照してください。

http://www.oracle.com/technetwork/java/javaee/tech/entapps-138775.html

RARをEARデプロイメント・プロファイルに追加するには、次の手順を実行します。

  1. JDeveloperで、既存のRARファイルをプロジェクトに追加します。

  2. 同じプロジェクト内に、RARファイルとしてEARデプロイメント・プロファイルを作成します。

  3. 「アプリケーション」ウィンドウでプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。

  4. 「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロパティの名前を選択して、「編集」をクリックします。

  5. 「アプリケーション・アセンブリ」ノードをクリックして、現在、プロジェクトに保存されている使用可能なJava EEモジュール(WARおよびEJB JAR)をすべて表示します。

  6. アセンブルしてEARファイルとともにパッケージ化するRAR (.rar)ファイルの隣にあるチェック・ボックスをチェックします。

  7. 「OK」をクリックします。

  8. Java EE EARをデプロイします。

デプロイ時に、EARファイルのapplication.xmlには、RARファイルに自動的に追加される<connector>要素が含まれています。

21.5.4 メタデータ・アーカイブ(MAR)をデプロイする方法

メタデータ・アーカイブ(MAR)プロファイルは、アプリケーション・レベルのデプロイメント・プロファイルで、シード・カスタマイズをパッケージ化したり、ベース・メタデータをMDSリポジトリに配置するために使用します。MARプロファイルでは、ファイル・レベルではなくパッケージ・レベルでのみ選択が行えます。

MARプロファイルには、2つの使用方法があります。

  • 1つ目の使用方法は、MARプロファイルを作成することです。作成したプロファイルは、デプロイのためにアプリケーションのEARに含めることができます。

  • 2つ目の使用方法は、リモート・サーバーにデプロイされるアプリケーション用に構成されたMDSリポジトリにMARの内容をエクスポートすることです。この手順は、ADFライブラリのカスタマイズ変更を、リモート・アプリケーション・サーバーのデプロイ済アプリケーションに適用するためのものです。カスタマイズを初めてMARにパッケージ化し、最終的にEARの一部とするための手順ではありません。

詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』でカスタマイズされたアプリケーションをパッケージおよびデプロイする方法に関する説明を参照してください。

21.5.5 アプレットをWARファイルとしてデプロイする方法

アプレットを含むWebアプリケーション・コンポーネントは、WARファイルまたはEARファイルとしてターゲット・アプリケーション・サーバーにデプロイできます。

アプレットをWARファイルとしてデプロイするには、次の手順を実行します。

  1. まだ構成していない場合は、アプレットをデプロイ用に構成します。

  2. まだ作成していない場合は、アプリケーション・サーバー接続を作成します。

  3. 「アプリケーション」ウィンドウで、プロジェクトを右クリックして「デプロイ」を選択し、デプロイメント・プロファイルを選択します。

  4. アプリケーション・サーバー接続にデプロイします。デプロイメント・プロファイルで指定されたアーカイブ・タイプを作成し、「デプロイ」ダイアログの「サーバーの選択」ページで選択または作成したアプリケーション・サーバー接続にデプロイします。

    • アプリケーション・サーバー接続にデプロイ。デプロイメント・プロファイルで指定されたアーカイブ・タイプを作成し、「デプロイ」ダイアログの「サーバーの選択」ページで選択または作成したアプリケーション・サーバー接続にデプロイします。

    • EARファイルにデプロイ。プロジェクトとその依存性(デプロイメント・プロファイルに指定)をEARにデプロイします。JDeveloperでは、EARファイルはデプロイメント・プロファイルに指定されているデフォルト・ディレクトリに置かれます。

    • WARファイルへデプロイ。プロジェクトをWARにデプロイします。JDeveloperでは、WARファイルはデプロイメント・プロファイルに指定されているデフォルト・ディレクトリに置かれます。


    注意:

    デプロイされるアプレット・ファイルは、デプロイ済の他のWebアプリケーション・ファイルとは別の場所に配置する必要があります。

デプロイしたWebアプリケーションは、ブラウザを実行してテストできます。詳細は、第21.7項「アプリケーションのテストとデプロイの検証」を参照してください。

「クラスが見つかりません」というエラーの表示など、Swingアプレット(JApplet)をデプロイしているときに問題が発生する場合、JDeveloperがSwingライブラリを検出できないことを意味している可能性があります。場合によっては、クライアントでSunのJava SEブラウザ・プラグインを使用するか、JVMバージョン1.1のSwingライブラリをアプレットにバンドルする必要があります。

21.5.6 共有ライブラリ・アーカイブをデプロイする方法

共有Java EEライブラリを使用すると、1種類以上のJava EEモジュールを複数のエンタープライズ・アプリケーション間で簡単に共有できます。共有ライブラリは、JARファイルとしてアプリケーション・サーバーにデプロイできます。

詳細は、『Oracle WebLogic Serverアプリケーションの開発』の第9章「共有Java EEライブラリおよびオプション・パッケージの作成」を参照してください。

共有ライブラリ・アーカイブを作成してデプロイするには:

  1. 共有ライブラリのデプロイメント・プロファイル(共有ライブラリJARファイル)を作成します。詳細は、第21.3.3.2項「デプロイメント・プロファイルの作成」を参照してください。

  2. 「JARデプロイメント・プロファイルのプロパティの編集」ダイアログで、ライブラリをプロファイルに追加します。「ファイル・グループ」を選択し、「新規」をクリックして「ファイル・グループの作成」ダイアログを開き、新しいファイル・グループを定義します。

  3. ターゲット・アプリケーション・サーバーへの接続を作成します。

  4. 「アプリケーション」ウィンドウでプロジェクトを右クリックし、「デプロイ」→共有ライブラリ・デプロイメント・プロファイルを選択します。

  5. 「共有ライブラリのデプロイ」ダイアログの「デプロイメント・アクション」ページで、Weblogicアプリケーション・サーバーへのデプロイを選択し、「終了」をクリックします。

21.5.7 停止している管理対象サーバーにデプロイする方法

デプロイメントを正常に行うには、デプロイメント・プロセスを処理する関係から、WebLogic Serverドメインのアプリケーション・サーバーが起動している必要があります。停止しているサーバーにデプロイすると、デプロイメント・ログ・ウィンドウのメッセージにはサーバーが停止していると表示されますが、再起動したときにアプリケーションがインストールされます。ログ・メッセージの内容は、次のようになります。

[02:27:21 PM] ----  Deployment started.  ----
   [02:27:21 PM] Target platform is  (Weblogic 10.3).
   [02:27:23 PM] Retrieving existing application information
   [02:27:23 PM] Running dependency analysis...
   [02:27:23 PM] Building...
   [02:27:26 PM] Deploying 2 profiles...
   [02:27:26 PM] Wrote Web Application Module to /scratch/.../jdev/mywork/Application1/Project1/deploy/webapp1.war
   [02:27:26 PM] Wrote Enterprise Application Module to /scratch/.../jdev/mywork/Application1/application1.ear
   [02:27:26 PM] Deploying Application...
   [02:27:27 PM] [Deployer:149195]Operation 'deploy' on application 'application1' has been deferred since   'Server-2' is unavailable
   [02:27:27 PM] [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application application1   on Server-2.: .
   [02:27:27 PM] Application Deployed Successfully.
   [02:27:27 PM] Elapsed time for deployment:  5 seconds
 [02:27:27 PM] ----  Deployment finished.  

デプロイメントが正常に実行されたように見えても、サーバーを再起動したときデプロイメントが正常に終了しないという場合があります。たとえば、デプロイメント・プロセスの一環である検証の一部が実行されなかった、あるいは正常なデプロイメントに必要なライブラリが欠落しているなどの原因が考えられます。この場合、サーバーを再起動しても、再開されたデプロイメントが失敗します。

停止しているサーバーには、アプリケーションを1回しかデプロイできません。停止している同じサーバーに同じアプリケーションを再度デプロイしようとすると、エラーが表示されます。

21.6 デプロイ後の構成

アプリケーションをOracle WebLogic Serverにデプロイすると、複数のOracle WebLogic Server間で移行が可能になります。

最初のデプロイ時と同じ手順の一部を実行する必要がある場合があります。

一般に、アプリケーションを別のアプリケーション・サーバーに移行する際には、次の作業を行います。

  • ターゲットとなるアプリケーション・サーバーを正しいデータベース接続情報またはURL接続情報で構成します。

  • セキュリティ情報、たとえばJDBCデータソースをソースからターゲットに移行します。

  • 新しいサーバーにアプリケーションをデプロイします。

21.7 アプリケーションのテストとデプロイの検証

アプリケーションは、デプロイが完了したら、Oracle WebLogic Serverからテストすることができます。

デプロイメントのログ・ウィンドウには、デプロイされたWebアプリケーションのコンテキスト・ルートURLが表示されます。ブラウザにアプリケーションのURLを入力して、デプロイ済のWebアプリケーションにアクセスできます。デプロイされたWebアプリケーションのURLが、たとえば次のようにデプロイメントのログ・ウィンドウに表示されます。

[03:08:20 PM] The following URL context root(s) were defined and can be used as a starting point to test your application:
[03:08:20 PM] http://12.345.678.912:7101/Project1
[03:08:21 PM] Elapsed time for deployment: 7 seconds
[03:08:21 PM] ---- Deployment finished. ----

URLをコピーしてブラウザに貼り付ければ、デプロイされたWebアプリケーションをテストできます。

ブラウザのプロキシ設定によっては、ホスト・マシンの完全なドメイン名を指定する必要があります。サーブレット・エンジンと、デプロイ済アプリケーションの表示に使用するブラウザが同じマシン上に存在する場合、ホスト名としてlocalhostを使用できます。

21.8 コマンドラインからのデプロイ

JDeveloperデプロイメントは、プロファイルと呼ばれる設計時データ構造の周辺に構築されます。一般的な実装は、JARアーカイブの構造を記述したArchiveProfileです。デプロイメント・プロファイルは、JDeveloperのプロジェクトまたはワークスペースの一部として作成できます。JDeveloperにはコマンド行ツールojdeployが用意されています。これを使用すると、JDeveloper GUIを起動せずに、ArchiveProfileのデプロイメントが可能になります。これは、最も単純な形式のデプロイメントです。これには次の機能があります。

ojdeployは、インプロセスでローカルにデプロイメントを実行することも、バックグラウンド・サーバーであるojserverに発行することもできます。詳細は、第21.8.5項「ojserverの使用」を参照してください。

コマンド行からデプロイする前に、JDeveloperを少なくとも1回実行して、アプリケーションまたはプロジェクトのデプロイメント・プロファイルを作成する必要があります。

デプロイメント・プロファイルは、アプリケーションまたはプロジェクトのプロパティの一部として格納されます。

21.8.1 ojdeploy

ojdeployは、jdeveloper_install/jdeveloper/jdev/binのコマンド行から入手できます。次のように使用します。

ojdeploy <commandId>

詳細を確認するには、次のように入力します。

ojdeploy <commandId> -help

現在使用できるコマンドは、deployToArchive (デフォルト)のみです。このコマンドにより、アーカイブ・ファイルにデプロイされます。

使用方法:

ojdeploy -profile <name> -workspace <jws> [ -project <name> ] [ <options> ]
ojdeploy -buildfile <ojbuild.xml> [ <options> ]
ojdeploy -buildfileschema

引数:

表21-2 引数

-buildfile

バッチ・デプロイ用のビルドファイルへのフルパス。

-buildfileschema

ビルドファイルの出力XMLスキーマ。

-profile

デプロイするプロファイルの名前。

-project

プロファイルを検索できる.jws内のJDeveloperプロジェクトの名前。省略すると、プロファイルはワークスペース内に存在しているとみなされます。

-workspace

JDeveloperのワークスペース・ファイル(.jws)へのフルパス。


オプション

表21-3 オプション

-address

デフォルト(localhost:2010)を使用しない場合のojserverのリスニング・アドレス。-address :2001または-address fasup-pls01のように、アドレスのデフォルト部分は省略可能です。

-basedir

ワークスペースのパス名を相対的に解釈できます。組込みマクロ${base.dir}-basedirの値が取得されます。

-clean

コンパイル前の出力ディレクトリのクリーン

-datasources

JEEアプリケーションの場合は非推奨。-nodatasourcesオプションにより、IDEにある接続情報でdata-sources.xmlファイルを更新できません。JEEアプリケーション以外の場合、このオプションは無視されます。

-define

カンマ区切りの名前=値のペアとして変数を定義します。

-failonwarning

ビルド・システムが起動しないようにします。これは、単にワークスペースまたはプロジェクトをパッケージ化し、その時点でコンパイルしない場合に便利です。-cleanを追加すると、コンパイルの前にプロジェクト出力ディレクトリからすべてのファイルが削除されます。ファイルまたはディレクトリを削除できなかった場合、デプロイはそのプロファイルで停止します。

-forcerewrite

ojdeployを実行して内容が変更されなかった場合でも、出力ファイルが再書込みされます。

-nocompile

ビルド・システムが起動しないようにします。これは、単にワークスペースまたはプロジェクトをパッケージ化し、その時点でコンパイルしない場合に便利です。-cleanを追加すると、コンパイルの前にプロジェクト出力ディレクトリからすべてのファイルが削除されます。ファイルまたはディレクトリを削除できなかった場合、デプロイはそのプロファイルで停止します。

-nodatasources

IDEのデータ・ソースを含めないでください。

-nodependents

プロジェクトおよびプロファイルの依存性に移動しないようにojdeployに指示します。つまり、依存プロジェクトは自動的にコンパイルされず、依存プロファイルは自動的にデプロイされません。これは、プロジェクトとプロファイルとの間の依存性が外部で計算される状況や、ojdeployの複数のインスタンスがプロジェクトとワークスペースの同じセットで機能している状況で役立ちます。

-ojserver

ojserver上でデプロイメント・ジョブを実行します。他のオプションによって参照されるパスはすべて、サーバー上でアクセスできる必要があります。

-outputfile

プロファイルから作成されるJARファイルをリダイレクトします。デフォルトは、プロジェクトまたはワークスペース内の\deployディレクトリ内です。

ファイル拡張子の自動化: -outputfileパラメータでファイル拡張子を指定しない場合、ojdeployは、プロファイルの元のファイル名を調べて拡張子を割り出します。

-project

指定した場合、プロジェクトでプロファイルを検索するようにojdeployに指示します。パスまたは拡張子.jprのない名前のみを指定します。

-statuslogfile

処理済のすべてのプロファイルとそれぞれのステータスのリストが格納されたXMLファイルを作成します。最後のサマリー・セクションをチェックすると、スクリプト全体の終了ステータスを簡単に確認できます。

-stderr

各プロファイルおよびプロジェクトのファイルにこれらの各ストリームをリダイレクトできます。ファイルの名前またはパスでマクロを使用できます。

-stdout

ファイルに標準出力をリダイレクトします。

-timeout

1つのプロファイルのデプロイメントが中止されるまでの経過秒数を指定できます。そのプロファイルが他のプロファイル(同様にデプロイが必要)に依存する場合、この時間内にすべて完了する必要があります。

-updatewebxmlejbrefs

web.xmlでEJB参照を更新します。

-workspace

デプロイメント・プロファイルは、大きく2つのカテゴリに分類できます。1つは、アプリケーション(ワークスペース)・レベルで定義されるデプロイメント・プロファイルであり、もう1つは、プロジェクト・レベルで定義されるデプロイメント・プロファイルです。ワークスペース・プロファイルをデプロイする場合、ojdeployでは、ワークスペースの場所、およびプロファイルの名前を取ります。プロジェクト・プロファイルをデプロイする場合、さらに-project引数を取ります。


組込みマクロ

表21-4 組込みマクロ

${workspace.name}

.jwsを除いたワークスペース名

${workspace.dir}

.jwsファイルが格納されたディレクトリ

${project.name}

.jprを除いたプロジェクト名

${project.dir}

.jprファイルが格納されたディレクトリ

${profile.name}

プロファイルの定義済の名前

${deploy.dir}

デフォルトのデプロイ・ディレクトリ。通常、プロジェクト・レベルのプロファイルの場合は${project.dir}/deploy、ワークスペース・レベルのプロファイルの場合は${workspace.dir}/deployです。

${base.dir}

-basedirパラメータの値、または現在のディレクトリ。


例:

プロジェクト・レベルのプロファイルをデプロイする場合

ojdeploy -profile webapp1 -workspace /usr/jdoe/Application1/Application1.jws
         -project Project1
ojdeploy -profile webapp1 -workspace Application1/Application1.jws 
         -basedir /usr/jdoe -project Project1

ワークスペース・レベルのプロファイルをデプロイする場合

ojdeploy -profile earprofile1 -workspace /usr/jdoe/Application1/Application1.jws

ワークスペースの全プロジェクトから全プロファイルをデプロイする場合

ojdeploy -workspace /usr/jdoe/Application1/Application1.jws 
         -project \* -profile \*

ojbuildファイルからバッチ・モードでビルドする場合:

ojdeploy -buildfile /usr/jdoe/ojbuild.xml

ojbuildファイルを使用してビルドし、デフォルトの変数をビルド・ファイルに渡したり上書きする場合:

ojdeploy -buildfile /usr/jdoe/ojbuild.xml -define myhome=/usr/jdoe,mytmp=/tmp
ojdeploy -buildfile /usr/jdoe/ojbuild.xml -basedir /usr/jdoe

ojbuildファイルを使用してビルドし、defaultセクションにパラメータを設定したり上書きする場合:

ojdeploy -buildfile /usr/jdoe/ojbuild.xml -nocompile

ojdeploy -buildfile /usr/jdoe/ojbuild.xml 
         -outputfile '${workspace.dir}/${profile.name}.jar'
ojdeploy -buildfile /usr/jdoe/ojbuild.xml -define mydir=/tmp 
         -outputfile '${mydir}/${workspace.name}-${profile.name}'

その他の例:

ojdeploy -workspace Application1/Application1.jws,Application2/Application2.jws
         -basedir /home/jdoe -profile app*
ojdeploy -buildfile /usr/jdoe/ojbuild.xml 
         -define outdir=/tmp,rel=11.1.1 
         -outputfile'${outdir}/built/${workspace.name}/${rel}/${profile.name}.jar'
ojdeploy -workspace Application1/Application1.jws -basedir /home/jdoe -nocompile
         -outputfile '${base.dir}/${workspace.name}-${profile.name}'
ojdeploy -workspace /usr/jdoe/Application1.jws -project * -profile * 
         -stdout /home/jdoe/stdout/${project.name}.log
ojdeploy -buildfile /usr/jdoe/ojbuild.xml -ojserver

21.8.2 Mac OS Xプラットフォームからのojdeployの使用

Mac OS Xプラットフォームでojdeployを使用している場合は、jdev_install/jdeveloper/jdev/bin/jdev.confファイル内の変数SetSkipJ2SDKCheckをtrueに設定する必要があります。エントリは次のようになります。

SetSkipJ2SDKCheck true

21.8.3 ojdeployの使用

現在JDeveloperでは、Antスクリプトによるデプロイをサポートしています。詳細は、第21.8.4項「Antを使用したコマンドラインからのデプロイ方法」

ojdeployを使用したコマンドラインによるデプロイは、バッチ・ファイルや他のスクリプトを使用して既存のプロジェクトやアプリケーションをデプロイする場合に特に便利です。

21.8.3.1 ビルド・スクリプトを編集せずにオーバーライドする方法

ビルド・スクリプトで定義したマクロ値を渡したりオーバーライドするには、-defineオプションを使用して、新しい値を指定します。

ojdeploy -buildfile /home/jdoe/ojbuild.xml -define "mycustomdir=/tmp"

これにより、mycustomdir変数がビルド・スクリプトの<defaults>セクションに追加されます。この変数が/tmp値にすでに定義されている場合は置き換えられます。

ビルド・スクリプトに定義したパラメータ値を渡したりオーバーライドするには、適切なパラメータ・オプションを使用します。次に例を示します。

ojdeploy -buildfile /home/jdoe/ojbuild.xml -nocompile -nodatasources

これにより、-nocompile-nodatasourcesパラメータがビルドファイルのdefaultセクションに追加されます。

21.8.3.2 コマンドラインから複数のプロファイルをデプロイする方法

コマンドライン・デプロイメントでは、1回の起動で複数のアプリケーションをデプロイできます。複雑な制御が必要な場合は、ojdeployでXMLビルド・スクリプトを指定して処理し、検出されたすべてのデプロイ・タスクを実行できます。マクロおよびワイルドカードは、コマンドラインとバッチ・モードの両方で使用できます。マクロは、まとめて連結したり、ネストすることができます。

デプロイ対象の各プロファイルは、アプリケーションとプロジェクトによって修飾されます。また、各プロファイルの出力は、異なる出力ファイルや場所に出力できます。さらに、コール側スクリプトではアプリケーション内のプロジェクトを認識しないため、基準に一致する全部または一部のプロジェクトのみがデプロイされます。このような入力や基準を指定するコマンドライン構文は煩雑となり、柔軟性が失われる場合があります。

ビルド・ファイルはojdeployに渡すことができます。ビルドファイルには、複数の<deploy>タスクとともに、環境を設定できる共有の<defaults>セクションが含まれます。各デプロイ・タスクでは、デプロイのタイプ(前述のセット)を指定し、必要に応じてデフォルト値をカスタマイズします。各タスクでは、そのタスクのスコープに適用するパラメータ引数内で適用可能なワイルドカードも使用できます。プリプロセッサはビルドファイルを解析してojdeployに渡し、必要に応じてワイルドカードを展開して変数を置換します。

ビルドファイルの利用には、コマンドライン構文にくらべて次の利点があります。

  • より多くのパラメータをojdeployに追加できます。パラメータのインプリメンタに、バッチ・ビルドの概念についての認識は不要です。

  • 煩雑な場合でも、コマンドライン構文を単純にできます。

  • 現在のコンテキストに基づいてパラメータを動的に評価し、プリプロセッサ・マクロの事前定義リストにアクセスできます。たとえば、OutputFileの場所をc:\temp\${profile.name}として指定できます。この場合、マクロ${profile.name}が自動的に追加されます。

サンプルのビルドファイルを次に示します。すべてのデプロイ処理を起動するためのコマンドラインはojdeploy ojdeploy-build.xmlです。ファイルは上から下へ処理されます。

<?xml version="1.0" encoding="US-ASCII" ?>
<ojdeploy-build basedir="/usr/jdoe/">
  <!-- Defines default parameters for all deploy tasks.
       Also defines some variables strictly for use within this file
       in macros
  -->
  <defaults>
    <parameter name="profile" value="*"/>
    <parameter name="nocompile" />
    <-- define a macro -->
    <variable name="customdir" value="/var/projects/fin/"/>
  </defaults>
  <!-- Select all .jws files in location ${customdir} called absoluteFile1.jws, absoluteFile2.jws.
       Open all projects.
       Deploy profiles p1, p2, p3 in each project, in each workspace.
  -->
  <deploy>
    <parameter name="workspace" value="${customdir}/absoluteFile1.jws,${customdir}/absoluteFile2.jws"/>
    <parameter name="project" value="*"/>
    <-- Override default profile parameter -->
    <parameter name="profile" value="p1,p2,p3"/>
  </deploy>
  <!--
    Open relativeFile1.jws in the base directory
    Open all projects.
    Deploy all profiles (default for "profile" parameter is "*")
  -->
  <deploy>
    <parameter name="workspace" value="relativeFile1.jws"/>
    <parameter name="project" value="*"/>
  </deploy>
  <!--
    Open relativeFile2.jws in base directory.
    Open all Projects
    Deploy profiles matching the patter "web*"
  -->
  <deploy>
    <parameter name="workspace" value="relativeFile2.jws"/>
    <parameter name="project" value="*"/>
    <parameter name="profile" value="web*"/>
  </deploy>
</ojdeploy-build>

21.8.3.3 ワイルドカード・サンプルの使用方法

プロジェクト名とプロファイル名は、"*"、"name*"、"name1,name2,name3,..."、またはこれらの組合せとして指定できます。アプリケーション名は列挙の必要があるため、アプリケーション名に"*"は使用できませんが、"application1"または"application1,application2,application3"のように指定できます。

次に例を示します。

  • adf* (プロファイル)

  • View* (プロジェクト)

  • *Controller(すべてのコントローラ・プロジェクト)

アプリケーションでワイルドカードを使用する例:

<ojdeploy-build basedir= "/home/jdoe" >
  <deploy>
    <parameter name= "workspace" value= "Application1.jws,Application2.jws" />
    <!-- above pattern gets /home/jdoe/Application1.jws and /home/jdoe/Application2.jws -->
    . . .
  </deploy>
/ojdeploy-build>

21.8.3.4 バッチ・デプロイメントのログ・ファイルの作成方法

-statuslogfileパラメータでは、ユーザーは、デプロイメント・バッチ全体のビルド・サマリーを作成できます。マクロを使用せず、絶対パスを指定してください。

ログ・ファイルには、処理されたデプロイ・タスクと各タスクのステータスがXML形式でリストされます。ステータスはSUCCESSまたはFAILEDのいずれかで、exitcode属性が含まれます。exitcodeに指定できる値は、次のとおりです。

  • 0: 成功

  • 1 - 致命的エラー(NPE、OutOfMemoryなど)

  • 2 - JDeveloper構成エラー(拡張子の欠落など)

  • 4 - デプロイ・エラー(コンパイル、デプロイ例外など)。すべての終了コードはビットごとにOR演算されます。

各ログの最後にあるサマリー・セクションでは、組み合されたステータスを使用できます。

例21-2 バッチ・デプロイメントのログ出力の例

<?xml version="1.0"?>
 <ojdeploy-log>
  <deploy-task>
   <target>
    <profile>webapp1</profile>
    <workspace>/scratch/jdoe/jdev/mywork/Application3/Application3.jws</workspace>
    <project>Project1.jpr</project>
   </target>
   <exception msg="**** One or more compilation errors prevented deployment from continuing.">
    oracle.jdeveloper.deploy.DeployException: **** One or more compilation errors prevented deployment from continuing.
    at oracle.jdevimpl.deploy.common.ModulePackagerImpl.compileDependents(ModulePackagerImpl.java:143)
    at oracle.jdeveloper.deploy.common.ModulePackager.compile(ModulePackager.java:65)
    at oracle.jdeveloper.deploy.common.ModulePackager.prepareImpl(ModulePackager.java:52)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.WrappedDeployer.prepareImpl(WrappedDeployer.java:32)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.WrappedDeployer.prepareImpl(WrappedDeployer.java:32)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:411)
    at oracle.jdevimpl.deploy.fwk.DeploymentManagerImpl$1.run(DeploymentManagerImpl.java:281)
 
   </exception>
   <status exitcode="4">FAILED</status>
  </deploy-task>
  <deploy-task>
  <target>
   <profile>archive1</profile>
   <workspace>/scratch/jdoe/jdev/mywork/Application3/Application3.jws</workspace>
   <project>Project1.jpr</project>
  </target>
  <exception msg="**** One or more compilation errors prevented deployment from continuing.">
    oracle.jdeveloper.deploy.DeployException: **** One or more compilation errors prevented deployment from continuing.
    at oracle.jdevimpl.deploy.common.ModulePackagerImpl.compileDependents(ModulePackagerImpl.java:143)
    at oracle.jdeveloper.deploy.common.ModulePackager.compile(ModulePackager.java:65)
    at oracle.jdeveloper.deploy.common.ModulePackager.prepareImpl(ModulePackager.java:52)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.WrappedDeployer.prepareImpl(WrappedDeployer.java:32)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.WrappedDeployer.prepareImpl(WrappedDeployer.java:32)
    at oracle.jdeveloper.deploy.common.AbstractDeployer.prepare(AbstractDeployer.java:69)
    at oracle.jdevimpl.deploy.fwk.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:411)
   at oracle.jdevimpl.deploy.fwk.DeploymentManagerImpl$1.run(DeploymentManagerImpl.java:281)
 
  </exception>
  <status exitcode="4">FAILED</status>
 </deploy-task>
 <deploy-task>
  <target>
   <profile>ejb1</profile>
   <workspace>/scratch/jdoe/jdev/mywork/Application3/Application3.jws</workspace>
   <project>Project3.jpr</project>
  </target>
 <status exitcode="0">SUCCESS</status>
 </deploy-task>
 <summary>
 <start-time>2007-12-19 12:10:42 PST</start-time>
 <end-time>2007-12-19 12:10:45 PST</end-time>
 <total-tasks>3</total-tasks>
 <failures>2</failures>
 <status exitcode="4">FAILED</status>
 </summary>
 </ojdeploy-log>

21.8.3.5 タイムアウト

-timeoutパラメータは、ランナウェイ・デプロイメントの終了に使用できます。これは、デプロイメントの所要時間に関する上限を指定します。

タイムアウトは、バッチ全体ではなくプロファイルごとに設定します。

21.8.4 Antを使用してコマンドラインからデプロイする方法

JDeveloperでのデプロイは、デプロイメント・プロファイルを基にして構築されています。一般的な実装は、JARアーカイブの構造を記述したArchiveProfileです。

デプロイメント・プロファイルは、プロジェクトまたはアプリケーションの一部として作成できます。ojdeployを使用すると、JDeveloper IDEを起動せずに、ArchiveProfileのデプロイが可能になります。

コマンド行デプロイメントには、JDeveloperのインストールが必要ですが、このインストールはヘッドレス・モードで起動されるため、JDeveloper IDEは表示されず、ヘッドレス・モードに定義されているすべての拡張機能がロードされます。この形式のデプロイでは、JDeveloperのアプリケーションとプロジェクト、およびそのメタデータを読み込むことができます。

コマンド行デプロイメントを起動するAntスクリプトは、手動で作成する必要があります。結果としてデプロイされるアーカイブは、使用しているJDeveloperのバージョン、およびコマンド行デプロイメントの起動時に有効な拡張機能によって異なります。


注意:

JDeveloperから、アプリケーション用の.earファイルを生成することをお薦めします。.earファイルは、デプロイに必要な適切なクラス依存性をすべて備えて生成されます。.earファイルを生成せずに直接アプリケーションを参照してAntでデプロイするには、クラスとJARファイルの依存性を手動で解決する必要がある場合があります。

21.8.4.1 Antビルド・スクリプトの生成方法

コマンド行デプロイメント用のAntビルド・スクリプトを簡単に作成するために、JDeveloperからAntスクリプトを生成できます。

  1. 「プロジェクト」ウィンドウでプロジェクトまたはアプリケーションを選択し、「ファイル」→「新規」→「ギャラリから」を選択します。「一般」カテゴリで「Ant」を選択します。「項目」ペインで、「ビルドファイル」タイプを選択し、「OK」をクリックします。

    プロジェクトのAntビルドファイル
  2. プロジェクトからのビルドファイルの作成ダイアログを完了して、「OK」をクリックします。このスクリプトからojdeployを起動するには、パッケージ化タスクを含めるを有効にします。

    パッケージ化タスクを含めるを選択してojdeployをコールします

    生成されたファイルの構造を例21-3に示します。

21.8.4.2 build.xmlファイルについて

build.propertiesファイルはbuild.xmlとともに生成され、コマンド行デプロイメントに必要な追加の変数を定義します。

例21-3 build.xmlの例

#Fri Feb 15 10:45:22 PST 2008
   #Sun Feb 24 18:47:36 PST 2008
   javac.nowarn=off
   javac.debug=on
   build.compiler=oracle.ojc.ant.taskdefs.OjcAdapter
   output.dir=classes
   oracle.home=../../oracle/
   javac.deprecation=off
   oracle.jdeveloper.ant.library=/scratch/jdoe/oracle/jdev//lib/ant-jdeveloper.jar
   oracle.jdeveloper.deploy.dir=/scratch/jdoe/Application7/Project1/deploy/
   oracle.jdeveloper.ojdeploy.path=/scratch/jdoe/oracle/jdev//bin/ojdeploy
   oracle.jdeveloper.workspace.path=/scratch/jdoe/Application7/Application7.jws
   oracle.jdeveloper.project.name=Project1
   oracle.jdeveloper.deploy.profile.name=*
   oracle.jdeveloper.deploy.outputfile=/scratch/jdoe/Application

21.8.4.3 build.propertiesファイルについて

Antビルド・スクリプトは、JDeveloperの外部で実行できます。実行するには、build.xmlが格納されたディレクトリに変更してAntを実行します。JDeveloper内からも実行できます。実行するには、「アプリケーション」ウィンドウでbuild.xmlノードを右クリックし、「すべて」または「デプロイ」ターゲットを選択します。


注意:

デフォルトでは、コマンドライン・デプロイメント・タスクには、タスクとして有効なnocompileオプションがあり、コンパイル・タスクに依存しています。この依存性が削除されている場合は、nocompileオプションも削除できます。

JDeveloperから、アプリケーション用の.earファイルを生成することをお薦めします。.earファイルは、デプロイに必要な適切なクラス依存性をすべて備えて生成されます。.earファイルを生成せずに直接アプリケーションを参照し、Antを使用してデプロイするには、クラスとJARファイルの依存性を手動で解決する必要がある場合があります。

例21-4 build.propertiesファイルの例

Buildfile: /scratch/jdoe/Application7/Project1/build1.xml 
 
init: 
 
compile: 
deploy:
 [ora:ojdeploy]
 [ora:ojdeploy] Oracle JDeveloper Deploy 11.1.1.0.0
 [ora:ojdeploy] Copyright (c) 2008, Oracle. All rights reserved.
 [ora:ojdeploy]
 [ora:ojdeploy] ----build file----
 [ora:ojdeploy] <?xml version = '1.0' standalone = 'yes'?>
 [ora:ojdeploy] <ojdeploy-build>
 [ora:ojdeploy] <deploy>
 [ora:ojdeploy] <parameter name="workspace" 
value="/scratch/jdoe/Application7/Application7.jws"/>
 [ora:ojdeploy] <parameter name="project" value="Project1"/>
 [ora:ojdeploy] <parameter name="profile" value="*"/>
 [ora:ojdeploy] <parameter name="nocompile" value="true"/>
 [ora:ojdeploy] <parameter name="outputfile" 
value="/scratch/jdoe/Application7/Project1/deploy/${profile.name}"/>
 [ora:ojdeploy] </deploy>
 [ora:ojdeploy] <defaults>
 [ora:ojdeploy] <parameter name="buildfile" 
value="/scratch/jdoe/Application7/Project1/deploy/ojdeploy-build.xml"/>
 [ora:ojdeploy] <parameter name="statuslogfile" 
value="/scratch/jdoe/Application7/Project1/deploy/ojdeploy-statuslog.xml"/>
 [ora:ojdeploy] </defaults>
 [ora:ojdeploy] </ojdeploy-build>
 [ora:ojdeploy] ------------------
 [ora:ojdeploy] ---- Deployment started. ---- Feb 24, 2008 6:49:51 PM
 [ora:ojdeploy] Target platform is (WebLogic 10.3).
 [ora:ojdeploy] Running dependency analysis...
 [ora:ojdeploy] Wrote JAR file to 
/scratch/jdoe/Application7/Project1/deploy/archive1.jar
 [ora:ojdeploy] Elapsed time for deployment: less than one second
 [ora:ojdeploy] ---- Deployment finished. ---- Feb 24, 2008 6:49:51 PM
 [ora:ojdeploy] ---- Deployment started. ---- Feb 24, 2008 6:49:51 PM
 [ora:ojdeploy] Target platform is (Java Enterprise Edition 1.5).
 [ora:ojdeploy] Running dependency analysis...
 [ora:ojdeploy] Wrote WAR file to 
/scratch/jdoe/Application7/Project1/deploy/WindowMobile.war
 [ora:ojdeploy] Elapsed time for deployment: less than one second
 [ora:ojdeploy] ---- Deployment finished. ---- Feb 24, 2008 6:49:52 PM
 [ora:ojdeploy] Status summary written to 
/scratch/jdoe/Application7/Project1/deploy/ojdeploy-statuslog.xml
 
BUILD SUCCESSFUL
 Total time: 19 seconds

21.8.4.4 拡張開発者用のojdeploy

ojdeployコマンドには、拡張をojdeployプロセスに組み込むことができるフレームワークがあります。新しいフレームワークが登場する前は、ojdeployでは、アーカイブへのデプロイメントのみが可能でした。新しいフレームワークは、DeployCommand実装の作成と実行に対応するように設計されています。このフレームワークでは、たとえば、DeployCommandに対するojdeployのサポートを定義する拡張が可能です。

新しいフレームワークでは、次のような拡張が可能です。

  • 各自のOJDeploy引数および解析ルールを定義します。

  • 各自のコマンド・パーサーおよびモデルを定義します(オプション)。

  • ContextIteratorsを介した各自の引数の拡張およびワイルドカード・ロジックを定義します(オプション)。

  • DeployCommandコンテキストの正確な構成を制御します。

  • DeployCommandインスタンスの作成と設定を制御します。

このフレームワークは、柔軟性が大幅に向上する一方で、使用しやすいメカニズムが拡張作成者に提供されるように設計されています。これは、フレームワークに様々な組込みコンポーネント(AbstractCommandSupportやAbstractContextIteratorなど)が用意されているためです。

表21-5 クラスの種類

クラス名 説明

引数

ojdeployプロセスに渡されるコマンド行引数を表します。Buildfilesパラメータ/変数も引数に変換されて処理されることに注意してください。

BuildScript

BuildScriptは、OJDeployプロセスの入力であるビルドファイルを表します。BuildScriptは、ビルドファイルから作成することも、コマンド行引数を解析することで作成することもできます。ただし、BuildScriptは、必ずOJDeployプロセス中に作成されます。

OJBuildScriptSupport

このクラスは、BuildScriptをojdeploycommanditeratorに変換します。次のシーケンス図に示すように、このクラスは、OJCommandSupportの作成、引数の解析およびOJContextIteratorsの作成を制御します。

OJCommandSupport

このクラスは、指定のDeployCommandの適切な作成をサポートする場合に使用されます。たとえば、DeployToArchiveCommandSupportが、アーカイブ・ファイルへのプロファイルのデプロイメントを可能にする1つの実装であるとします。この場合、各自のojdeployコマンドの拡張にロジックの大部分が実装されます。各自のOJCommandSupport実装の作成方法の手順については、次に示す手順の項を参照できます。

Context

IDEコンテキスト。コンテキストは重大です。これは、DeployCommandFactoryを介してDeployCommandインスタンスを作成する目的で使用されるためです。ojdeployの拡張として、DeployCommandインスタンスのインスタンス化に必要なコンテキストを構築する必要があります。

OJContextIterator

コンテキストのイテレータ。各種コンテキスト・イテレータが、使用できるように事前に作成されていることに注意してください。たとえば、ojdeployフレームワークには、指定のワークスペース(WorkspaceContextIterator)、プロジェクト(ProjectContextIterator)およびプロファイル(ProfileContextIterator)に基づきコンテキスト・インスタンスを移入するイテレータがあります。おそらく各自のContextIteratorを作成する必要はありませんが、作成する場合は、その目的で拡張できるAbstractContextIteratorもフレームワークに含まれます(この詳細は、各自のOJContextIteratorの作成方法に関する次の項で説明します。)

DeployCommand

ojdeployプロセスの全体の目的は、DeployCommandインスタンスを作成して実行することです。DeployCommandはIDEコマンドの拡張です。

DeployService

DeployServiceは、ojdeployプロセスでのDeployCommandの作成と実行をojdeployプロセスが制御する場合に呼び出されます。これは、次のシーケンス図に示すように、実際はOJDeployフレームワークAPIのクライアントです。

OJCommandModel

OJCommandModelは、IDE CommandModelの拡張です。これは、OJCommandParserに解析される引数を保持します。

OJCommandParser

OJCommandParserは、引数の解析とOJCommandModelの作成に使用されます。

OJCommand

DeployCommandと混同しないでください。OJCommandは、単純にCommandID (「Deployment.DeployToFileなど」)やコマンド・ラベル(DeployToArchive)を保持する簡易クラスです。CommandIDは、DeployCommandFactoryがDeployCommandを作成する場合に使用されます。コマンド・ラベルは、コマンド行またはビルドファイルでDeployCommand識別子として使用されるものです。コマンド・ラベルは、CommandIDに対応するユーザー・フレンドリな表現です。そのため、2つの間には1対1の関係があります。

OJDeployCommandIterator

OJDeployCommandIteratorは、指定のBuildScriptのすべてのDeployCommandインスタンスを反復する場合に使用されます。OJDeployCommandIteratorをOJContextIteratorsとともに使用すると、すべてのDeployCommandコンテキスト・オブジェクト(ワークスペース、プロジェクト、プロファイルなど)の遅延ロードが可能になり、さらに、ojdeployプロセス中に適切なリソース管理を行う目的で各コマンドの実行後にそれらのオブジェクトが自動的にリリースされます。


図21-4 シーケンス図

拡張フレームワークのシーケンス図

現在の制限事項

  • GUIモードでIDE内からデプロイされたようにデプロイ済モジュールをojdeployで再作成するには、完全に同じJDeveloperインストールを使用する必要があります。Jdeveloperインストールに変更がある場合、ロードされる拡張あるいはそのバージョンも変更されている可能性があるため、最終結果も変わることがあります。

  • ojdeployの起動時間は、ヘッドレスJDeveloperの起動時間によって異なります。このモードに登録されるすべての拡張を初期化する必要があります。この時間は、ヘッドレス・モードの場合、各拡張がそれ自体を最適化することで短縮できます。大規模なビルドの場合、-ojserverオプションは、バックグラウンドで実行するサーバーにデプロイ・ジョブを発行できます。OJServerを参照

ヘッドレス属性の使用

ojdeployは、ヘッドレス(非GUI)モードでJDeveloperを実行します。これにより、このモードをサポートする各種拡張がすべて有効になります。

  • ヘッドレス・モードでの実行時にIDEアドイン(oracle.ide.Addin)がロードされていることを確認するには、これらをheadless=trueタグでマーク付けする必要があります。このようにマーク付けされていないアドインは、これらのヘッドレス・アドインから参照されません。

    Addin.initialize()中は、現在アクティブなワークスペースやプロジェクトなどのすべてのIDEコンテキストが利用可能です。

  • ojdeployで実行する必要がある拡張から提供されるすべてのデプロイメント・ツールキットもheadless=true属性でマーク付けする必要があります。

21.8.5 ojserverの使用

ojserverは、サーバー・モードで動作し、リモート・クライアントのリクエストをリスニングする、JDeveloperのヘッドレス・バージョンです。クライアント。RMIを使用してサービス・リクエストをサーバーに送信します。ojserverの主な目的は、JDeveloperをヘッドレス・モードで実行するバッチ・スクリプトでコマンドライン・ツールを使用する際に発生する起動時間を短縮することです。ojserverはoracle/jdeveloper/jdev/binディレクトリにあります。

ojserverの使用方法、パラメータ、オプションおよび例を表示するには、jdeveloper_install/jdeveloper/jdev/binのコマンドラインでojserverと入力します。

ojdeployは、インプロセスでローカルにデプロイメントを実行することも、-ojserverオプションを使用して、バックグラウンドのOJServerに発行することもできます。-ojserverを使用する場合、ojdeployは、デプロイメントが完了するまでブロックし、終了コードは、サーバーでのデプロイメントの発生状況に応じて設定されます。

ojserverでの実行時にローカル・デプロイメントのすべてのオプションも利用できますが、絶対パスを使用する場合、サーバーでそのパスにアクセスできる必要があります。

21.9 Java Web Startを使用したデプロイ

Java Web Startは、Java SE 6以上の一部としてJava Runtime Environment (JRE)に含まれます(http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.html)。

JDeveloperでは、Java Web Startテクノロジの基盤になる、XMLベースのJNLP (Java Network Launching Protocol)定義の作成がサポートされています。Java Web Startを使用すると、Javaアプリケーションをデプロイしてインターネット・ブラウザから起動できます。Javaクライアント・アプリケーションおよびアプレットをWebサーバー上で管理し、ユーザーがそれをクライアント・マシンにダウンロードして実行できます。JDeveloperのJava Web Start対応の作成ウィザードを使用すると、Webサーバーで管理されるが、クライアント・マシンでダウンロードおよび実行されるアプリケーションおよびアプレットを設定できます。


注意:

次回のレビューでこの注意点について再度確認します

2013年4月のJava SE 7 Update 21以降、すべてのJavaアプレットおよびWeb Startアプリケーションは、信頼できる証明書で署名することを求められます。7u25以降、署名する前に、すべてのファイルをJARに追加する必要があります。詳細は、Java Webサイト(http://www.oracle.com/technetwork/java/javase/tech/java-code-signing-1915323.html)を参照してください。


Java Web Startアプリケーションを開発するプロセスは、次のように要約できます。

  1. Javaアプリケーションを開発します。

  2. JDeveloper IDE内のJava Web Startで、アプリケーションを実行するユーザーの体験をシミュレートします。

  3. JDeveloperのJava EE Webデプロイ・プロセスを使用して、本番アプリケーションをWebサーバーに移動します。


注意:

JDeveloperのJava Web Startを使用してアプリケーションおよびアプレットを起動するには、Java Web Startソフトウェアをダウンロードしてインストールする必要があります。アプリケーションやアプレットのユーザーも、それぞれのマシンにソフトウェアをインストールする必要があります。

Java Web Startと、Java Web Startソフトウェアのダウンロードの詳細は、http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.htmlを参照してください。

21.9.1 Java Web Startテクノロジの目的

Java Web Startとアプレットは同様のテクノロジに見えますが、いくつかの相違点があります。

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

  • アプリケーションのユーザーが体験するアプレットの動作は、Java Web Startと同じですが、Java Web Startではアプレットの場合のようにWebブラウザに関連付けられていません。アプリケーションが実行されたらWebブラウザは閉じることができ、アプリケーションはそのままJava Web Startで実行されます。

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

21.9.1.1 Java Web Start対応の作成ウィザードによって生成されるファイル

アプリケーションをWebサーバー上で管理する一方で、アプリケーション・ユーザーはJava Web Startを使用してクライアント・マシン上でアプリケーションおよびアプレットを実行できます。Java Web StartとWebサーバーによるダウンロードをサポートするために、Java Web Start対応の作成ウィザードでは次のファイルが生成されます。

  • Java Web Startでアプリケーションをダウンロードして起動するために必要なJava Network Launching Protocol (JNLP)定義。.jnlpファイルには、アーカイブ・ファイルの記述と、このインスタンスにアプレットまたはアプリケーションが含まれているかどうかの記述があります。

  • Webサーバーからクライアントへのダウンロードを開始するためのURLを含んだHTMLファイル。HTMLファイルの作成はオプションですが、ファイルを手動で作成する場合を除いて、作成することを強くお薦めします。

アプリケーションをWebサーバー上で管理する一方で、ユーザーはJava Web Startを使用してクライアント・マシン上でアプリケーションおよびアプレットを実行できます。Java Web StartとWebサーバーによるダウンロードをサポートするために、Java Web Start対応の作成ウィザードでは次のファイルが生成されます。

21.9.1.2 JDeveloperにおけるWebサーバーの役割

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

Java Web Startの設定方法

  1. クライアント・マシンにダウンロードされ、実行されるアプリケーションのソース・ファイルを含んだシンプルJavaアーカイブ.jarファイルを作成します。

  2. JDeveloperでJava Web Start対応の作成ウィザードを起動し、アプリケーションやアプレットをクライアント・マシンでダウンロードして実行できるようにするHTMLファイルおよびJNLPファイルを作成します。

  3. WebサーバーにデプロイするWebアプリケーション・アーカイブ(.war)ファイルを作成します。このファイルには、JDeveloperのmyworkフォルダにあるpublic_htmlディレクトリの内容が含まれ、JAR、HTMLおよびJNLPファイルが含まれます。


注意:

JDeveloperの組み込まれたWebサーバーを使用するためにアプリケーションをデプロイする必要はありません。JDeveloperにはデフォルトのweb.xml定義があり、それによってJDeveloperのmyworkフォルダのpublic_htmlの内容が指定されます。

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

21.9.2 Java Web Startファイルの作成方法

Java Network Launching Protocol定義ファイルapplication-name.jnlpは、Java Web Start対応の作成ウィザードを使用してJavaクライアントを作成し、Javaのアプリケーションやアプレットをダウンロードしてクライアント・マシンで実行するときに自動的に作成されます。ただし、application-name.jnlpのコンテンツを制御する必要がある場合は、使用する独自のファイルを手動で作成できます。


注意:

この項目がグレー表示されている場合、application-name.jnlpファイルがプロジェクトですでに作成されていることを示します。プロジェクトごとに有効な各デプロイメント・ディスクリプタ・タイプは、1つのみです。

Java Web Start (.jnlp)ファイルを手動で作成するには、次の手順を実行します。

  1. 「カテゴリ」ツリーで「General」を開き、「Deployment Descriptor」を選択します。「項目」リストで、「Java Web Start(JNLP)ファイル」をダブルクリックします。

  2. カテゴリまたは項目が見つからなければ、正しいプロジェクトが選択されていることを確認して、「フィルタ条件」ドロップダウン・リストの「すべてのテクノロジ」を選択します。

  3. 「OK」をクリックします。

  4. 新しく作成したファイルがコード・エディタで開きます。このファイルを編集し、必要に応じて構成設定を追加します。

Java Web Startの詳細は、http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.htmlを参照してください。

21.9.3 Java Web Start用のADF Swing Webアーカイブを作成する方法

Java Web Startでアプリケーションをダウンロードして実行する前に、JDeveloperのJava EE Webデプロイメント・プロセスを使用して、Webサーバーを設定できます。

アプリケーションをWebサーバーに常駐させると、メンテナンスが非常に容易になります。Java Web Startは、ユーザーがアプリケーションを実行するたびに、アプリケーションの更新の確認およびダウンロードを行います。

Java Web Start用のADF Swing Webアプリケーション・アーカイブを作成するには、次のようにします。

  1. 最新のソース・ファイルをアーカイブするには、アーカイブ・ファイルを作成する前に、次の両方を作成します。

    • ビジネス・コンポーネント・プロジェクト

    • ADF Swingプロジェクト

  2. ADF Swing Java Web Startダイアログを実行します。「アプリケーション」ウィンドウで、作業するアプリケーションまたはプロジェクトを選択します。

    「ファイル」→「新規」を選択して「新規ギャラリ」を開きます。

    「カテゴリ」ツリーで「クライアント層」を開き、「ADF Swing」を選択します。「項目」リストで「ADF Swing用Java Web Start(JNLP)ファイル」を選択し、「OK」をクリックします。

    Java Web Startで使用するJNLPファイル、ANTビルドファイルctbuild.xmlおよびデプロイメント・プロファイルがプロジェクト・プロパティに生成されます。

  3. セキュリティ上の理由で、キーの保護とコードの署名に使用するパスワードと、マシン上に定義するJavaキーストアに使用するパスワードを別のものにする場合は、次の手順を実行して、指定したパスワードが参照されるようにctbuild.xmlAntビルドファイルを変更する必要があります。

    • ctbuild.xmlファイルを開き、他の署名プロパティの下に、キー・パスワードのプロパティを追加します。

      <!--properties related to signing-->
      <property name="alias" value="ADFADF SwingTrust"/>
      <property name="storepass" value="welcome"/>
      <property name="keypass" value="myPassword"/>
      
    • 次の署名ターゲットを変更します。

      <target name="sign" depends="jar"> 
         <signjar jar="${mt.jar.name}" alias="${alias}" storepass="${storepass}"/> 
         <signjar jar="${ct.jar.name}" alias="${alias}" storepass="${storepass}"/>
      </target>
      

      変更後:

      <target name="sign" depends="jar"> 
         <signjar jar="${mt.jar.name}" alias="${alias}" keypass="${keypass}" storepass="${storepass}"/> 
         <signjar jar="${ct.jar.name}" alias="${alias}" keypass="${keypass}" storepass="${storepass}"/> 
      </target>
      
  4. クライアント側アーカイブ・ファイルを作成するには、ADF Swingプロジェクトのctbuild.xmlを右クリックし、次のとおり選択します。

    「ターゲットのビルド」→「署名」を選択し、アーカイブの認証を要求します。含まれているJARファイルがこれによって署名されます。これは必須の手順です。

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

  5. (オプション) web.xmlデプロイメント・ディスクリプタを編集する場合は、「アプリケーション」ウィンドウでweb.xmlファイルを右クリックして「開く」を選択します。

  6. (オプション)変更を加えるために後でプロジェクト・デプロイメント・プロファイルを再オープンするには、「アプリケーション」ウィンドウでそのプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。次に、「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。

作成したWARファイルとEARファイルをターゲット・アプリケーション・サーバーにデプロイする準備ができた後は、必ずアプリケーション・サーバー接続を作成してください。

21.9.4 Java Web Start用のJavaクライアントWebアーカイブを作成する方法

Java Web Startでアプリケーションをダウンロードして実行する前に、JDeveloperのJava EE Webデプロイメント・プロセスを使用して、サーバーを設定できます。

アプリケーションをWebサーバーに常駐させると、メンテナンスが非常に容易になります。Java Web Startは、ユーザーがアプリケーションを実行するたびに、アプリケーションの更新の確認およびダウンロードを行います。

Webサーバーへのデプロイ用のJavaクライアント・アプリケーションを作成するには、次の手順を実行します。

  1. Javaクライアント・アプリケーションのシンプルJARアーカイブを作成します。

  2. JavaクライアントのWeb Start JNLP定義を作成し、Java Web Startで使用するJNLPファイルおよびHTMLファイルを生成します。

  3. 「アプリケーション」ウィンドウで、WARデプロイメント・プロファイルを作成するプロジェクトを選択します。

  4. 「ファイル」→「新規」を選択して「新規ギャラリ」を開きます。

  5. 「カテゴリ」ツリーで「General」を展開し、「Deployment Profiles」を選択します。「項目」リストで「WARファイル」をダブルクリックします。

  6. カテゴリまたは項目が見つからなければ、正しいプロジェクトが選択されていることを確認して、「フィルタ条件」ドロップダウン・リストの「すべてのテクノロジ」を選択します。新規デプロイメント・プロファイルの名前を入力し、「OK」をクリックします。

  7. 「WARデプロイメント・プロファイルのプロパティ」パネルが表示されます。必要に応じて各ページの設定を構成します。プロパティの定義の終了後に「OK」をクリックします。

    新しく作成されたweb.xmlデプロイメント・ディスクリプタが「アプリケーション」ウィンドウの指定したプロジェクトの下に表示されます。

  8. Java Web Start用のJavaクライアントWebアーカイブをデプロイします。

  9. (オプション) web.xmlデプロイメント・ディスクリプタを編集する場合は、「アプリケーション」ウィンドウでweb.xmlファイルを右クリックして「開く」を選択します。

  10. (オプション)変更を加えるために後でプロジェクト・デプロイメント・プロファイルを再オープンするには、「アプリケーション」ウィンドウでそのプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。次に、「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。

作成したWARまたはEARをターゲット・アプリケーション・サーバーにデプロイする準備ができた後は、必ずアプリケーション・サーバー接続を作成してください。


注意:

Webモジュールは、ターゲット・デプロイメント・ディレクトリにデプロイされます。

Webアプリケーション・デプロイメント・ディスクリプタが、Webアプリケーション・アーカイブ(WAR)・ファイルWEB-INF/web.xml内にあることを確認してください。


21.9.5 Javaクライアント用のJava Web Start JNLP定義を作成する方法

Java Web Start対応の作成ウィザードを使用して、Javaアプリケーションおよびアプレットをクライアント・マシンにダウンロードして実行するためにJava Web Startソフトウェアで使用されるXMLベースのJNLP (Java Network Launching Protocol)定義ファイルを作成します。


注意:

JDeveloperのJava Web Startを使用してアプリケーションおよびアプレットを起動するには、Java Web Startソフトウェアをダウンロードしてインストールする必要があります。アプリケーションやアプレットのユーザーも、それぞれのマシンにソフトウェアをインストールする必要があります。次の場所を参照してください。
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.html

アプリケーションやアプレットは一連のJARファイルで配信する必要があり、イメージ、構成ファイルおよびネイティブ・ライブラリなどすべてのアプリケーション・リソースも、JARファイルに含める必要があります。リソースは、ClassLoader getResourceその他のメソッドを使用して検索する必要があります。Java Web Startでは、JARファイルのみがWebサーバーからクライアントに転送されます。詳細は、http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.htmlを参照してください。

ウィザードでは、JNLPファイルと(オプションで)HTMLファイルがプロジェクトに追加されます。Java Web Startでは、これらの生成されたファイルを使用して、どのアプリケーション・ソースをWebサーバーにダウンロードするかが特定されます。

  • Java Web Startでアプリケーションをダウンロードして起動するには、Java Network Launching Protocol (JNLP)定義が必要です。.jnlpファイルには、アーカイブ・ファイルの記述と、このインスタンスにアプレットまたはアプリケーションが含まれているかどうかの記述があります。

  • HTMLファイル。HTMLファイルの作成はオプションですが、ファイルを手動で作成する場合を除いて、作成することを強くお薦めします。HTMLファイルには、Webサーバーからクライアントへのダウンロードを開始するためのURLが含まれます。

Java Web Start対応の作成ウィザードを起動してJNLPおよびHTMLファイルを作成する前に、シンプル・アーカイブ(JAR)ファイルを作成する必要があります。また、mainファンクションが存在するクラスを指定するよう要求されるため、そのクラスを確認する必要があります。

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

  1. 「アプリケーション」ウィンドウで、JNLP定義を生成するプロジェクトを選択します。「ファイル」→「新規」を選択して「新規ギャラリ」を開きます。

  2. 「カテゴリ」ツリーで「クライアント層」を開き、「Swing/AWT」を選択します。「項目」リストで、「Java Web Start (JNLP)ファイル」をダブルクリックし、Java Web Start対応の作成ウィザードを開きます。

    「ようこそ」ページで「次へ」をクリックします。

  3. 「アプリケーション情報」ページで、ファイル名、作成したJARファイルの名前と場所およびアプリケーションの実行に使用するクラスを入力します。

  4. Java Web Start対応の作成ウィザード使用の詳細なヘルプを参照するには、[F1]を押すか、ウィザード内で「ヘルプ」をクリックします。

  5. オプションのHTMLファイルを作成するには、「HTMLを作成」を選択します。必要なオプションを指定した後、「次へ」をクリックします。

  6. Web Startページで、JNLPファイルをドキュメント化するための情報を指定します。ウィザードへの入力を完了させて、「終了」をクリックします。

Java Web StartとともにJSPやサーブレットを使用することもできますが、手動でファイルを設定してコンテンツ・タイプを変更する必要があります。contentType = application/x-java-jnlp-fileを最初の行に指定したJNLPの例を次に示します。

例21-5 JNLPファイル

<%@ page contentType="application/x-java-jnlp-file" %>
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://192.168.1.102:8888" href="jnlpfile.jnlp">
<information>
<title>Test</title>
<vendor>Oracle</vendor>
<homepage href="Test.html"/>
<description>Encryption Tool</description>
<icon href="images/frontpage.gif"/>
<offline-allowed/>
</information>
<security><all-permissions/></security>
<resources>
<j2se version="1.3"/>
<jar href="/apps/archive1.jar" main="true" download="eager" />
</resources>
<application-desc main-class="oracle.Ide">
</application-desc>
</jnlp>

21.9.6 Java Web Start用のADF Swing Webアプリケーション・アーカイブをデプロイする方法

ADF Swing Webアーカイブはサーバーにデプロイできます。マシンにJava Web Startソフトウェアをインストールします。Java Web Startの詳細は、http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136112.htmlを参照してください。

Java Web Start用のADF Swing Webアプリケーション・アーカイブをデプロイするには、次の手順を実行します。

  1. まだ作成していない場合は、Java Web Start用の署名付きADF Swing Webアーカイブを作成します。

  2. まだ作成していない場合は、ターゲット・アプリケーション・サーバーへのアプリケーション・サーバー接続を作成します。

  3. ADF Swingプロジェクトを右クリックし、「デプロイ」を選択すると、WARファイルが自動的に生成され、アプリケーション・コンポーネントがデプロイされます。必要なWebサーバーへの接続を選択します。

  4. (オプション) web.xmlデプロイメント・ディスクリプタを編集する場合は、「アプリケーション」ウィンドウでweb.xmlファイルを右クリックして「開く」を選択します。

  5. (オプション)変更を加えるために後でプロジェクト・デプロイメント・プロファイルを再オープンするには、「アプリケーション」ウィンドウでそのプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。次に、「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。

21.9.7 Java Web Start用のJavaクライアントWebアプリケーション・アーカイブをデプロイする方法

Java Web Startでアプリケーションをダウンロードして実行する前に、JDeveloperの簡単なJava EE Webデプロイメント・プロセスを使用して、Webサーバーを設定できます。

アプリケーションをWebサーバーに常駐させると、メンテナンスが非常に容易になります。Java Web Startは、ユーザーがアプリケーションを実行するたびに、アプリケーションの更新の確認およびダウンロードを行います。

Javaクライアント・アプリケーションをWebサーバーにデプロイするには、次の手順を実行します。

  1. まだ作成していない場合は、Java Web Start用のJavaクライアントWebアーカイブを作成します。

  2. まだ作成していない場合は、アプリケーション・サーバー接続を作成します。

  3. Javaクライアント・アプリケーションのシンプルJARアーカイブを作成します。

  4. JavaクライアントのWeb Start JNLP定義を作成し、Java Web Startで使用するJNLPファイルおよびHTMLファイルを生成します。

  5. 「アプリケーション」ウィンドウでプロジェクトを選択して右クリックします。ポップアップ・メニューに次のデプロイメント・オプションが表示されます。

    • 「デプロイ」→デプロイメント・プロファイル→最新のデプロイ先。以前に選択したアプリケーション・サーバーまたはアーカイブ・ファイルにプロジェクトがデプロイされます。

    • 「デプロイ」→デプロイメント・プロファイル→デプロイ先のアプリケーション・サーバー接続。デプロイメント・プロファイルで指定したアーカイブ・タイプを作成して、選択したアプリケーション・サーバー接続にデプロイします。

    • 「デプロイ」→デプロイメント・プロファイル→「EARファイルへ」。プロジェクトとその依存性(デプロイメント・プロファイルに指定)をEARにデプロイします。JDeveloperでは、EARファイルはデプロイメント・プロファイルに指定されているデフォルト・ディレクトリに置かれます。

    • 「デプロイ」→デプロイメント・プロファイル→「WARファイルへ」。WebモジュールはWARファイルとしてパッケージ化され、デプロイメント・プロファイル設定で指定したローカル・ディレクトリに保存されます。

  6. (オプション) web.xmlデプロイメント・ディスクリプタを編集する場合は、「アプリケーション」ウィンドウでweb.xmlファイルを右クリックして「開く」を選択します。

  7. (オプション)変更を加えるために後でプロジェクト・デプロイメント・プロファイルを再オープンするには、「アプリケーション」ウィンドウでそのプロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。次に、「プロジェクト・プロパティ」ダイアログの「デプロイメント」セクションでプロファイルの名前を選択し、「編集」をクリックします。


注意:

Webアプリケーション・デプロイメント・ディスクリプタが、Webアプリケーション・アーカイブ(WAR)・ファイルWEB-INF/web.xml内にあることを確認してください。

21.10 Weblogic SCA Springを使用したデプロイ

Oracle JDeveloper Weblogic SCA Spring拡張機能は、WebLogic SCAとオープンソースのSpringフレームワークのための統合サポートを提供します。

この拡張機能で、次のものを作成できます。

  • WebLogic SCA対応のプロジェクト。JARファイルとしてデプロイでき、それをデプロイのためのEARファイルに、またはWARファイルとして含めることができます。

  • Springフレームワーク・プロジェクト。

21.10.1 WebLogic SCAについて

この拡張機能では、JDeveloperでWebLogic SCAアプリケーションを作成し、それをOracle WebLogic Serverにデプロイできます。WebLogic SCAは、OASIS Service Component Architecture Springコンポーネント実装仕様のサブセットに基づいています。詳細は、https://www.oasis-open.orgを参照してください。

Service Component Architecture (SCA)は、エンタープライズ・アプリケーションとシステムを、統合および再利用の可能なモジュール型ビジネス・サービスとして構築するモデルです。WebLogic SCAは、POJO (Plain Old Java Object)を使用したSCAアプリケーションの開発とデプロイをサポートしています。SCAでは、コンポーネントと通信が別個に実装されています。WebLogic SCAでは、POJOを使用してJavaアプリケーションを記述でき、使用可能な各種のプロトコルを介して、コンポーネントをSCAサービスとして公開し、参照を介してアクセスできます。そのために、Springアプリケーション・コンテキストで構成されるSCAのセマンティクスを使用します。SCAの観点では、WebLogic Spring SCAアプリケーションは、SCAサービスと参照を適切なバインディングで宣言するSpring SCAコンテキスト・ファイルとPOJOの集合です。WebLogic Spring SCAアプリケーションは、変更なしにOracle SOAコンポジットのコンポーネントとして使用できます。

WebLogic Serverでは、WebLogic Spring SCAアプリケーションはWebLogic SCA Runtimeで実行されます。ランタイムは、アプリケーションをデプロイする前に、共有Webアプリケーション・ライブラリとしてWebLogic Serverにデプロイする必要があります。詳細は、第21.10.4.3項「WebLogic SCAアプリケーションを統合WebLogic Serverにデプロイする方法」を参照してください。

Oracle WebLogic SCAの詳細は、『Oracle WebLogic Server WebLogic SCAアプリケーションの開発』を参照してください。

21.10.2 Springについて

SpringはエンタープライズJavaアプリケーションの開発を簡単にするオープンソースのフレームワークです。Springフレームワークには、各層のモデルと、Javaアプリケーションの機能領域が含まれます。POJOの使用に重点が置かれ、制御の概念と依存性インジェクションの逆転を利用してアスペクト指向のプログラミングを実装します。

Weblogic SCA Spring拡張機能は、Java EEアプリケーションで使用できるオープンソースのSpringプロジェクトをJDeveloperで作成する機能の統合サポートを提供します。Spring JARファイルをライブラリとしてJDeveloperに追加し、Spring Bean構成ファイルを作成するウィザードと編集機能を追加します。この拡張機能によって、Spring JARファイルはSpring 2.5ライブラリとしてJDeveloperに追加されます。Spring Bean構成ファイルを作成するウィザードが追加され、関連するXSDとDTDがIDEに登録されて、Springを定義する生産性の高い編集作業が実現されます。

Springの詳細は、『Oracle WebLogic Server Springアプリケーションの開発と管理』を参照してください。

21.10.3 Weblogic SCA Spring拡張機能のインストール

Oracle JDeveloper Weblogic SCA Spring拡張機能を使用するには、ダウンロードしてインストールする必要があります。この拡張機能で、次のものがJDeveloperに追加されます。

  • 「新規ギャラリ」の「ビジネス層」に「Spring」カテゴリを追加できます。Spring Bean構成ファイルとWebLogic SCA構成を作成するオプションは、ここで使用できます。

  • Spring 2.5ライブラリが、SpringフレームワークのJARファイルおよびWebLogic SCAサポートとともにJDeveloperに追加されます。

21.10.4 Oracle WebLogic SCAの使用

Weblogic SCA Spring拡張機能を使用して、WebLogic SCA対応のプロジェクトを作成できます。これはJARファイルとしてデプロイでき、それをデプロイのためのEARファイルに、またはWARファイルとして含めることができます。

21.10.4.1 WebLogic SCAプロジェクトの作成方法

WebLogic SCAプロジェクトを開発するには、まずアプリケーションの制御ファイルとして動作するWebLogic SCA構成ファイルを作成します。このプロセスの一環として、必要なライブラリがサーバーにデプロイされるように、WebLogic SCAのJARまたはWARデプロイメント・ディスクリプタが構成されます。

WebLogic SCAアプリケーションを作成するには、次のようにします。

  1. Javaアプリケーションとプロジェクトを作成します。

  2. 「ファイル」→「新規」→「新規ギャラリ」→「ビジネス層」→「Spring」を選択します。

  3. 次のいずれかを選択します。

    • JARデプロイメントのWebLogic SCA構成: デプロイのためのEARファイルに含めることができるJARファイルを含むプロジェクトを作成します。

    • WARデプロイメントのWebLogic SCA構成: WARファイルを含むプロジェクトを作成します。

WebLogic SCAウィザードが行う処理

WebLogic SCA構成ウィザードを実行すると、次の処理が行われます。

  • spring-context.xmlというSCA定義ファイルがMETA-INF/jscaに作成され、JDeveloperのXMLソース・エディタで開かれます。高度なXML編集フレームワークによって、編集がサポートされます。

  • プロジェクトにまだweb.xmlファイルが含まれていない場合は、作成されます。

  • 「新規ギャラリ」で選択したオプションによって、次のようになります。

    • JARデプロイメント・ディスクリプタがプロジェクトに追加され、weblogic-sca共有ライブラリに対する依存性がアプリケーション・レベルで追加されます。

    • WARデプロイメント・ディスクリプタがプロジェクトに追加され、weblogic-sca共有ライブラリに対する依存性がWebアプリケーション・レベルで追加されます。

次の手順

SCAプロジェクトを作成すると、次の操作が可能になります。

  • Oracle WebLogic Serverにアプリケーションをデプロイします。

  • JDeveloperの統合WebLogic Serverでアプリケーションをテストします。

21.10.4.2 Oracle WebLogic SCA定義ファイルの編集方法

WebLogic SCAプロジェクトを作成する際に作成されるSCA定義ファイルはspring-context.xmlという名前で、META-INF/jscaの中に作成され、XMLソース・エディタで開かれます。

spring-context.xmlファイルの概略は次のとおりです。

例21-6 spring-context.xmlファイルの概略

<?xml version="1.0" encoding="windows-1252" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xmlns:lang="http://www.springframework.org/schema/lang"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:sca="http://xmlns.oracle.com/weblogic/weblogic-sca"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/tool http://www.springframework.org/schema/tool/spring-tool-2.5.xsd http://xmlns.oracle.com/weblogic/weblogic-sca META-INF/weblogic-sca.xsd">
  <!--Spring Bean definitions go here-->
 
</beans> 
 

コメントは、Bean定義を入力する場所を示します。

XMLソース・エディタの機能、「構造」ウィンドウの機能、「コンポーネント」ウィンドウおよび「プロパティ」ウィンドウを使用して、XMLファイルの階層にナビゲートして編集します。

ソース・エディタの機能

ソース・エディタには、XMLファイルの編集に便利な多くの機能があります。

  • 構文補完インサイトのXML固有の実装であるXMLコード・インサイト< を入力してしばらく待つと、入力場所に適したエントリ候補がポップアップ表示されます。選択したタグに必須の属性がある場合は、自動的に追加されます。

  • XMLソース・エディタには、エラーに赤い飾り線の下線が付くなど多くの機能があります。

  • 「使用方法の検索」などのコンテキスト・メニューからオプションを選択でき、「使用方法」ログ・ウィンドウに要素の使用方法がすべて表示されます。「使用方法の検索」は「構造」ウィンドウからも使用できます。

「構造」ウィンドウの機能

「構造」ウィンドウでは、XMLファイルの階層をすばやく移動でき、編集機能もあります。

  • 「構造」ウィンドウでノードを右クリックし、コンポーネントを追加します。

  • 「構造」ウィンドウにエラー・メッセージが表示されます。

「コンポーネント」ウィンドウの機能

「コンポーネント」ウィンドウでタグを選択し、ソース・エディタまたは「構造」ウィンドウに直接ドラッグ・アンド・ドロップすると、spring-context.xmlファイルを作成できます。


注意:

タグをドロップできるのは、構文上正しい場所のみです。

デフォルトでは、使用可能なすべてのタグが「コンポーネント」ウィンドウに表示されます。表示されるタグを少なくするには、「すべてのページ」をクリックし、必要なタグのタイプのみを選択してください。たとえばWebLogic SCAのバインディングを使用する場合、「コンポーネント」ウィンドウの最上部にあるオプションと、リストされるコンポーネントが「EJBバインディング」およびWebサービス・バインディングになるように選択します。

「プロパティ」ウィンドウの機能

「プロパティ」ウィンドウでは、タグのプロパティを編集できます。

  • 「プロパティ」ウィンドウでの変更は、ソース・エディタの表示で同期化されます。

  • 特定のプロパティに関連する場合、値のリストが表示されます。

21.10.4.3 WebLogic SCAアプリケーションを統合WebLogic Serverにデプロイする方法

WebLogic SCAプロジェクトを作成した後、すぐに統合WebLogic Serverにデプロイし、アプリケーションをテストできます。

統合WebLogic Serverにデプロイするには、次のようにします。

  • 「アプリケーション」ウィンドウで、プロジェクト・ノードの下にあるspring-context.xmlを右クリックして「実行」または「デバッグ」、または「プロファイラ」オプションのいずれかを選択します。

統合WebLogic Serverでアプリケーションを実行するときに行われる処理

統合WebLogic Serverをまだ起動していない場合は、デフォルト設定でデフォルトのドメインが自動的に作成され、サーバーが起動します。

アプリケーションが統合WebLogic Serverにデプロイされ、デプロイの進行状況を示すメッセージが「ログ」ウィンドウに表示されます。

「アプリケーション・サーバー」ウィンドウで、「IntegratedWebLogicServer」の下位にある「Webサービス」ノードおよび「EJB」ノードの下にデプロイされたサービスが表示されます。

21.10.4.4 WebLogic SCAアプリケーションをOracle WebLogic Serverにデプロイする方法

作成したWebLogic SCAプロジェクトは、Oracle WebLogic Serverにデプロイできます。

JARファイルとWARファイルのどちらの作成を選択するかによって、プロセスは若干異なります。


注意:

WebLogic SCAアプリケーションをOracle WebLogic Serverにデプロイする前に、サーバーにWebLogic SCAをインストールする必要があります。詳細は、『Oracle WebLogic Server Springアプリケーションの開発と管理』でWebLogic SCA RuntimeのWebLogic Serverへのデプロイに関する章を参照してください。

WebLogic SCA WARファイルを含むアプリケーションをWebLogic Serverにデプロイするには、次のようにします。

  • 通常どおりにアプリケーションをデプロイします。

WebLogic SCA JARファイルを含むアプリケーションをWebLogic Serverにデプロイするには、次のようにします。

  1. JARファイルの場所を、libまたはAPP-INF/libに設定し、それをEARファイルにデプロイします。


    注意:

    EARファイルには、少なくとも1つのJava EEアーティファクト、たとえばWARファイルまたはEJB-JARファイルが含まれている必要があり、そうでない場合にはデプロイに失敗します。

  2. 通常どおりにアプリケーションをデプロイします。

WebLogic Serverにアプリケーションをデプロイするときに行われる処理

必要な場合には、EARファイルが作成されます。

アプリケーションがWebLogic Server接続にデプロイされ、デプロイの進行状況を示すメッセージが「ログ」ウィンドウに表示されます。

「アプリケーション・サーバー」ウィンドウで、アプリケーション・サーバーの接続ノードの下位にある「Webサービス」ノードおよび「EJB」ノードの下にデプロイされたサービスが表示されます。

21.10.5 Springの使用

Weblogic SCA Spring拡張機能は、オープンソースのSpringフレームワークのための統合サポートを提供します。この拡張機能によって、多くのライブラリがJDeveloperに追加され、Springフレームワーク・プロジェクトの作成も追加でサポートされます。

21.10.5.1 Spring Beanアプリケーションの作成方法

Weblogic SCA Spring拡張機能によって、SpringフレームワークのJARファイルを含むライブラリがJDeveloperに追加されます。Springフレームワーク・アプリケーションを開発するには、まずアプリケーションの制御ファイルとして動作するSpring Bean構成ファイルを作成します。

Spring Bean構成ファイルを作成するには、次のようにします。

  1. Javaアプリケーションとプロジェクトを作成します。

  2. 「ファイル」→「新規」→「新規ギャラリ」→「ビジネス層」→「Spring」→「Spring」を選択します。Spring Bean定義ファイルのファイル名とディレクトリを入力し、「OK」をクリックします。

21.10.5.2 Spring Bean構成ファイルの作成時に行われる処理

「新規ギャラリ」の「ビジネス層」で「Spring」カテゴリを選択してSpring Bean構成を作成すると、Spring 2.5とCommons Logging 1.0.4のライブラリが自動的にプロジェクトに追加されます。ライブラリ定義にアクセスするには、「アプリケーション・サーバー」ウィンドウでプロジェクトのポップアップ・メニューから「プロジェクト・プロパティ」を選択し、「ライブラリとクラスパス」を選択します。

Spring Bean構成ファイルbeans.xmlがMETA-INF/jscaに作成され、XMLソース・エディタで開かれます。高度なXML編集フレームワークによって、編集がサポートされます。

21.11 デプロイメントのトラブルシューティング

アプリケーションをデプロイする際に発生する可能性のある一般的な問題が多数あります。この項では、そうした問題と解決方法について説明します。統合WebLogic ServerとOracle WebLogic Serverのどちらにデプロイするときにも発生する問題と、どちらか一方のデプロイのみに固有の問題とに分かれています。

21.11.1 デプロイメント上の共通の問題

この項では、統合WebLogic ServerとOracle WebLogic Serverのどちらにデプロイするときにも発生する問題に関する情報を提供します。

21.11.1.1 [Deployer: 149164] 排他モードの別のセッションがドメインの編集ロックを所有しているため、このデプロイメント操作を続行できません。

アプリケーションのデプロイと構成の変更が一度に複数のユーザーによって実行されないように、Oracle WebLogic Serverインスタンスがドメイン編集ロックを使用しています。このメッセージは、別のデプロイが同時に進行している(一度に許可されるデプロイは1つのみ)、または有効になっていないWebLogic Server管理コンソールでなんらかの変更があった場合に表示されます。まれですが、このメッセージは統合WebLogic Serverでアプリケーションを実行しているときにも表示されることがあります。

WebLogic Server管理コンソールで変更を有効にするには、次のようにします。

  1. 管理コンソールにログインします。

  2. 「チェンジ・センター」のコンソールの左上で、「変更と再起動の表示」をクリックします。

  3. 「変更と再起動」セクションで、「変更リスト」タブが選択されていることを確認し、保留中の変更があれば有効にします。

  4. 「再起動チェックリスト」タブを選択し、再起動するサーバーを選択して「起動」をクリックします。

ドメイン構成ロック機能を有効または無効にするには、JDeveloperのインストールにあるWebLogic Serverのオンライン・ドキュメントから、または管理コンソールから使用できる管理コンソール・オンライン・ヘルプで、ドメイン構成ロックの有効化/無効化に関する項を参照してください。

統合WebLogic Serverへのデプロイ中にエラーが発生した場合には、管理コンソールを確認して問題の原因を特定できます。

21.11.2 統合アプリケーション・サーバーへのデプロイのトラブルシューティング方法

この項では、統合アプリケーション・サーバーの実行に固有の問題について説明します。

21.11.2.1 統合アプリケーション・サーバーの停止

以前のJDeveloperセッションで作成されて実行されたまま孤立したWebLogic Serverインスタンスをクリアする場合などに、統合アプリケーション・サーバーを停止したくてもJDeveloper内で停止できない場合は、jdeveloper-user-home/DefaultDomain/binに移動し、stopWebLogic.cmd (Windowsの場合)またはstopWebLogic.sh (Linuxの場合)を実行します。これで、統合アプリケーション・サーバーが正常にシャットダウンするため、それ以降にJDeveloperから統合アプリケーション・サーバーを起動しても競合しません。

「終了」ボタンを2回押すと、JDeveloperの制御下で(つまり孤立せずに)まだ稼働中のインスタンスを強制的にシャットダウンできます。

21.11.2.2 メモリー不足

統合WebLogic Serverで複数のアプリケーションを実行する場合、メモリーが不足しjava.lang.OutOfMemoryError: PermGen space例外が現れる場合があります。この例外を回避するには、MEM_MAX_PERM_SIZEをデフォルトの128mから256m、512mまたはそれ以上に引き上げます。この設定は、jdeveloper-user-home/DefaultDomain/binにあるsetStartupEnv.cmd (Windowsの場合)またはsetDomainEnv.sh (Linuxの場合)で行います。

まず、前述のいずれかの方法で統合WebLogic Serverを停止する必要があります。

21.11.2.3 別の場所へのJDeveloperの再インストール

JDeveloperを新しい場所に再インストールする場合、ハードコードされたJDeveloperへの参照が統合アプリケーション・サーバーに使用されていることで、問題が起こる場合があります。次のいずれかの方法を実行する必要があります。

  • 新しいシステム・ディレクトリが使用されるようにJDEV_USER_DIRを設定します。これについては『Oracle JDeveloperのインストール』の「ユーザー・ホーム・ディレクトリの設定」に説明があります。

  • JDeveloperによって新しいシステム・ディレクトリが再生成されるように、古いシステム・ディレクトリを削除します。

  • 「アプリケーション・サーバー」ウィンドウで、「IntegratedWebLogicServer」を右クリックして「デフォルト・ドメインの削除」を選択します。

21.11.3 Oracle WebLogic Serverへのデプロイのトラブルシューティング方法

この項では、Oracle WebLogic Serverへのデプロイに固有の問題について説明します。

21.11.3.1 ORA-01005: Nullパスワードが入力されたため、ログオンが拒否されました

通常、これはapplication-name-jdbc.xmlファイルの<encrypted-password>エントリのパスワードが空白になっているか、<encrypted-password>エントリがないことが原因で起こります。

21.11.3.2 ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

通常、これはapplication-name-jdbc.xmlファイルの<encrypted-password>エントリのパスワードが間違っていることが原因で起こります。

21.11.3.3 [Oracle JDBC Driver] Kerberos認証がリクエストされたが、Oracleサーバーでサポートされていない

この場合、ログオンが拒否されます。Oracle WebLogic Serverのデータベース・ドライバweblogic.jdbcx.oracle.OracleDataSourceが使用されていることが原因です。このドライバはOracleで認証されていないため、使用しないでください。

21.11.3.4 Oracle WebLogic Server管理コンソールからグローバル・データソースを作成した後でアプリケーションが動作しない

データソースに対してターゲット・ドメインが選択されていることを確認してください。ウィザードの最後のパネルの前に「終了」をクリックした場合は、ターゲット・ドメインが選択されていません。

また、Javaコードに参照が使用されている場合は、Javaネーミング参照コールが正しいことを確認してください。たとえば、接続名がconnection1の場合、ネーミング参照はjava:comp/env/jdbc/connection1DSとなります。

21.11.3.5 停止しているサーバーへのアプリケーションの再デプロイ

停止しているサーバーには、アプリケーションを1回しかデプロイできません。

停止している同じサーバーに同じアプリケーションを再度デプロイしようとすると、デプロイが失敗して次のようなログ・メッセージが表示されます。

[03:29:47 PM] ---- Deployment started. ----
[03:29:47 PM] Target platform is (Weblogic 10.3).
[03:29:47 PM] Retrieving existing application information
[03:29:47 PM] Running dependency analysis...
[03:29:47 PM] Building...
[03:29:50 PM] Deploying 2 profiles...
[03:29:50 PM] Wrote Web Application Module to /path/oracle/jdeveloper/jdev/mywork/Application1/Project1/deploy/webapp1.war
[03:29:50 PM] Wrote Enterprise Application Module to /path/oracle/jdeveloper/jdev/mywork/Application1/application1.ear
[03:29:50 PM] Redeploying Application...
[03:29:50 PM] [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application application1 on Server-1.: [DeploymentService:290049]Deploy failed for id '1,244,759,390,503' since no targets are reachable..
[03:29:50 PM] Weblogic Server Exception: java.lang.Exception: [DeploymentService:290049]Deploy failed for id '1,244,759,390,503' since no targets are reachable.
[03:29:50 PM] See server logs or server console for more details.
[03:29:50 PM] java.lang.Exception: [DeploymentService:290049]Deploy failed for id '1,244,759,390,503' since no targets are reachable.
[03:29:50 PM] #### Deployment incomplete. ####
[03:29:50 PM] Remote deployment failed

21.11.3.6 すでに存在しないサーバーにデプロイしようとした場合

アプリケーションを正常に管理対象サーバーにデプロイすると、デプロイメント・ウィザードによってこのデプロイ操作が履歴に保存されるため、後から同じ操作を実行できます。ただし、管理対象サーバーをOracle WebLogic Serverドメインから削除した場合にデプロイ履歴上の操作を使用して後からデプロイしようとすると、デプロイが失敗して次のようなログ・メッセージが表示されます。

[02:38:40 PM] ---- Deployment started. ----
[02:38:40 PM] Target platform is (Weblogic 10.3).
[02:38:40 PM] Retrieving existing application information
[02:38:40 PM] #### Deployment incomplete. ####
[02:38:40 PM] [J2EE Deployment SPI:260013]Target array passed to DeploymentManager was null or empty.

21.11.3.7 リモート・サーバーへのデプロイがHTTPエラー・コード502で失敗する

JDeveloperにプロキシが設定されている環境で、ネットワークDNSサーバーで認識されていないマシン上で実行されているサーバーにデプロイすると、デプロイが失敗してHTTPエラー・コード502が表示されます。これは、リクエストの転送先がプロキシで認識されていないためです。これは、マシン名によって参照されているlocalhost上のサーバーにデプロイする際にも発生することがあり、一般的にはSOA開発のときに発生します。

これを回避するには、「プリファレンス」ダイアログの「Webブラウザとプロキシ」ページで、プロキシ設定の「例外」リストにマシンを追加するか、接続にHTTPプロキシ・サーバーを使用しないようにします。

21.11.3.8 資格証明マッパーのエントリが見つかりません

次のメッセージが表示された場合は通常、パスワード・インダイレクションを使用するEARに、デプロイ前にMBeanを介してインジェクトされたパスワードがないことを意味します。

weblogic.common.ResourceException: No credential mapper entry found for password indirection user=scott for data source Connection1

これは一般的に、コンソールまたはAntスクリプトから手動でEARをデプロイしようとしたときに発生します。

21.11.4 IBM WebSphereへのデプロイのトラブルシューティング方法

この項では、統合WebLogic ServerとOracle WebLogic Serverのどちらにデプロイするときにも発生する問題に関する情報を提供します。

21.11.4.1 EARに空白が含まれているときデプロイに失敗する

JDeveloperで生成されたEARを含むディレクトリに空白があると、WindowsへのWebSphereのデプロイは機能しません。

21.11.4.2 WebSphere Serverのパスに空白が含まれる場合にデプロイメントが失敗する

wsadmin.batのパスに空白があると、WindowsへのWebSphereのデプロイメントは機能しません。第21.3.2.5項「WebSphere Serverへの接続」を参照してください。

21.11.4.3 アプリケーションに管理コンソールのユーザー名が表示される

アプリケーションをIBM WebSphereアプリケーション・サーバーにデプロイし、同じマシンを使用してWebSphere管理コンソールにログインすると、アプリケーションにログインしたユーザーの名前ではなく管理コンソールにログインしたユーザーの名前がアプリケーションによって表示されます。