ひがやすを技術ブログ

電通国際情報サービスのプログラマ

S2Remoting

S2Remotingはこんなイメージ
サービス
Hello.java


class Hello {
public String say();
}
HelloImpl.java

class HelloImpl implements Hello {
public String say() {
return "Hello";
}
}
サーバ側のコンポーネントの定義


1108


クライアント側のコンポーネントの定義


<!-- 複数登録すれば、クラスタリング -->

'rmi://localhost:1108'


<!-- 登録するのはインターフェース。ConnectorAdviceがインターセプトして
実際はサーバで処理 -->



<!-- Connector経由でサーバに接続し、指定されたコンポーネントの
呼び出しを処理する -->
rmiConnector
'hello'



ConnectorAdviceはConnectorに対し、コンポーネントの名前、メソッド名、引数を
渡して処理してもらいます。
ConnectorはAdaptorに対し、コンポーネントの名前、メソッド名、引数を
渡して処理してもらいます。
Adaptorは、自分が登録されているコンテナから指定されたコンポーネント
取得し、seasar.beans.BeanDesc経由でメソッドを実行します。
後は実行した結果が、Adaptor->Connector->ConnectorAdvice->クライアント
経由で戻ります。
ConnectorAdvice,Connector,Adaptorが裏で暗躍していますが、
呼び出す側も呼び出される側もそれに気づきません。
POJOに対する透明なサービスです。

Roadmap

  • M1:今週末 S2DBCP
  • RC1:4中 S2Unit DB対応
  • S2:4末 機能追加はなし。

までをS2の範囲にしたいと思います。
毎回変わってすみません。m(_ _)m
DAO, Remoting, AMFは要らない人も多い気がしたので。
JTA, DBCPが要らない人は、S2からs2-extension.jarを
はずせばOKです。
DAO, Remoting, AMFは、S2本体とは別にリリースしたいと思います。