
いまなぜ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関連のリファレンス [リンク] [入門書] [設計ガイドライン] |
| 3/3 |
|
||||||||
| 連載内容 | |
| いまなぜCORBAなの? | |
| 第1回 まずはCORBAを復習しよう | |
| 第2回 EJBとはどこが違うの? | |
| 第3回 事例とアーキテクチャに学ぶ | |
| 第4回 WebサービスをひらくCORBA | |
| 連載記事一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

