9.3.6 RMI-IIOPスタブの用意

J2EEアプリケーションからほかのJ2EEアプリケーションに含まれるEnterprise Beanや,ほかのサーバ上で動作するEnterprise Beanを呼び出す場合には,呼び出し側にRMI-IIOPスタブを用意する必要があります。RMI-IIOPスタブを用意する方法は,次の3とおりです。

RMI-IIOPスタブが自動的に作成,取得される場合,および手動で取得する場合の,呼び出し先サーバと呼び出し元サーバのJ2EEアプリケーションのディレクトリ構成を示します。

<この項の構成>
(1) RMI-IIOPスタブが自動的に作成,取得される場合のJ2EEアプリケーションのディレクトリ構成
(2) RMI-IIOPスタブを手動で取得する場合のJ2EEアプリケーションのディレクトリ構成

(1) RMI-IIOPスタブが自動的に作成,取得される場合のJ2EEアプリケーションのディレクトリ構成

デプロイ時にRMI-IIOPスタブが自動的に作成される場合,または実行時にRMI-IIOPスタブが自動的にダウンロードされる場合の,呼び出し先のEnterprise Beanを含むJ2EEアプリケーションの構成を次に示します。

表9-6 自動で作成,取得する場合のJ2EEアプリケーションの構成(呼び出し先)

ディレクトリ名またはファイル名説明
/アーカイブ内のルートディレクトリです。
 myejb.jar呼び出し先のEnterprise Beanを含むEJB-JARファイルです。
/META-INF/管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。
 application.xmlJ2EE仕様で規定されたDDです。

デプロイ時にRMI-IIOPスタブが自動的に作成される場合,または実行時にRMI-IIOPスタブが自動的にダウンロードされる場合の,呼び出し元のサーブレットを含むJ2EEアプリケーションの構成を次に示します。

表9-7 自動で作成,取得する場合のJ2EEアプリケーションの構成(呼び出し元)

ディレクトリ名またはファイル名説明
/アーカイブ内のルートディレクトリです。
 myapp.war呼び出し元のサーブレットが含まれるWebアプリケーションです。WARファイル内のディレクトリ構成例を示します。
/(ルートディレクトリ)
/WEB-INF/
web.xml
/WEB-INF/lib/
*.jar(呼び出し先Enterprise Beanのホームインタフェース,コンポーネントインタフェースを含むJARファイル)
/WEB-INF/classes/
*.class(呼び出し元のサーブレットのクラスファイル)
/META-INF/管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。
 application.xmlJ2EE仕様で規定されたDDです。

(2) RMI-IIOPスタブを手動で取得する場合のJ2EEアプリケーションのディレクトリ構成

手動でスタブクラスを取得して,呼び出し元のJ2EEアプリケーションに含ませる場合の,J2EEアプリケーションのディレクトリ構成を示します。呼び出し先のJ2EEアプリケーションの構成は,「(1) RMI-IIOPスタブが自動的に作成,取得される場合のJ2EEアプリケーションのディレクトリ構成」で示す呼び出し先の構成と同じです。

表9-8 手動で含ませる場合のJ2EEアプリケーションの構成(呼び出し元)

ディレクトリ名またはファイル名説明
/アーカイブ内のルートディレクトリです。
 myapp.war呼び出し元のサーブレットが含まれるWebアプリケーションです。WARファイル内のディレクトリ構成例を示します。
/(ルートディレクトリ)
/WEB-INF/
web.xml
/WEB-INF/lib/
*.jar(呼び出し先Enterprise Beanのホームインタフェース,コンポーネントインタフェースを含むJARファイル)
stubs.jar(手動で取得したRMI-IIOPスタブを含むJARファイル)
/WEB-INF/classes/
*.class(呼び出し元のサーブレットのクラスファイル)
/META-INF/管理情報を格納するディレクトリです。jarコマンドによって自動的に作成されます。
 application.xmlJ2EE仕様で規定されたDDです。
注※
クラスローダの構成上,スタブクラスとリモートインタフェースは両方とも同じ場所(/WEB-INF/lib)に配置する必要があります。