IAJapan Top インターネット協会 Java 研究部会TOPへ
最終更新日:2001-06-13

「SOAPって?」レポート
「UMLで解説するHORBアーキテクチャ」

萩本氏 講師:萩本 順三氏
(株式会社 豆蔵)
 このセッションを担当するのは、株式会社豆蔵の萩本順三氏である。
萩本氏がHORBの開発および普及に関わりを持つようになってから、2年が経過した。
最初の1年目は、HORBの生みの親である電総研の平野聡氏との、言わば二人三脚の形で仕様決めをおこないNJK OTGチームで開発するという体制であったが、いまでは、HORB運営委員会が組織され、HORBの議論が活発になり、HORB普及への下地が固められた。
 そういう状況の中今回のセッションは、HORBの開発者コミュニティへの更なる普及のために企画された。
具体的には、HORBのアーキテクチャを目にに見える形で示すことで、HORBを使用したシステムの設計及び、HORB自体の設計に対する議論が活発化されればという目的があったそうである。
 また、今後リファクタリング、デザインパターン等の議論がHORB開発者の中で活発に行われるようになることもコミュニティが発展する際に非常に重要であると同氏は冒頭に語っていた。

 講演では、まず初めにメソッド呼び出しの仕組みが説明された。
その際に、クライアントとHORBサーバでどのようにスレッドとソケットを利用しているか、そのアーキテクチャについて解説があった。具体的には、クライアント側の複数のスレッドからProxyを共有する場合、スレッド単位にProxyを使う場合について、各々の長所・短所についての説明である。
 次に、非同期メソッドについての説明が行われた。その際、萩本氏により実際にコードを編集しつつデモが行われた。非常に単純な非同期メソッドのソースを書き、それをすばやくコンパイルし、動作させてしまうプレゼンに、場内をほぼ埋め尽くした参加者が食い入るようにデモを見つめていたのは非常に印象的なシーンであった。

 次にHORBがリモート通信を行う時に、HORBのプロトコルを話すIOCIについて説明が行われた。
その時場内からの、「グローバルなネットワーク上で、分散オブジェクトは使えるの?」という疑問に対して、萩本氏は「SOAPを使ったプロトコルを考えている。まずは、HTTPトンネリングの次期バージョンで使用したい」と語った。ここに、今回の「SOAPって何?」セミナーの明確な目的があったことを理解した参加者も多いのではなかろうか。

 続いて、HORBのORBプロトコル、リモートオブジェクトの管理方法、ORBプロトコルを話すIOCIの構造について解説が行われた。その際IOCIに関して、「HORBのデフォルトプロトコルを実装している、SerializingIOCIクラスを、以前のバージョンでデフォルトプロトコルであったBasicIOCIと同列にリファクタリングする案がある」と語っていた。同氏は、「HORBは、既に一人の財産ではない。多くの人に支えられた共有の財産にならなければならない」と、以前から語っている。リファクタリングとは、ソフトウェアのサービスを変更せずにソフトウウェア構造を洗練させるという作業のことをいう。このような活動は、ソフトウェア財産の共有にとって非常に重要なことなのであろう。

最後に、プロトコル名で構成するクラスセットを選択する機構である、プラグインプロトコル・アーキテクチャについて説明があった。プロトコルに応じた、Factoryインタフェースをインプリメントしたファクトリクラスを用意することで、簡単にプロトコルを拡張することが出来ると語った。また、プラグインプロトコル・アーキテクチャの設計においては、HORBアプリケーションを開発するユーザのプログラミングインタフェースが汚くならないよう十分配慮したので、プラグインされたプロトコルもHORBの既存のプロトコルと同様に非常に使いやすい。実際HORBにSSLを組み込む場合に使用したが、開発者の富士通SSLの原氏、吉木氏によると、「あっという間に実装できた」という報告を受けたと自信に満ちて語っていた。

ソースレベルだけではなく、今回のセッションで解説された、アーキテクチャレベルからの説明は、HORB自身を開発している開発者だけでなく、HORBを利用しようとする開発者にとっても、アーキテクチャに即した最適なデザインを選択でき非常に有効であると感じた。このセッションをきっかけとして、萩本氏が意図しているようにHORB開発者コミュニティが発展していくことだろう。

(レポーター 株式会社豆蔵 冨岡学氏)


  • インターネット協会 Java 部会についてのお問い合わせは java-info@iaj.or.jp まで
  • このサイトに問題があった場合は webmaster@java-conf.gr.jpまでご連絡ください
  • ※Sun, Sun Microsystemsは米国およびその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。 Javaおよびその他のJavaを含む標章は、米国Sun Microsystems, Inc.の商標であり、同社のJavaブランドの技術を使用した製品を指します
  • インターネット協会 Java 研究部会は、米国 Sun Microsystems, Inc. とは独立の団体です。

sec@iajapan.org
Copyright (C) 2001 Internet Association Japan