Oracle® Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発 11g リリース1(10.3.5) B61414-03 |
|
前 |
次 |
この章では、WebLogic Spring SCAアプリケーションをOracle WebLogic Serverにデプロイする方法について説明します。
注意: SCAコンポジットのコンポーネントとしてのWebLogic Spring SCAアプリケーションの使用のサポートは、Oracle SOAスイートの現在のリリースでテクニカル・プレビューとして提供されています。ただし、この機能に関するドキュメントは、Oracle SOAスイートではまだ提供されていません。 |
WebLogic SCAランタイムはエンタープライズ・アーカイブ(EAR)およびWeb アーカイブ(WAR)形式をデプロイメント・ユニットとしてサポートします。
通常のWebLogic SCAアプリケーションは、META-INF/jsca/
ディレクトリのSpringアプリケーション・コンテキスト・ファイルを、アプリケーションのPOJOクラスとバンドルします。
WebLogic Spring SCAアプリケーションのEARアーカイブの構成を例9-1に示します。
例9-1 サンプルWebLogic Spring SCAアプリケーションEAR
META-INF/application.xml META-INF/weblogic-application.xml META-INF/jsca/spring-context.xml MyEJBApp.jar MyWebApp.war APP-INF/lib/MyScaClasses.jar META-INF/jsca/spring-context.xml APP-INF/classes/MyScaPojo.class
サンプルWebLogic Spring SCAアプリケーションのWARアーカイブの構成を例9-2に示します。
例9-2 サンプルWebLogic Spring SCAアプリケーションWAR
WEB-INF/web.xml WEB-INF/weblogic.xml WEB-INF/lib/MyScaClasses.jar META-INF/jsca/spring-context.xml MyScaPojo1.class MyScaPojo2.class
<library-ref>
要素をアプリケーションのデプロイメント記述子に追加する必要があります。
共有Webアプリケーション・ライブラリを参照する場合、オプションの<context-root>
要素を追加してライブラリ・モジュールのコンテキスト・ルートを宣言することもできます。これにより、コンテキスト・ルートが構成された値に確実に設定され、同じサーバーにデプロイされて同じ共有ライブラリを参照する他のWebLogic SCAアプリケーションと競合しないようにできます。
注意: 各WebLogic Spring SCAアプリケーションに一意の<context-root> を指定することをお薦めします。複数のアプリケーションが1つのサーバーまたはクラスタにデプロイされている場合、各アプリケーションにはweblogic-sca-1.0.war への独自のライブラリ参照があります。各WebLogic SCAアプリケーションはweblogic-sca-1.0.war で指定したデフォルトのコンテキスト・ルートを使用するため、アプリケーションごとに異なるコンテキスト・ルートを指定しないと、コンテキスト・ルートが競合することになります。 |
例9-3に、EARのweblogic-application.xml
記述子の<library-ref>
および<context-root>
の例を示し、例9-4に、WARのweblogic.xml
記述子の<library-ref>
および<context-root>
の例を示します。
WebLogic Spring SCAアプリケーションはEARの場合APP-INF/lib
の下(WARの場合はWEB-INF/lib
の下)のspring.jar
をバンドルする必要があります。Springにはcommons-logging
への依存があるので、jarはアプリケーションともバンドルされる必要があります。
WebLogic SCAはSpring 2.0.6以降をサポートします。Spring 2.5.3をお薦めします。
WebLogic Spring SCAアプリケーションは均一なクラスタ環境にデプロイできます。クラスタ・デプロイメントはアプリケーションを各ノードにデプロイし、ほとんどのリクエスト処理はステートレス(ステートフルな処理は自分の状態を保管するのにデータベースを使用)なので、ロード・バランサまたはプラグインはどのノードにもリクエストをルーティングできます。
Oracle Enterprise Pack for Eclipse(OEPE)およびOracle JDeveloperを使用して、WebLogic Spring SCAアプリケーションをスタンドアロンWebLogic Serverにデプロイすることもできます。これらのツールでのWebLogic SCAサポートの詳細は、第3章「ツールのサポート」を参照してください。
WebLogic Spring SCAアプリケーションがデプロイされると、そのサービスは適切なバインディング・コンポーネントの実装により公開されます。binding.ws
で定義されたサービスの場合、Webサービス・バインディング・コンポーネントの実装によりWebサービスのエンドポイントが公開されます。binding.ejb
で定義されたサービスの場合、EJBバインディング・コンポーネントによりEJBがJNDIで使用可能になります。
同じアプリケーション内でのデプロイ中に複数のSpringアプリケーション・コンテキスト・ファイルが使用される場合、WebLogic SCAランタイムは一致するサービスおよび参照をワイヤリングし、内部ワイヤリング用のバインディングを無視します。これにはsca:reference
要素でオプションのdefault
属性の使用が必要です。詳細は、「sca:reference要素」を参照してください。
注意: 2つまたはそれ以上のSpringアプリケーション・コンテキスト・ファイルを含むWebLogic Spring SCAアプリケーションは、Oracle SOA内の他のコンポジットにのみネストできますが、これは包含SCDLファイルが必要なためです。 |