本ドキュメントはS2Remoting.NET について記述しています.
S2Remoting.NETは,アプリケーションが.NET RemotingやWebサービスなどのAPIを意識することなく,リモート呼び出しを行えるような共通基盤を提供します.
リモート呼び出しを使わない場合,クライアントアプリケーション(またはコンポーネント)とS2により管理されるコンポーネントは次のような関係になります
(クライアントもS2コンテナで管理される場合があります).
S2Remoting.NETを使用すると,次のように分散環境にあるコンポーネントを呼び出すことができるようになります.
クライアントもコンポーネントも何も変更する必要はありません.
S2Remoting.NETはこの図の中のインターセプタを提供します.
また,コネクタのインタフェースおよび抽象クラスを提供しますが,実装クラスは提供しません.コネクタやアダプタの実装クラスは,S2DotNetRemotingなど,プロトコルごとに個別のプロダクトとして提供されます.
コンポーネントをリモート呼び出しするには,S2Remoting,NETの提供するRemotingInterceptor を使用します.
<!-- リモート呼び出しのインターセプタ -->
<component name="remoting" class="Seasar.Remoting.Common.Interceptor.RemotingInterceptor"/>
<!-- コンポーネントのプロキシ (インタフェース) -->
<component name="名前" class="コンポーネントのインタフェース">
<aspect>remoting</aspect>
</component>
<component>要素のclass属性には,コンポーネントのインタフェースを指定します.name属性に指定する名前は,プロトコルによってはリモートオブジェクトのロケーションとして使用されます.詳細は実際に使用するプロダクトのドキュメントを参照してください.
インターセプタにはコネクタを設定する必要があります.通常はインターセプタと同じdiconファイルにコネクタを定義することで,S2により自動インジェクションで設定されます.
|