アットマーク・アイティ @IT@IT自分戦略研究所QA@ITイベントカレンダー+ログ
 @IT > 「こんなところにもCORBAなの? Orbix/E(前編)」
 
@IT[FYI]

 

こんなところにもCORBAなの?

組み込みの世界にCORBAの時代が到来する


目次
前編
組み込み用途CORBAの新潮流
―高速でライトウェイトなOrbix/Eの誕生―
後編
充実したソリューション力
―Orbix/Eのソリューション・アドバンテージ
  CORBAと聞くと、皆さんは大規模なトランザクションシステムの世界を思い浮かべるのではないだろうか。実際、アットマーク・アイティの記事「いまなぜCORBAなの?」でもすでに紹介したように、日本を代表するオンライン証券企業であるDLJ Direct SFG証券のサイトや、アメリカン航空の総合旅行サイト「AA.com」などのバックエンドには、CORBAが使われている。

組み込みの世界にまでCORBA?

 ところが、CORBAに関する最新のトレンドは、意外なことに組み込みの世界への適用なのだ。テレコムネットワーク機器の世界では、すでに多くの導入が進んでいる。また、高度交通システム(ITS)のETC装置(自動料金徴収システム)、カーナビなど、私たちの身近なところへのCORBAの適用が検討されはじめているのだ。さらには、不幸な出来事ではあるが、いまアフガニンスタン上空を飛行している米軍の航空機の制御機器、航空機と基地間の通信にもCORBAが使われている。実は、防衛の世界では、いまやCORBAは欠かせないテクノロジーとなりつつある。

 ところで、CORBAは、ネットワーク上に存在するオブジェクトをクライアントから呼び出すための基盤である。しかも、その呼び出しは、異機種の間であっても、アプリケーションの開発言語が違っても、共通の手順で行うことができる。しかも、オブジェクト間の通信はかなりクリティカルな条件下でも信頼性が高いことが特徴だ。しかし、本来最初に紹介したような大規模なサーバ環境で使われるCORBAに対して、皆さんは次のような疑問をお持ちだろう。

  • 組み込み用途に耐えうる性能が出ないのではないか?(オーバーヘッドが大きく、リアルタイム性やパフォーマンスに応えられないのではないか)

  • 稼動OSが限られるのではないか?

  • Cなど、組み込み業界での普及言語がサポートされないのではないか?

  • メモリ消費量が大きいのではないか?

 さて、本稿ではこれらの疑問に答えていくが、まずその前に、組み込みの世界でCORBAの特性が必要とされる理由に触れてみたい。

組み込みの世界がCORBAを要求する理由

 いまや組み込みの世界といえど、ネットワークで接続されていない世界は少ない。組み込みの世界ほど、MPUやOSの種類が豊富な世界はない。これら本来接続することが難しい世界を結ぶのは、CORBAの得意分野である。たとえば、マルチベンダの機材が混在する環境下でのネットワーク管理システムの例をみてみよう。

通信業界におけるプロトコル標準化動向。あらゆる機器間でCORBAの採用がトレンドとなりつつある

 通信キャリアのような数十〜数百の機器をまとめて障害管理する必要がある世界では、1つのネットワーク管理ソフトウェアによって、マルチベンダで構成されるすべての機器に対して状態情報の受信・管理コマンドを送出し、状態管理を行う必要がある。この場合、オープンな通信プロトコルを採用してベンダ間の差異を吸収する必要があるが、ここにHTTPのような効率の悪いプロトコルは使うことができない。現在もっともよく使われているプロトコルがSNMPだが、これはUDPをベースとしているため、信頼性をプロトコルに頼るわけにはいかず、アプリケーション側で補完する必要が出てくる。

 その点、IIOP(CORBA)を使えば、TCPベースの通信なのでトランスポート層が到達保障を行ってくれるというわけだ。実際、この10月にスタートしたNTTドコモのFOMAのネットワーク管理システムにもCORBAが採用されている。

 また、さきほど紹介したETCも、自動車とETC間で高速で効率的な通信が要求される。現在は、ここではDSRCと呼ばれる狭帯域の無線プロトコルが使われているが、将来的にワイヤレスIPへの移行がトレンドとして考えられており、そこの上では、やはりHTTPよりも効率の良いIIOPを利用することも見込まれている。そしてすでに、センタ間の通信では、CORBAが注目されているのだ。これについては、財団法人 道路新産業開発機構のWebサイトで紹介されているので参照してほしい。

 このように、組み込み機器の通信に対するニーズを満たすプロトコルとして、CORBAの利用が進んでいる。

組み込みの世界の要求をクリアする「Orbix/E」の誕生

 さて、ここまでで、組み込みの世界におけるCORBAの必要性について理解していただけたと思う。では、いよいよ先に提示したCORBAに対する疑問に答えよう。

 ここで紹介したい組み込み向けCORBA製品「Orbix/E」は、CORBA製品の事実上のデファクトであるOrbix 2000をもつアイオナテクノロジーズの組み込み向けCORBA製品である。この、Orbix/Eは、米国オブジェクト・オリエンテッド・コンセプト社が開発した定評あるCORBA製品「ORBacus(オーバッカス)/E」をベースにしている。アイオナテクノロジーズは、オブジェクト・オリエンテッド・コンセプト社を2001年2月に買収し、エンタープライズと組み込み市場両方におけるCORBA技術の強化を行った。そして、ORBacusの開発者は買収後もアイオナテクノロジーズの開発ラインに残り、引き続き製品の強化に取り組んでいる。

 ここで、組み込みの世界になぜCORBAなの?の疑問にマトリックスで答えよう。これらのファクトはOrbix/Eのスペックである。

疑問 回答
組み込み用途に耐えうる性能が出ないのではないか? (TCP/IPソケットと比べて、パフォーマンスは約20%のオーバーヘッド増にとどまる)

1秒間に約1万3550回の2ウェイコール
1秒間に約4万6230回の1ウェイコール
(Orbix/E for C、C++での測定値)*1
稼動OSが限られるのではないか?

(対応OS)
QNX/Neutrino
組み込みLinux
VxWorks
ENEA OSE
ITRON(対応予定)
Windows CE
Palm OS
Windows 2000
Solaris

組み込み業界での普及言語がサポートされないのでは? (対応言語)
C/C++、Java
メモリ消費量が大きいのでは? クライアント側実行サイズ(〜90KB)
サーバ側実行サイズ(〜140KB)
(Orbix/E C++での測定値。“Helo World”の表示を実現した場合)*2
  *1:PentiumV 800MHz/Windows 2000環境
  *2:PentiumV/Windows 2000環境

 まず、組み込み用途に耐えうる性能が出るかという問題だが、IIOPを使った通信でも、TCP/IPと比較して約20%のオーバーヘッドの増大にとどまる。これはリアルタイム制御に充分耐えうる性能だ。また、対応するOSは、組み込みの世界で用いられている主要なOSに対応している。国内で普及するITRONについては今後の対応が検討されている。対応言語についてだが、これは言語別に製品のバリエーションが用意されている。

最も開発者に馴染みがあるC言語に対応している。また、C++バージョンではANSIと非ANSIの両方をサポートしている。Java版はオブジェクト指向開発者にとっては高い生産性というメリットをもたらす

  メモリ消費量に関しては、上記の表内の「メモリ消費量が大きいのでは?」に対する回答の欄をみてほしい。これは“Hello World”の表示を実現した場合のクライアント、サーバの両モジュールのサイズである。充分に小さいことがお分かりになるだろう。

 Orbix/Eが組み込みの世界でも充分に実用に耐えうるCORBA製品であることが、以上から理解いただけたと思う。

ORBacus/Eの導入成功事例

 Codonics社は医療、CAD、航空宇宙産業で利用されるカラープリンタのメーカーであり、この分野では世界のトップシェアを誇っている。常に業界を一歩リードするためにスピーディーな製品の出荷を実現し続ける必要があるが、そのためには確立されたイメージング技術をモジュール化し、新技術とスピーティーに、シームレスにつなぐことが重要だった。これを実現するために、具体的な課題とされたことは以下の内容だ。

  • C言語で開発された資産の活用
  • 再利用可能なコンポーネントベースのモジュールの開発
  • 将来の言語として、C++、Javaをサポートすること
  • 特定のプラットフォームに依存しないこと

 これらの要求に答えるものとして、CORBAの導入が最適と判断された。そしてCORBA製品の選択には、低コストが重要なポイントになった。組み込み印刷機器をできるだけ安価に提供したかったからである。また、次世代製品に採用予定のプラットフォームであるLinuxにも対応している必要があった。これらの条件から選ばれたのが、ORBacus/Eである。

 選ばれた理由はほかにもある。ネーミング・サービス、イベント・サービスといった機能がオプションではなく標準機能となっている点だ。さらに、C++を使った実装によって、従来までサポートできていなかったマルチスレッドの容易な実現は、大きなメリットをもたらした。最後に、ソースコードが公開されていたことも大いに役立った。独自のカスタマイズを豊富にほどこすことができ、製品の高性能化に一役買ったのだ。

Codonics社

 後編の次回は、Orbix/Eのさらにディテールに触れてみる。CORBA 2.3のサブセットとしての基本スペックの紹介にはじまり、組み込みという特殊な環境では重要な要素となるソースコード公開によるポーティングやカスタマイズへの柔軟な対応、TCP/IP以外のプロトコルサポートといった特徴を解説する。さらには、実際の導入事例とアイオナテクノロジーズのサポート力についてもご紹介しよう。

 

こんなところにもCOBAなの?
―組み込みの世界にCORBAの時代が到来する―
前編
組み込み用途CORBAの新潮流
―高速でライトウェイトなOrbix./Eの誕生―
  後編
充実したソリューション力
―Orbix/Eのソリューション・アドバンテージ
 

関連リンク集

@IT 関連記事

「いまなぜCORBAなの?」
第1回「まずはCORBAの基礎を復習しよう

第2回「EJBとはどこが違うの?

第3回「事例とアーキテクチャに学ぶ

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

「News Insight」
アイオナのWebサービスはエンド・ツー・エニウェア

アイオナがCORBA ORBの最新版「Orbix 2000 v1.2」を出荷


日本アイオナ
テクノロジーズ

Orbix/Eの製品ページ




</comment> <tr> <td bgcolor="#EEEEEE"><font size="2"><a href="javascript:KeepIt();"> <img src="/club/keepoint/images/ico_kpt.gif" alt="kee&lt;p&gt;oint保存" border="0" align="absmiddle" width="24" height="18">kee&lt;p&gt;ointで保存</a></font></td> </tr> <comment>

 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ