Oracle WebLogic製品シリーズと融合し
エンタープライズ対応を強化した
ミドルウェアデータグリッド
C++アプリケーションにネイティブ対応したCoherence 3.4
複数のサーバのメモリを仮想化してデータを展開し、アプリケーションサーバへのキャッシュサービスやデータ管理機能を提供する「ミドルウェアデータグリッド」製品のOracle Coherenceがバージョンアップして登場する。最新バージョンであるOracle Coherence 3.4の大きな特徴は、C++アプリケーションにネイティブ対応した点にある。
CoherenceはデータアクセスAPIを提供しており、Coherenceデータグリッドにクライアントアプリケーションを直接接続してデータを扱うことができる。Coherenceデータグリッドをインメモリのオブジェクトデータベースのように利用するイメージだ。
金融機関のバックエンドシステムでもJava利用が拡大しつつある点については、多くの方が知るところだろう。一方で、機関投資家やトレーダーの窓口となるような金融機関のフロントエンド・アプリケーションでは、ExcelなどのOffice系のレポーティングツールを駆使してマーケットデータを分析し、売買などの操作を行うというニーズが多い。そのため .NETなどのインターフェイスが要求される。
Coherenceは従来、このJavaと.NETを接続クライアントとして利用できたのだが、そこに新たにC++が加わった。
例えば、金利計算やポートフォリオ分析、より高度で専門的な金融工学に即した演算ではC++を使いたいというニーズが多くある。また、速度やリアルタイム性の求められる処理ではやはり、C++に一日の長がある。
Coherenceでは、このバージョン3.4からC++にネイティブ対応している。Managed C++や、STL(Standard Template Library)のような外部依存性がなく、ミニマムな状態でC++アプリケーションからOracle Coherenceデータグリッドに接続できるようになった。
C++対応に合わせて、データグリッド内のオブジェクトフォーマットもプラットフォームや言語に依存しないPOF(Portable Object Format)方式を確立。各言語で使われるオブジェクトは、Javaや.NET、C++からも相互参照可能になっている。
Oracle JRockit Real Time利用で、さらなる高速化を実現
Coherenceの運用基盤となるJVMとしてOracle JRockit Real Timeを組み合わせて利用することで大きな効果がもたらされる。
Javaシステムを運用する上では、ガベージコレクション(GC)を適切に制御することが重要になる。ミリ秒程度の遅延しか許されないミッションクリティカルなシステムでは、GCによる遅延は大きな影響を及ぼす。
従来のCoherenceでは、複数のJVMが巨大なメモリ空間を仮想的に作ることで、1つのJVMにおけるGCの影響を最小限に抑えていた。JRockitは、従来から高速JVMとして定評のあるコンポーネントだが、その上位版にあたるJRockit Real Timeは、GCを小刻みに行うという特別な制御に大きな特徴がある。短いスパンでGCを行うことでレスポンスタイムをコントロールするというわけだ。大規模なGCが起こらない状況を作ることで、1つのGCによるシステム遅延をミリ秒単位にまで短縮している。CoherenceとJRockit Real Timeの組み合わせは、次で紹介する新しい「Oracle WebLogic」製品シリーズとともに登場することになる。
図1 GC処理性能ベンチマーク比較
「Oracle WebLogic」と融合し、エンタープライズ対応をさらに強化
オラクルがBEAシステムズを買収することで誕生した最新アプリケーションサーバ製品、Oracle WebLogic製品シリーズと融合することもCoherence 3.4の大きな特徴だ。
Oracle WebLogic製品シリーズは、Oracle DatabaseやOracle E-Business Suiteといった製品との親和性が高いOracle Application Serverと、インフラおよび管理機能が充実するWebLogic Serverとを融合したもの。
もともと、WebLogic Serverは企業独自のフレームワークやオープンソースフレームワークを使うJavaコンテナとして利用されることが多く、Oracle Application ServerはADF(Oracle Application Development Framework)やOracle TopLinkなどのライブラリや、Oracle E-Business Suiteなどとともに利用するためのアプリケーション基盤として利用されることが多い。
ピュアなJavaアプリケーションサーバとして基盤機能などに定評のあったWebLogic Serverと、ライブラリやアプリケーションとの連携に付加価値のあるOracle Application Serverの両者のメリットを融合させ、Coherenceとともに提供されるのが、新たにミッションクリティカル用途向けに用意されるOracle WebLogic SuiteとOracle WebLogic Application Gridの2つの製品である。
なお、オラクルとBEAの統合後も、これまでのOracle Application Server製品ラインアップ(Standard Edition One/Standard/Enterprise Edition)および従来からのWebLogic Server製品を踏襲するラインアップは継続(Oracle WebLogic Server Standard/Enterprise Edition)されるので、既存ユーザーが不安に感じる必要はない。従来の領域を広げる製品ラインアップの追加だと考えるべきである。
ミッションクリティカル向けミドルウェアOracle WebLogic Suite
Java EE環境をベースにした大規模・ミッションクリティカルなアプリケーション実行環境を提供するのがOracle WebLogic Suiteだ。複数のWebLogic Serverによる大規模な演算やトランザクション処理を、Coherenceを用いたインメモリデータグリッドでパラレルに実行できる。Coherenceを稼働するJVM基盤には、前述のJRockit Real Timeを採用する。
また、後ほど紹介する動的プロビジョニング(自動配備)ツールのWebLogic Operations Controlを活用することで、ダイナミックで伸縮可能なグ リッド型アプリケーションサーバの構築を実現する。
図2 Oracle WebLogic Operations Control
バックエンドの高速・大量処理を実現する
Oracle WebLogic Application Grid
Java EEの大規模ミッションクリティカル向け基盤であるOracle WebLogic Suiteに対し、さらに厳しい性能要件で、機能の豊富さよりも処理速度や精度を優先するようなバックエンドの高速・大量データ処理向けにインメモリデータグリッド基盤を提供するのがOracle WebLogic Application Gridだ。
WebLogic Application GridにはWebLogicというブランド名が使われているが、WebLogic Serverが含まれない点に注意していただきたい。Java EEベースのアプリケーションサーバではなくJava SEベースでロジックを組み立てて、.NETやJavaに加えて新たにサポートされたC++ネイティブクライアントなどでCoherenceのデータグリッドを利用することで、より厳しい要件に対応できるようにするものである。
例えば、金融機関や通信系の大規模トランザクション処理を行うデータセンタなどでは、Javaアプリケーションがフロントエンド処理を行い、トランザクション処理はTPモニター(トランザクション処理モニター)が受け持つといった構成が用いられることも多い。Application Gridはこのような大量データ処理を行うTPモニターの役割を担うことが可能になる。
もちろん、従来どおりTPモニターでシステムを組むというケースもあるだろう。特に、既存のCおよびCOBOLのプログラム/リソースがある場合は、TPモニターでの実装のほうが望ましい。そのニーズを支えるために、Oracle TuxedoをOracle WebLogic Suiteの背後で利用するという形も実績ある構成である。
Oracle WebLogic Operations Controlにより
Coherenceノードのプロビジョニングを実現
Oracle WebLogic SuiteやOracle WebLogic Application Gridには、Coherenceノードやアプリケーションノードのプロビジョニングを行うWebLogic Operations Controlも含まれる。
WebLogic Operations Controlは、サーバの状況を監視するエージェントから受け取ったアプリケーションの負荷状況やメモリ使用状況などを基にしてアプリケーションのプロビジョニングを行うツールだ。事前に設定した指標を超えると、未使用のサーバなどに動的にJVMインスタンスを起動し、Coherenceノードやアプリケーションノードを追加する。
従来のCoherenceでも状態監視は可能だったものの、サービスポリシーに基づくプロビジョニングに対応するには、追加の作りこみが必要だった。こうした面でも大幅にパワーアップしていると言える。
◇◇◇
WebLogic ServerとOracle Application Serverが統合し、そこにOracle Coherenceが融合することで、従来のJavaシステムに比べて一段上のサービスレベルを実現したOracle WebLogicシリーズ。より大規模なデータ処理やトランザクション処理の場合であれば、フロントエンド処理をWebLogic Suiteが行い、バックエンドのトランザクション処理をWebLogic Application Gridが行うフルJava構成、フルGrid構成にもできる。こうした構成により、ミリ秒単位のサービスレベルが求められるメインフレームシステムのダウンサイジングも可能になりそうだ。
ホワイトペーパーダウンロード |
ハードウェア面ではなくソフトウェア面からの機能向上を図ることで、コストを抑えて高速レスポンスと高スケーラビリティを実現する「Oracle Coherence」の概要を紹介する。 大量のサーバを抱える企業は、積み重なる運用コストや予想外の障害といった課題に悩まされている。機能や可用性を向上させるための施策の1つがハードウェアの増設だが、ひたすら増設してもコストが掛かるばかりだ。さらに、スペースも不足する。そこで活用すべきが、ソフトウェア面から行える性能向上だ。 このホワイトペーパーでは、日本オラクルが提供する「Oracle Fusion Middleware」のコンポーネントであるインメモリデータグリッド製品「Oracle Coherence」について、システムと技術の概要、実際の顧客事例およびその導入効果、検証結果などを解説する。 |
提供:日本オラクル株式会社
企画:アイティメディア 営業本部
制作:@IT 編集部
掲載内容有効期限:2008年9月30日