ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発
11g リリース1 (10.3.6)
B61414-05
  目次へ移動
目次

前
 
次
 

9 WebLogic Spring SCAアプリケーションのデプロイ

この章では、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>の例を示します。

例9-3 weblogic-application.xmlのlibrary-ref要素

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
  <library-ref>
  <library-name>weblogic-sca</library-name>
    <context-root>weblogic-sca-ctx-root1</context-root>
  </library-ref>
</weblogic-application>

例9-4 weblogic.xmlのlibrary-ref要素

<?xml version="1.0" encoding="UTF-8859-1"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
  <library-ref>
  <library-name>weblogic-sca</library-name>
    <context-root>weblogic-sca-ctx-root1</context-root>
  </library-ref>
</weblogic-application>

バンドリング・ライブラリ

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アプリケーションは均一なクラスタ環境にデプロイできます。クラスタ・デプロイメントはアプリケーションを各ノードにデプロイし、ほとんどのリクエスト処理はステートレス(ステートフルな処理は自分の状態を保管するのにデータベースを使用)なので、ロード・バランサまたはプラグインはどのノードにもリクエストをルーティングできます。

他のツールを使用した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ファイルが必要なためです。