研鑽、交流、そして共育。全国に拡がるIBMユーザーのネットワーク line IBMユーザー研究会
fream01 ようこそ ゲスト さま separate fream2
 
  logomark IBMユーザー研究会TOP

midashiID登録がまだの方はこちらからblankup

ID登録のススメ
IBMユーザー研究会
入会申し込み
お問い合わせ
 
   
 
 
Security
Analytics
Commerce
Cloud
Social
Systems
Watson
Topics
 <業種別>
金 融
保 険
製 造
流 通
公共・通信
 
 <IBMユーザー研究会主催>
Webセミナー blankup
 <IBM主催>
IBM Webセミナー blankup
OnDemandセミナー blankup
IBM YouTubeチャネルblankup
日本IBMホームページ
Easy Web Browsingヘルプ 拡大読み上げ
当サイトのURLは予告なく変更・削除されることがございますことを予めご了承ください。
7
 
Social
WebSphere Business Eventsでイベント処理
2011年07月01日掲載
ISE Webソリューション開発
菅原 直哉
サマリー
WebSphere Business Eventsにより、世界中で発生する様々な事象をイベントとして捉え、適切な関連付けを行う事で、今まで扱うことの出来なかった意義のある情報としてビジネスに活用する事が可能となります。
 
1.はじめに
IBMでは、Business Event Processingと呼ばれる技術を実現するためのミドルウェアをリリースしており、AptSoft社やILOG社の買収を通して展開しております。今回紹介するのはWebSphere Business Evnets(以下、WBE)という製品で、AptSoft社のソフトウェアをWebSphere製品としてリリースした製品となります。

WBEを紹介する上で、まずはイベントとはなにか、Business Event Processingとはどういう技術なのか、またどんな場面・業界に適用する事ができるのか、どんなメリットがあるのかを考えて行きたいと思います。
 
2.前提
2.1. イベントの定義
WBEはその名の通り、イベントを処理するためのミドルウェアになります。では、ここで指すイベントとはどのようなものが考えられるでしょうか。現実の世界では、朝起きる、歯を磨く、服を着る、電車にのる、席に座る、などの実際の行動をイベントとして捉えることが出来ます。しかしながら、システム上でイベントとして扱うためには、電気的なシグナルの発生を伴うイベントである必要があります。例えば、キーボードを叩く、Web検索をする、SUICAで電車にのる、ETCを使用して高速道路にのる、RFID付きの製品が移動する、チケットを買う、CPUの使用率が80%超える、パスワードを間違える、出金が1億円を超える、などなどです。これらについては、WBEでイベントとして扱うことが可能です。また、発生しなかったイベントというのもWBEでは扱うことが出来ます。例えば、入金がされていない、買い物サイトで買い物かごに入れられたが発注はされていない、10日以上アクセスがない、承認処理が実行されていない、など何も起きなかった事象、すなわち発生していないイベントについてもWBEでは検知し、それをイベントとして扱うことが可能です。

2.2. Business Event Processingとは
Business Event Processing (以下、BEP)とは、Complex Event Processing(以下、CEP)と呼ばれる技術を更に拡張したものです。(CEPとは、複数のイベントの中から重要となる事象を特定し、タイミングや相関関係などの状況に応じて次のアクションとして何をすべきかを抽出するための処理です。)CEPのイベント処理に加え、ビジネス・ユーザー(ITスペシャリストではなく、経営者やビジネスアナリスト)でも簡単にイベント処理ロジックを変更する事が可能となるツールの提供や、WebSphere eXtreme Scaleと連携して大量のイベント処理に対応したり、SOA基盤のシステムと簡単に連携したり、リアルタイムでのイベント処理を実現できる技術となります。
image
上記の図1では、BEPの概要を図にしたものです。様々なシステムとBEPのランタイムであるWBEを連携させ、イベントをWBEへ送らせます。WBEでは複数のシステムからイベントを取り込み、関連付けを行うことで、更なるイベントを任意のシステムに送付しアクションとして実行させる事が可能です。図1の例では、イベントAとイベントBが発生し、その10分以内にイベントCが発生すれば、追加のイベントを実行するといった流れになります。

2.3. Business Event Processingの必要性
(1) 増加するイベント量
image
ここ数年間で、システム上で発生するイベントの数は爆発的に増加しています。図2の左図はニューヨーク証券取引所の取引数です。数年間で900%の増加を示しているという結果があり、これはまだまだ増加する傾向といわれています。1927年のニューヨーク証券取引所の一日の取引は500万件といわれておりますが、 2007年には、一日50億件の取引になっています。
また、図2の右図では、世界に溢れる情報のデータ量となります。一年毎に30%以上増加している傾向であり、これは、2年でデータ量が倍になるのと同じです。情報量の増加に伴い、トランザクション処理も増加しています。

このように、現実としてイベント数やデータ量が劇的に増加しているという傾向があり、情報社会としては、これらの情報を上手く有効利用し、素早く対応できることがビジネスにおける大きなアドバンテージだと言われております。しかしながら、イベント数やデータ量は増加していますが、それらを関連付けたり、有効にコントロールするシステムはまだまだ充実していないのが現状です。

(2) システムを跨ったイベント処理
一般的なシステムでは、1つのシステムで処理が最初から最後まで完結しているケースがほとんどです。この場合、そのシステムにおいて使用される情報はそのシステムの範囲内でのみ意味のある値となります。これらの情報は他のシステムとは関連付けがされておらず、そのシステムを超えた意味を持つことはありません。WBEを使用すると、複数のシステムとの連携を可能にし、システムを跨っても情報に意味を持たす事が可能となり、更に価値のある情報へと変化させることができます。

(3) 取得可能なイベント
image
現実の世界においても、図3の通り取得可能なイベントは増加しています。SUICAやPASMOの使用による所在情報の取得や、RFIDによる場所の特定、ETCによる車の移動検知などなど、現実の世界における行動もイベントとして扱えることが可能となってきております。
例えば、SUICAで降りた駅の情報が分かれば、携帯に駅近くのレストラン情報をメールで送信したり、RFIDによる荷物の遅延がわかれば注文者に知らせたり、ETCによる車の流れが分かれば、混雑情報として扱うなどの利用方法が考えられます。

(4) センス&レスポンドの実現
今までも、データマイニングなどの手法により、情報の潜在的な意味を抽出する事が可能でした。但し、一般的なデータマイニングでは一度情報を集めてから集計する方法であり、リアルタイムでの処理は出来ません。
また一般的なOLTP系のアプリケーションではオンライン処理は実現できますが、時系列に発生したイベント、すなわちリクエストが来た場合にのみレスポンスを返す事が可能であり、時系列を入り乱れた処理は出来ません。例えば、イベントBが発生した日付から過去1週間以内にイベントAが発生してればアクションを発生させたり、イベントCが3日以内に発生しなければアクションを発生させるなどの処理は出来ません。(※図4参照)
WBEでは、イベント処理をリアルタイムに実行し、時系列を入り乱れた処理も可能にする、センス&レスポンドを実現しています。
image
2.4. 適用ケース
WBEを実装できるケースとして、以下のような事例があります。

(1) 某海外保険会社
某海外保険会社では、会社目標として「新規顧客の獲得向上と販売の拡大」を掲げています。これに対し、「一般ユーザーが実施したオンライン見積もり情報が放棄されたままである」という課題がありました。課題解決のため、WBEで、「見積もり情報の放棄」をイベントとして扱い、「お客様にコンタクト」というプロセスの実行に繋げる処理を実装しました。その結果、最初の1ヶ月で初年度に予定していたROI(投資利益率)を超え、目標を達成しております。
image
実際のイベント処理の流れを図に示したものが図5です。オンライン見積もりが発生して、発注に至っていないケースをイベントとして検知し、3日後にお客様にコンタクト可能な代理店を識別します。7日経っても発注が来ない場合には、直接代理店からお客様へコンタクトし、顧客獲得のためSalesを実施します。

(2) 某リース会社
某リース会社では、会社目標として「コンプライアンス遵守とカスタマー・サービスの向上」を掲げています。これに対し、「リース申し込み受理から承認までのプロセスには複数アプリケーションに跨る、大量のデータの管理・相関が必要であり、大量の人手、時間およびコストがかかる」、「プロセスの複雑化によって監査やコンプライアンスの脆弱性にさらされる」という課題がありました。課題解決のため、WBEで、複数アプリケーションに跨るイベントの関連付け、不測のプロセスフローの管理の実施、ビジネス・ユーザーによる時間依存処理や複数ルールを関連付けたイベント・パターンの定義・変更を実施しました。その結果、承認処理を45日から7日に短縮し、時間、労力、コストの大幅削減を実現し、コンプライアンスも100%遵守という成果を出しています。
image
複数のシステムに跨っていたリースの申し込み受理から承認までのプロセスを、WBEを使用して関連付けを行い、プロセスフローのパターンマッピングを実装させています。

BEPが適用できるケースは、業種やシステムを問いません。金融業であればマネーロンダリングの検知、小売業であればマーケティング促進やサプライチェーンの最適化など、BEPを活用できるケースは無数に存在します。
 
3.ビジネス・ユーザーとIT開発者の課題
ここからは、イベント処理を実装する上で、ビジネス・ユーザーとIT開発者の間に温度差があるということを説明させて頂きます。ビジネス・ユーザーの課題とIT開発者の課題をそれぞれ説明し、二つの間にどのような問題が発生しているのか説明します。

3.1. ビジネス・ユーザーの課題
経営者やビジネスアナリスト、営業系の人といったビジネス・ユーザーは、システムに対する以下のような課題を持っています。

1) 素早い対応が必要なシチュエーションにおいて、即座に対応できない
2) ビジネスの洞察不足による機会損失の増加/リスクの露呈
3) 市場の新しいビジネスパターンをシステムに素早く反映できない
4) システム基盤がビジネスニーズにマッチしていない

1つ目では、即座に情報が欲しい場面において、リアルタイムに過去の情報を含めた結果を出すシステムが無いということが挙げられます。
2つ目では、システムが複数に跨ることにより、必要な情報を簡単に割り出す仕組みがなく、チャンスロスが発生していることが挙げられます。
3つ目、4つ目では、そもそもシステムをリリースした時には、ビジネスニーズが変化しており、それに対応したシステムでは無くなっているということが挙げられます。

3.2. IT開発者の課題
一方、IT開発者の人達は、ビジネスやシステムに対し、以下のような課題を持っています。

1) リアルタイムにビジネス状況を把握/対応できない
2) 柔軟性が無く、コーディングで実装したイベント処理
3) 難解でニッチなプログラミング言語の学習とメンテナンス
4) 既存システムへのイベント結合の難しさ

1つ目は、変化するビジネスニーズを把握できず、把握したとしても即座にシステムに反映できないことが挙げられます。
2つ目では、イベント処理をコーディングで実装することで、簡単に変更を加えることが出来ないことが挙げられます。
3つ目では、イベント処理を実装するためのコーディングの難しさ、また作成したプログラマーでないと理解できないようなニッチなプログラミングやメンテナンスの難しさが挙げられます。
4つ目では、既存システムに対し、イベント処理システムを結合する事が難しいことが挙げられます。

このように、経営者やアナリストといったビジネス・ユーザー側では、キーとなるイベントや、それに対し何をすべきか理解しています。 しかしながら、彼らには、それを特定して、即座にシステムに反映させるソリューションがありません。
IT開発者側としては、何百万もの潜在的に意味をもったイベントがIT基盤上を自由に流れていますが、高度なイベント処理機能をサポートしている製品がなく、また効率的にビジネスニーズをシステムに反映させる技術を持っていません。

これらのビジネス・ユーザーやIT開発者の課題に対する解決方法を次のセクション4で説明していきます。
 
4.WebSphere Business Events
セクション3で上げた課題を解決し、イベント処理を柔軟に実装できるのが、WebSphere Business Eventsです。
WBEでは、ITシステムの馴染みの無いビジネス・ユーザーに対して、簡単にロジックを変更できるツールを提供しています。このツールにより、ビジネス・ユーザーが直接イベント処理ロジックをコーディングする事なく自然言語に近い方法で実装させる事が可能です。これにより、ビジネスニーズの変化に伴うシステム変更を、IT開発者に頼ることなく、ビジネス・ユーザーが直接、かつ即座に実行できます。またイベントの流れや発生をグラフィカルなモニターツールを通じてリアルタイムに確認する事も可能です。
IT開発者に対しては、既存システムに簡単にWBEが連携できるようなツールの提供や、柔軟性のあるアプリケーション開発ツールを提供しています。

ここからは、WBEで実際にどのようなランタイムやツールを提供しているのかを説明していきます。

4.1. WBEランタイム
image
イベントとWBEランタイムの処理フローを図7に示しています。
(1)一番左にあるイベントが発生する外部リソース、および一番右にあるアクションを送付するための外部リソースをタッチポイントと呼びます。タッチポイントの種類としては、MQやCICS,RDMBSといった製品や、HTTP、SOAP、File入力やJMSといったプロトコルで接続できるものが対象となります。
(2)続いてタッチポイントとWBEランタイムの間にあるコネクターについてご説明します。コネクターとは外部リソースであるタッチポイントとWBEランタイムを接続するためのインターフェースになります。また、コネクターはWBEランタイムとは別のプロセスで稼働しています。コネクターの使用はオプションですが、使用する事で、いくつかのプロトコルおよび製品については、コーディングをせずに接続することが可能となります。
(3)最後に図の中心にあるのがWBEランタイムになります。ランタイムは実際にはWAS上で稼働しているアプリケーションとなります。ここで、イベント処理が実行され、必要に応じてアクションがタッチポイントに送付されます。

4.2. WBEツール
WBEアプリケーションを開発するためのツールが図8にあるデータ設計ツールと設計ツールです。
image
(1)データ設計ツールでは、イベント/アクションの定義や、WBEランタイム上で扱うデータである、インターミディエイト・オブジェクトとのマッピングを実施します。IT開発者が使用するツールです。
(2)デザインツールでは、IT開発者が定義したイベントやアクションをどのようなルールで関連付けるかを定義します。ビジネス・ユーザーが使用するツールです。Webブラウザからアクセスして使用します。
(3)データ設計やデザインで定義した情報は、WBEオブジェクト・レポジトリーと呼ばれるデータベースに保管されます。
image
WBEアプリケーション開発ツールのほかに、図9のように様々なツールが用意されています。
(1)BusinessEventsTesterはWebブラウザを使用したツールになります。ユーザーコンソールではイベントを明示的に実行したり、タスクと呼ばれる人手を介したアクションを実行する際に使用します。その他にもサーバーの管理やイベント発生状況などを管理することが出来ます。
(2)BusinessEventsグラフもWebブラウザを使用したツールとなります。は発生したイベントやアクションの回数や値などを図表としてグラフィカルに表示することが出来るモニタリング・ツールになります。また設定した閾値によりアラートを挙げたりすることも可能です。
(3)イベント・フローは設定したイベントとアクションの関連付けをフロー図として表示できるツールになります。

4.3. ビジネス・ユーザー向けのツール
ビジネス・ユーザーでもロジックを簡単に変更可能という事を説明してきました。では実際にどのようなユーザーインターフェースを提供しているのか、例としてデザインツールで設定するフィルターを使って説明したいと思います。
image
図10は、イベント処理を実行するためのフィルターとして、以下を実装したユーザーインターフェースのキャプチャーになります。

1) Filter1 ・・・ 注文製品が10万以上である
2) Filter2 ・・・ 3日以内に「購入」イベントが発生しない

図10を見ていただくと、Filter1は、「Checks if Product.ProductPrice is Greater Than or Equal To 100,000」であり、Filter2は、「(Checks if Occurrences Of Buy Within 3 days) is Less Than 1)」となっています。直ぐに気づくと思いますが、定義されたフィルターはコーディングによるものではなく、自然言語によるものです。
フィルターの定義では、実際にはプルダウンによる選択や、数字などは手編集による入力となりますが、IT開発者でなくとも、簡単にロジックを定義できるのが理解頂けるかと思います。

4.4. 他システムとの連携

BEPを実装するにあたり、簡単に既存システムや他システムとの連携できる事は、開発工数やメンテナンスなど、システム開発において、重要なポイントとなります。BEPによりイベント処理の定義が簡単になったとしても、そもそもBEPを既存システムと連携させるのが難しいのであれば、あまりメリットとして実感できないかと思います。WBEでは他システムのとの連携を容易にするため、複数の製品に対してサポートを提供しています。例えば、ESB製品では、WBE専用のoutput/inputノードの提供や、CICSではWBE連携用のサポートパックを提供しております。(※図11参照)
WBEでは、今後、連携を容易にするためのサポート対象製品を増やしていく予定です。
image
4.5. 莫大なイベント量の処理
WBEでは、莫大なイベント量に対して、WebSphere eXtreme Scale(以下、XS)との連携により対応します。製品としては、WebSphere Business Events eXtreme Scaleという単一製品で提供されています。実装としては、WBEの前段にXSを配置し、必要となる情報だけをXSで抽出させた後に、直接WBEのイベント処理キューに対して、イベントを送付します。(※図12参照)
image
 
5.まとめ
WBEはリリースされてまだ1年と数ヶ月の製品です。まだまだ日本ではBEPという言葉自体が浸透していないように思え、今回はBEPの定義から説明させて頂きました。WBEは、現在IBM WebSphereブランドのFocusエリアであり、ガートナーの調査においても今後の普及が見込まれております。

ご注意)
この資料は2011年6月1日現在のものであり、将来この資料の全体または一部につき変更する場合があります。また、記載されている製品名または会社名はそれぞれの各社の商標または登録商標です。
 


 
 
 
サイトマップ関連リンクプライバシーポリシーblankupご利用にあたってblankup
ページのトップへ