![]() |
![]() |
|
Loading
|
@IT > ネクストSOAのITパラダイム リアルタイムなイベント駆動型ビジネスを実現する「イベントストリーム処理」 |
![]() |
|
業務プロセスの中で発生する「イベント」によって駆動するシステムアーキテクチャを「EDA(Event Driven Architecture=イベント駆動型アーキテクチャ)」と呼ぶ。このEDAを実現するテクノロジとして期待されているのが、イベントストリーム処理だ。これとほぼ同義のものとして、「CEP(Complex Event Processing=複合イベント処理)」がある。これは、米ガートナーがEDAとともに提唱し始めた次世代のコンピューティングモデルである。 ここに、はるか以前からイベント処理に注目していた人物がいる。米プログレス ソフトウェア副社長、ジョン・ベイツ氏だ。英ケンブリッジ大学の学生だった1990年ごろから分散処理システムの一形態として、自らイベントストリーム処理(ESP)と呼ぶ技術を研究。同大学の教授を経て、1999年には英アパマ社を創業。ESPプラットフォーム「Apama」(現在の製品名は「Progress Apama」)を世に送り出した(注)。EDA/CEPが掲げている技術コンセプトは、Apama=イベントストリーム処理が実現してきたものと重なる。
「ビジネスアプリケーションは今日、データフローが年々倍増し、既存のデータ管理技術では追い付かなくなっている。企業システムの中を流れる膨大なイベントから、Apamaで特定パターンをリアルタイムに検知できれば、行動や意思決定を速められる」(ベイツ氏)。
ではイベントストリーム処理とは何か。
一般的な静的なデータ管理では、イベントを捕捉し、イベントを構成するデータをデータベースのテーブルに格納し、インデックスを張る。そのデータソースから何らかの行動や意思決定を生み出すには、クエリを行う必要があるため、それぞれのプロセスで致命的なレイテンシ(遅延)が生じる。仮にBIツールで多次元的にデータを分析し、単にレポート作成を自動化していたとしても、絶え間ないイベントの量と連続性の中で繰り返し新たなクエリが発生するようなケースでは、オーバーヘッドも大きい。 これに対してイベントストリーム処理は、イベントをデータとしてデータベースに格納する前の状態で処理を進める。イベント間の相関関係(パターン)に応じたアクションを定義(シナリオ化)。イベントストリーム群を捕捉し、多次元処理エンジンへ一元的に通して分析を行い、特定パターンを見つけ出し、“ミリ秒単位の”リアルタイムなアクションを起動する。例えば、クレジットカード会社の不正操作監視なら、「5秒間に同一カードで3回の認証が行われた場合、リクエストを拒絶、担当者に詐欺行為を警告する」といったシナリオが考えられる。 上記の例は1系統のイベントを時系列で追う単純なシナリオで、システムに制御シナリオを実装するのはさほど難しくないだろう。だが、実際のビジネスはもっと複雑だ。例えば、真っ先にApamaの有用性を見出した金融トレーディングの世界では、刻々と変化する市況や銘柄の値動き、自社ポートフォリオなど多様な変動データを勘案して戦略を実行する。データ変動をイベント、戦略をシナリオ、アクションを債券の売買と考えれば、まさしくマルチで複雑なイベントストリーム処理であり、Apamaを使った自動トレーディングが有効になる。 ベイツ氏は次のように語る。「これまで金融機関は、自動トレーディングの仕組みを自社開発したり、特定のアルゴリズムを組み込んだだけのパッケージ製品を使ってきたが、コスト、スピード、拡張性と柔軟性においてApamaの優位性が認められている。金融機関の中には、Apamaで何万通りものシナリオを同時実行するユーザーもいるが、これは従来の技術ではとても実現できない」。 Apamaのユーザーには、JPモルガン、ドイツ銀行、シティバンクなど世界的な大手金融機関が名前を連ねる。金融トレーディングの自動化を支援するITソリューションとして、Apamaが大きなポジションを占めているのは間違いないようだ。「日本でも一部の大手金融機関が先行して本格運用を始めている」という。 また、最近では金融以外の産業の企業でもビジネスのリアルタイム化は大きな命題になっている。実際、Apamaのユーザーは通信業、製造業、ロジスティックス、運送業、公共交通機関、防衛関連などにも広がり始め、例えば、リスクの検知による高いサービス品質の確保や、RFIDを活用したSCM、物流トラッキングシステムなどで利用するケースなどが目立つという。
Apamaとはどのようなアーキテクチャ・モデルなのか。ベイツ氏によれば、「1秒当たり何万件ものイベントに対して何万通りものシナリオを同時実行し、ミリ秒単位でアクションを起こせるようにアーキテクチャを最適化している」という。
概念的には、図2に示したとおりである。中核となるイベント処理エンジン「Event Correlator(Event Manager)」、イベントを格納するリポジトリ「Event Store」、外部環境とのインターフェイスを担う「Integrated Adapter Framework」、開発環境「Scenario Modeler」、そしてグラフィカルなユーザーインターフェイスとして「Dashboard」「Research Studio」を提供する。
Event Correlatorでは、必要なイベントストリーム群を監視して捕捉し、「多次元イベントマッチャー」が登録された複合的なイベントシーケンスを検知。呼応するアクションイベントを仮想マシン上で実行する流れだ(注)。
そして、Event Correlatorが処理・生成したすべてのイベントは、時系列でリポジトリのEvent Storeへ格納し、履歴を取る仕掛けである。これには大きなメリットがある。ビデオ録画のように特定時間のイベントストリームを“早回し”で再現し、新しいシナリオを適用してみるなどのシミュレーションテストが可能になるからだ。その際もResearch Studioによってテストの結果をGUI画面で検証できる。 これからも分かるとおり、Apamaにおいてシナリオは固定的なものではなく、ビジネスの状況に応じて、どんどんリファインすることを想定している。「システムを停めることなく、ダイナミックにシナリオを追加・修正できるのがApamaの優れたところ」(ベイツ氏)。
そして、このシナリオ作成がビジネスユーザーでも可能だという。Apamaには、ほとんどノンコーディングでシナリオをモデリングできる「Scenario Modeler」が用意されている。上のに示したとおり、左ペインでシナリオを持ったステートフローを定義することで、複合的なシナリオを描くことができる(背後でスクリプトを生成)。また、「SmartBlocks」と呼ぶプリパッケージ部品を画面上でドラッグ&ドロップするだけで、アクションイベントを記述できる。SmartBlocksは、金融業なら外部データサービスへのアクセスや売買注文など、アプリケーション分野に応じて汎用的なものが用意されている。こうした環境を通じて、業務のノウハウを持つビジネスユーザーによるイベント処理のためのシナリオ作成からテスト、配備が可能になるのである。 ベイツ氏は「金融機関のトレーダーや一般企業のデータ分析担当者は、Scenario Modelerを使って自分でシナリオを記述、システムへ反映させている。アプリケーションのコードを変更したり、パッケージをカスタマイズするやり方では、現在のスピードに追い付かない」と話す。 ビジネスユーザーが直接開発できるという点では、モニタリング用のDashboardも同様である。あらかじめ用意されたグラフやチャート、テーブルを画面上に配置。シナリオとリンクを張るとGUIでリアルタイムモニタリングが可能になる。つまり、Apamaはリアルタイムなアプリケーションを可視化するビジュアルなBAM(Business Activity Monitoring)ツールとしての要素も兼ね備えている。
Apamaのアーキテクチャを支える土台となるのが、外部インターフェイスのIntegrated Adapter Framework(IAF)だ。SOA構築のためのエンタープライズ・サービス・バス(ESB)を業界で初めて実装したことで知られる、ソニック ソフトウェアのミドルウェア製品「Sonic ESB」「Sonic MQ」や、金融業のFIX(Financial-Information-eXchange)プロトコルなどに対応した標準アダプタを用意するほか、アダプタの開発キットを提供する。
「IAFを使うことで、あらゆるデータソースのイベントストリームをEvent Managerへ吸い上げることができる。特に標準アダプタがあるSonic ESBへは簡単にプラグインできるので、システム統合のインフラとして採用するユーザーが増えてきている。オランダの大手書店チェーンは、個品管理を実現したRFIDソリューションに使っているし、ある大手通信事業者は念とワークのパフォーマンスを監視し、通信サービスのリスクを事前に回避するSLA(サービスレベル管理)に用いている」(ベイツ氏)。 Sonic ESBで接続したSOA環境へApamaをアドオンすると、イベント駆動型の分散コンピューティング環境を実現できる。Sonic ESBで企業のさまざまなアプリケーション間にバスを通すことで、イベントストリームをフィードする通り道ができる。そこからApamaがイベントを吸い上げ、生成したアクションでほかのサービスを起動し、コンプライアンスやリスク管理への適用など、IT統制下で業務をリアルタイムに監視するといった連携が考えられる。Apamaのイベントストリーム処理はSOAを強化・補完する技術といえる。
以上のようなアーキテクチャを持つApamaは、従来のツールや自社開発に比べて導入も容易だという。ベイツ氏によれば、標準アダプタで既存システムへ接続可能な場合、シナリオのシミュレーションテスト期間も含め1カ月でカットオーバーしたケースもあるという。 今後、さまざまなベンダがイベント駆動型のITソリューションを打ち出してくるだろう。ただ、研究期間も含めると15年あまり、この分野をリードしてきたApamaの優位性が簡単に崩れるとは思えない。 日本では、イベントストリーム処理の概念がそれほど浸透していない中、Apamaを市場投入して間もないにもかかわらず、現在の主要な導入分野である金融サービスにおけるアルゴリズム・トレーディングは、いまや“ブーム”ともいえる様相を呈している。そして、今後は欧米のように幅広い分野で導入例が出てくるだろう。ビジネスのリアルタイム化の要求は広範囲で進んでいるからだ。 ベイツ氏は「どの企業の情報システムにもイベントストリームは存在する。アプリケーションを変更することなく、Apamaを追加するだけで、ビジネスのリアルタイム化を進められる。特にセンサネットワークをすでに整備している日本の製造業なら、センサ監視やSCADA(Supervisory Control And Data Acquisition)システムなど、幅広いESPアプリケーションが考えられ、導入効果も高いはず」と指摘する。 イベントストリームとは、次から次へと到達し、瞬間で変化する膨大かつ詳細なデータであり、従来のビジネスアプリケーションのデータ属性とは異なるものだ。そのため、データベースセントリックな処理手法は、リアルタイムなイベント処理システムには適さず、そこで引き起こされるレイテンシは競合における機会の損失を招き、事前のリスク回避を困難にしてしまう。イベントを監視、分析し、それに基づいてリアルタイムにアクションを起こすイベントストリーム処理がもたらすインパクトは、差別化や競合優位性を一瞬でも先行して享受しようとする企業にとって、大きな鍵となることは間違いない。
提供:ソニック
ソフトウェア株式会社
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2006年12月14日 |
|