いまなぜCORBAなの?

第4回 WebサービスをひらくCORBA





AtoAにXMLを使うか、IDLを使うか

 この連載の締めくくりとして、アプリケーション連携(AtoA)にXMLを使うべきか、IDLインターフェイス(ここではIDLという言葉を、インターフェイス定義を使用するCORBAとEJBを代表して使用します)を使うべきかについて考察したいと思います。結論を先に述べると、「EJBを使うべきかCORBAを使うべきか」という議論と同じく、「適材適所が重要である」ということになります。

 それでは、それぞれのメリットとデメリットを見ていきましょう。

  メリット デメリット
XML ●インターフェイス(ドキュメントの構造)の変化に比較的簡単に対応することができます。ただし、XMLの柔軟性に過大な期待を持たないように注意してください。データ要素が変更あるいは追加された場合には、当然、アプリケーション側の対応も必要になります

●分かりやすく、データを目で見て理解できます。
●ネットワーク・トラフィックが増大します。同じデータをIIOPで送った場合とSOAPで送った場合を比較すると、数倍から数十倍、ひどい場合には100倍程度にメッセージ・サイズが膨れ上がります

●ドキュメントの処理コスト(負荷)が高くなります。XMLパーサによる処理コストはばかになりません。
IDL ●ネットワーク・トラフィックと処理コストが相対的に低くなります

●アプリケーション間のインターフェイスが明確になります
インターフェイスの変更が比較的困難。特に、組織にまたがる変更は政治的にやっかいです

 以上のメリットとデメリットの比較から、どのような場合にどちらを使えばよいのかが明らかになります(図8)

 まず、同じ企業内や部門内で、クライアントとサーバの管理主体が同じで、インターフェイスの変更に容易に対応することができる場合で、しかも性能面の制約がある場合には、IDLインターフェイスを使ったアプローチが適切です。

 これに対して、企業間取引や大企業の複数部門にまたがるシステムで、将来にわたってデータ項目の追加が予想される場合には、XMLを使用します。ただし、この場合には性能に細心の注意を払う必要があります。

図8 XMLとIDLの使い分け


連載のまとめ

 これまで4回にわたってCORBAで何ができるのか、CORBAとEJBとの違いと使い分け、CORBAが実際にどんなところで使われているのか、CORBAが今後どのように展開していくのかを解説してきました。この連載は、CORBAの基礎を解説するというよりは、CORBAの使われ方、EJBやXMLとの使い分けや統合について力を入れてきました。「CORBAを基礎から学習したい」あるいは「より深く学習したい」という方のために、最後にCORBAに関するリファレンスをまとめましたので、ぜひ参考にしてください。

 この連載の執筆を通じて頭の中にあったのは、昨年5月にOMGと創研プラニングの主催で開催された「第5回OMG分散コンピューテイング・セミナー」におけるリチャード・ソーリーOMG会長のスペシャル・トークです(この全文は、下記のOMG Japanのホームページからダウンロードできます)。この中でソーリーさんは、「EJBやXMLがあればCORBAはいらない」という意見に対して、「新しい技術が登場すると皆一様にこの技術がすべてを解決してくれると喝さいを浴びせるが、現実にはどんな技術でもあっという間にレガシー・システムになってしまい、数年後にはインテグレーションが大きな問題としてのしかかってくる。CORBAの目的は、これらあらゆるシステムをつなぐインフラを提供することである(上記ドキュメントから要約。文責は 小野沢にあります)」と述べています。CORBAは、誕生して10年になる成熟した技術ですが、常に新しい技術との統合を標準仕様に組み込んできました。DCE、COM、Java RMI、そして、現在はXMLとの統合が進められています。この意味で、CORBAは古くて、しかも常に新たに成長し続けている技術なのです。

CORBA関連のリファレンス

[リンク]
OMGホームページ
http://www.omg.org/
OMG Japanホームページ
http://www.omgj.org/

CORBAニューズ・グループ
comp.object.corba
CORBA日本語メーリング・リスト
http://www.users.gr.jp/ml/corba.asp
CORBAを含むオブジェクト指向に関する総合リンク・ページ
http://www.cetus-links.org/
日本アイオナテクノロジーズ ホームページ
http://www.iona.co.jp/

[入門書]
『CORBA完全解説 基礎編 Javaで簡単CORBA』(小野沢博文)ソフト・リサーチ・センター
『CORBA完全解説 応用編 POAを使いこなす』(小野沢博文)ソフト・リサーチ・センター

[設計ガイドライン]
『Enterprise CORBA』(ダーク・スラマ、ジェイソン・ガービス、ペリー・ラッセル)ピアソン・エデュケーション

 

3/3  

第4回 WebサービスをひらくCORBA
  組み込みシステムにおけるCORBAの役割
・ミニマルCORBA
・リアルタイムCORBA
・CORBAワイヤレス・プロトコル
・組み込みCORBAの製品化
  WebサービスにおけるCORBAの役割
アプリケーション間でのXMLドキュメントの交換を実現するSOAP
Webサービスのインターフェイスを定義するWSDL
Webサービスの検索を可能にするUDDI
Webサービスの基盤を提供するCORBA
CORBAのプロトコルとしてのSOAP ―― SCOAP

・純粋なCORBAアプリケーション間の通信にSOAPを使用する
・CORBAアプリケーション間でXMLドキュメントをやりとりするためにSOAPを使用する
・純粋なSOAPアプリケーションとCORBAアプリケーション間の通信にSOAPを使用する
・CORBAベースのWebサービスのメリット
AtoAにXMLを使うか、IDLを使うか
連載のまとめ

連載内容
いまなぜCORBAなの?
  第1回 まずはCORBAを復習しよう
  第2回 EJBとはどこが違うの?
  第3回 事例とアーキテクチャに学ぶ
第4回 WebサービスをひらくCORBA

筆者プロフィール
小野沢 博文(おのざわ ひろふみ)

日本アイオナテクノロジーズ株式会社
主席 コンサルタント

現在、日本アイオナテクノロジーズ株式会社にて分散オブジェクト・システムの技術コンサルタントを務める。
1991年まで富士通株式会社にてプラズマ実験データ処理システムの開発やシステム運用に携わった後1996年以前は日本DECにてCORBA準拠のObjectBrokerおよびDCEの開発を担当。また、MIA、NMF SPIRITなどの標準化活動にも参加する。 1997年1月から1999年8月までは、TCSIにて分散オブジェクト技術を適用したテレコム向けの大規模ネットワーク管理システムの開発に携わる。

[著書一覧]
『CORBA完全解説 基礎編』(ソフト・リサーチ・センター)、『CORBA完全解説 応用編』(ソフト・リサーチ・センター)、『分散オブジェクト指向技術CORBA』(ソフト・リサーチ・センター)、『イントラネットのためのオブジェクト指向データベース技術』(共著、ソフト・リサーチ・センター)、『分散コンピューティング環境 DCE』 (監著、共立出版)、『トランザクション処理システム入門』(共訳、日経BP)

連載記事一覧

 

TechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH