
いまなぜCORBAなの?
第3回 事例とアーキテクチャに学ぶ
日本アイオナテクノロジーズ
主席 コンサルタント
小野沢 博文
2001/3/31
前回は、CORBAとEJBが仲のいい兄弟で、それぞれの得意分野で両者を使い分けることが重要であるという話をしました。今回は、CORBAが実際にどこでどのように使われているのか、CORBAベースのアプリケーションサーバの優位点は何なのかを解説します。前半は事例をご紹介し、後半はやや技術的な話をしたいと思います。
| CORBAで何ができるのか? |
CORBAは、特定の用途に限定されない汎用的な分散オブジェクト基盤ですから、非常に広い範囲をカバーします。その中でも、CORBAが特に得意とするのは、次のような分野です。
●通信ミドルウェアとしての利用
これは、従来CORBAが最も得意とする分野です。例えば、テレコムのネットワーク管理システムでの交換機や伝送装置の監視や制御のための通信、銀行や証券会社のトレーディング・システムのクライアントとサーバ間の通信、工場のプロセス制御システムでの各装置やサーバ間の通信、交通制御システムでのトラフィック監視や遠隔操作、といった分野でCORBAが広く使われています。
●異機種分散システムを統合するための共通基盤としての利用
これも、CORBAがもともと得意としてきた分野ですが、インターネットの爆発的な普及によって、ニーズが急増している分野です。いわゆるドット・コム企業ではない既存の企業が、eビジネスで競争力のあるサービスを提供していくためには、単なるスタンドアロンのWebサーバやアプリケーションサーバではなく、これまで蓄積してきたシステム資産とインターネットを統合していく必要があります。このためののりになるのがCORBAです。この分野では、アメリカン航空、ボーイング、フォードといった幾多の成功例があります。
●アプリケーション・サーバとしての利用
連載1回目に、「アプリケーション・サーバ=EJB」という常識(?)にあえて挑戦しましたが、実際にCORBAをアプリケーション・サーバとして使用するケースが増えています。これらのケースでは、当然、CORBAでなければ実現できなかったメリットがあります。
1つ目の「通信ミドルウェアとしての利用」は、これまでに膨大な事例があり、CORBAの適用分野としては広く知れ渡っていますので(例えば、http://www.iona.co.jp/aboutus/customers/index.htmlをご参照ください)、今回は、2つ目の「異機種分散システムを統合するための共通基盤としての利用」と、3つ目の「アプリケーションサーバとしての利用」を重点に、適用事例を交えて解説したいと思います。
| 事例1 アメリカン航空 AA.com 「異機種分散システムを統合するための共通基盤」 |
■成功の要因
アメリカン航空が運営する「AA.com」は、大手航空会社によるこの分野での最初の総合旅行サイトです。
![]() |
| アメリカン航空の「AA.com」はCORBAによって支えられている |
あまり知られていませんが、このシステムを裏から支えているのがCORBAなのです。AA.comは、パトリシア・シーボルトの『ネットビジネス戦略入門』(鈴木純一監訳、翔泳社)で、ネットビジネスの成功事例として真っ先に取り上げられています。同書では、このアメリカン航空が成功した要因を次のように分析しています。
- 適切な顧客をターゲットにしたこと
同社のマイレージ・プログラムであるAアドバンテージの会員が、これまでにも、将来にわたっても、同社に最も利益をもたらしてくれる。しかも、その大多数がパソコン利用者だという調査結果から、ターゲットをこれらの会員に絞ってサービスを提供した。
- 徹底的に個別化したサービスを提供したこと
Aアドバンテージ会員データベースにすでに格納されていた情報をもとに、会員1人1人のニーズに対する徹底的な個別サービスを提供した。しかも、航空券の予約だけではなく、ホテル、レンタカー、レストランなどの予約も1カ所からできるようにした。
■バックエンド・システムをコンポーネントととらえる
これらのサービスを実現するためには、既存のバックエンド・システムである、SABRE座席予約システム、Aアドバンテージ会員データベース、パートナーのホテル予約システム、レンタカー予約システムなどとの統合が求められました。この中でもSABRE座席予約システムは、1960年代初期にアメリカン航空とIBMの合弁ベンチャーによってメインフレーム上に開発された、トランザクション処理システムの草分けであり、現在でも引き続き世界最大規模のシステムです。
ここで、アメリカン航空は、既存のバックエンド・システムを再設計するのではなく、既存システムを「サービス」と考え、これらのサービスを組み合わせて、顧客に直接サービスを提供する、フロント・エンド・サービスを開発するというアプローチをとりました。この過程で当然これまでのシステムには、認証、セッション管理、パーソナリゼーションといった機能が不足していることが明らかになっていきます。これらのサービスも、既存システムと同様に、交換可能な、いわゆるコンポーネントとして設計しました。そして、これらのコンポーネントを束ねる共通基盤としてCORBAを採用したのです(図1)。
![]() |
| 図1 アメリカン航空 AA.COMのシステム構成 |
このようなアプローチによって、1960年代にメインフレーム・ベースで開発された巨大トランザクション処理システムが、最新のWeb技術と結びつくことによって、インターネット・サービスを提供しているのです。しかも、Webによる座席予約が余剰座席を販売する最も効率の良い方法であることが実証されており、同社にとって、ほかの座席予約システムを凌ぐ収益性の高さを実現しているのです。
| 事例2 DLJ direct SFG証券 「CORBAベースのアプリケーション・サーバ」 |
DLJ direct SFG証券(http://www.dljdirect-sfg.co.jp/)は、1999年に営業を開始した日本を代表するオンライン証券会社です。
![]() |
| DLJ direct SFG証券はCORBAベースのアプリケーション・サーバを採用し高可用性を実現している |
オンライン証券会社にとっては、インターネット・サービスの停止がすべてのサービスの停止を意味します。そのようなミッション・クリティカルな分野で、CORBAベースのアプリケーション・サーバが使用されています。しかも、同社は稼働率99.97パーセントという、インターネット証券取引としては驚異的な可用性目標を掲げ、実際にそれを達成しています(『日経コンピュータ』2000年5月22日号「特集 稼働率の極限に挑む」)。
| CORBAベースのアプリケーション・サーバの優位点(1) ――さまざまなプラットフォームと開発言語に対応―― |
同社のシステムの特長は、ビジネス・ロジックをCORBAベースのアプリケーション・サーバで実装することにより、さまざまなプラットフォームと開発言語に対応したことです(図2)。連載第1回目にも述べましたが、フロント・エンド・システムの技術進歩は急速で、次々とトレンドが移り変わっていきます。この点に関しては、Java Solutionフォーラムの読者の皆さんには釈迦に説法でしょう。ここで、ビジネス・ロジック層までもが、このフロント・エンドの早い動きに振り回されて、個々に対応しなければならないとしたら、開発者にとっては悪夢の連続です。
![]() |
| 図2 DLJ direct SFG証券のシステム構成 |
フロント・エンドが、C++ベースの専用ソフトウェアでも、HTTPベースのWebブラウザでも、あるいはi-モード端末でも、ビジネス・ロジックは共通に使えるというのが理想です。DLJ ディレクト SFG証券で、この理想を実現しているのがCORBAベースのアプリケーションサーバなのです。すべてのフロント・エンドがCORBAクライアントとして書かれているため、さまざまなプラットフォームのさまざまな開発言語から、共通のIDL(Interface Definition Language)インターフェイスでアプリケーションサーバにアクセスできるのです。しかも、同社は3カ月間という驚異的に短い開発工期でシステムを公開しています。
| CORBAベースのアプリケーション・サーバの優位点(2) ――スケーラビリティと柔軟性 ―― |
CORBAベースのアプリケーションサーバの優位点は、プラットフォームとプログラミング言語からの独立性だけではありません。CORBAの優位性のもう1つは、スケーラビリティと柔軟性の高さです。ここで、CORBAアプリケーションとEJBアプリケーションを比較した、連載第2回掲載の図1を思い出してください。前回の説明のように、EJBアプリケーションがビジネス・ロジックを実装したメソッドだけからなり、EJBコンテナ上で実行されるのに対して、CORBAアプリケーションは、スタンドアロンで実行されます。このため、開発生産性という点では、一般的にEJBの方が優れていますが、スケーラビリティと柔軟性という点では、CORBAの方が優れています。ただし、開発生産性と同じく、これにもただし書きがあり、スケーラビリティと柔軟性を享受できるのは、CORBAのアーキテクチャとアプリケーションの要求を十分に理解して設計した場合の話です。ここでは、CORBAベースのアプリケーションサーバのスケーラビリティと柔軟性の源泉について、少し技術的な説明をしたいと思います。
| CORBAのスケーラビリティと柔軟性の源泉 |
|
||||||
| 連載内容 | |
| いまなぜCORBAなの? | |
| 第1回 まずはCORBAを復習しよう | |
| 第2回 EJBとはどこが違うの? | |
| 第3回 事例とアーキテクチャに学ぶ | |
| 第4回 WebサービスをひらくCORBA | |
| 連載記事一覧 |
ホワイトペーパー(TechTargetジャパン)
- Android NDKでJNIを使用してアプリを高速化するには (2010/3/17)
C/C++やOpenGL ESといったネイティブコードを使うためのNDKとJNIを紹介し、その使い方や注意点を徹底解説します - 調査の難しい「OutOfMemoryError」事例、5選 (2010/3/11)
Java開発者が避けて通れないメモリ不足エラーの基本的な問題切り分け方法と発生につながる事例、対処法を解説 - 究極の問題解析ツール、逆コンパイラJD-Eclipseとは (2010/3/8)
ライブラリ内で例外が発生! そのクラスのソースコードを調べたい!! 自動で逆コンパイルしてくれる無料Eclipseプラグインがあります - いまさら聞けない「Webサービス」の常識 (2010/2/26)
昨今では企業システムでも使われる「Webサービス」の概念やJava標準のJAX-WSを紹介しJBoss WSでサンプルを作成
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |










