結局RMIだとObjectどうしの繋がりが強すぎるので、RMIではなくHTTPベースで行うBurlapかHessianで実装するように変更しました。
SpringFrameworkではRMI、Hessian、Burlapの変更は容易で、applicationContext.xmlファイルのBean定義を変えるだけで殆ど問題なく移行できます。
じゃあ、HessianとBurlapの違いは何かというと、Hessianのほうはデータをバイナリでやり取りするのに対して、BurlapのほうはXMLで行っています。このあたりはEtherealなどでデータの流れをみれば分かりやすいのですが、XMLで行っているBurlapのほうが何かと都合がいいと思いますね。
Hessianで行っていると、クライアント、サーバ共にHessianで実装しなければならないでしょうが、BurlapですとXMLですので、サーバがBurlap、クライアントはPerlやPHPなどでもオッケーなわけです。
XMLですので画像などのバイナリデータのやり取りも問題ないのでこちらのほうがいいと思います。
前回も書きましたが、きちんとまとめないと自分自身もわからなくなってしまいます(- -;;
SpringFrameworkにもサンプルがあるので、それをまねて自分なりにやったことのサンプルアプリケーションを作成してみようかと思います。
ただ仕事も(真面目じゃないですが)しているので、作成するのにはかなり時間がかかりそうです。
