イベント検出は、ABAP Extension module の ABAP コンポーネントにおけるイベ ント・トリガー・プロセスの一部です。すべてのイベント検出機構は、イベント・
トリガーを呼び出す必要があります。これは、検出されたイベントを取得して、イ ベント表に追加します。イベントのトリガーの詳細については、45ページの『イベ ント・トリガー』を参照してください。
この章の内容は以下のとおりです。
v 『イベント検出機構の設計』
v 105ページの『イベント検出機構の実装』
イベント検出機構の設計
SAP アプリケーションでイベントを検出するには、さまざまな機構を利用できま す。イベント検出機構は、機能モジュールを呼び出すことができる必要がありま す。IBM WebSphere Business Integration Adapter for mySAP.com は、次の 4 種類 のイベント検出機構を実装しています。
v コード拡張 — SAP トランザクションの適切なポイントにイベント検出コードを 挿入することにより、ビジネス・プロセス (通常は単一の SAP トランザクショ ン) のために実装されています。
v バッチ・プログラム — イベントを検出するための基準を組み込んだ ABAP プロ グラムの開発を必要とします。
v ビジネス・ワークフロー — SAP 独自のオブジェクト指向イベント検出機能を使 用します。
v 変更ポインター — ビジネス・ワークフローの一種である変更ポインター機構を 実装し、変更文書の概念を使用してビジネス・プロセスの変更を検出します。
これらのイベント検出機構の一部は特定のビジネス・プロセスに対しては利用でき ないため、開発する各ビジネス・オブジェクトについて、実装する適切なイベント 検出機構を決定する必要があります。イベント検出を実装する必要のある各トラン ザクションについて、特定のビジネス・プロセスに関する技術的および機能的知識 が必要です。
ビジネス・プロセスに実装するイベント検出機構を決定する際には、以下に示す実 装上の考慮事項を検討してください。
可用性 そのビジネス・プロセスには、どのイベント検出機 構が利用できるでしょうか? これは、最初に考慮す る必要のある問題の 1 つです。コード拡張および バッチ・プログラムは可用性が高いのに対して、ビ ジネス・ワークフローおよび変更ポインターの可用 性は高くありません。
リアルタイム統合 イベントは同期的に検出する必要があるでしょう か? 多数のイベントを一度に検出する必要がありま
© Copyright IBM Corp. 1997, 2003
101
すか? バッチ・プログラム以外のすべての機構は、
リアルタイム統合に適しています。
信頼性 イベントが生成された場合、そのビジネス・プロセ スについてのデータ変更はすべて検出されますか?
コード拡張、バッチ・プログラム、および変更ポイ ンターは、オブジェクトのすべてのイベントの取り 込みを最もよく制御できます。ビジネス・ワークフ ローの信頼性には制限があります。例えば、ビジネ ス・ワークフローは、ベンダー・トランザクション 更新中のアドレス変更を検出しません。
柔軟性 イベントがトリガーされる前に、特定の基準を評価 する必要がありますか? トランザクションの特定の ポイントでイベントを検出する必要がありますか?
コード拡張は、イベント・データがコミットされる 前に特定のポイントにコードを挿入できるため、最 も柔軟性に優れています。変更ポインターとバッ チ・プログラムは中程度の柔軟性を備えています が、ビジネス・ワークフローの実装には、柔軟性は ほとんどありません。
アップグレード依存性 SAP アプリケーションにアップグレードした場合、
そのビジネス・プロセスについてイベントが検出さ れる方法が変わりますか? 一般的には、これは一概 には言えませんが、ビジネス・ワークフローおよび 変更ポインターは、SAP によって管理されているた め、アプリケーション変更の影響を最も強く受けま す。
障害 時間や困難さのレベルは問題になりますか? 実装の 困難さのレベルは、それぞれの機構によって異なり ます。一般に、バッチ・プログラムが最も簡単で す。コード拡張およびビジネス・ワークフローはそ れよりも若干困難ですが、変更ポインターは、SAP および評価対象のビジネス・プロセスについて、よ り詳細な知識が必要になるため、最も困難です。
将来のイベント イベントをリアルタイムで取り込んでから、その検 索を指定した日付まで遅らせることができる必要が ありますか? 例えば、従業員レコードの住所を今日 更新して、その変更を 3 週間後に有効化する必要 がある場合があります。この場合、イベントの取り 込みは更新時に行い、検索は発効日まで遅らせる必 要があります。
この時点で、考慮する必要のあるイベント検出機構について理解しておく必要があ ります。 103ページの表13 でサポートする必要のある各ビジネス・プロセスに対 して使用できる機構を判断するための一般的なガイドラインを示します。
表13. イベント検出機構デシジョン表
コード拡張
バッチ・
プログラム
ビジネス・
ワークフロー 変更ポインター
可用性 高 高 低 低
リアルタイム統合 可 なし 可 可
信頼性 高 高 低 中
柔軟性 高 中 低 中
アップグレード依存性 低 低 中 中
障害 中 低 中 高
将来のイベント 可 可 なし なし
注意する必要のある最後の考慮事項は、サイトの開発の方法論です。多くの場合、
ビジネス・ワークフローのみを使用したイベント検出が推奨される方法であり、コ ード拡張はまったく使用されません。
コード拡張の使用は、信頼でき、柔軟性に優れ、同期可能で、可用性が高いため、
イベント検出には推奨できるアプローチです。これに対し、ビジネス・ワークフロ ーおよび変更ポインター機構は、すべてのビジネス・プロセスに対して一般的に使 用できるわけではありません。バッチ・プログラムは一般に、リアルタイム統合が 必要ない場合に使用されます。
それぞれのイベント検出機構には、ビジネス・プロセス内のイベントを検出するた めの利点と欠点があります。以下のセクションでは、各イベント検出機構の詳細 と、それぞれの主な利点と欠点について説明します。
これらのイベント検出機構は、すべてイベントのリアルタイム・トリガーおよび検 索をサポートしています。ただし、コード拡張およびバッチ・プログラムだけは、
遅延検索という追加機能を提供します。後の時点で検索されるように指定されたイ ベントは、将来のイベントと呼ばれます。
コード拡張
コード拡張は、SAP トランザクションのコード内の特定のポイントに実装します。
ユーザー出口を利用すると、トランザクションの最もロジカルなポイントに、イベ ント検出コードを挿入できます。イベント検出コードは、イベントが生成されたか どうかの判断基準を評価するために使用します。
この機構の一般的戦略は、トランザクションのデータがデータベースにコミットさ れる直前に、イベント検出コードを挿入することです。
利点
v イベント検出プロセスに使用する SAP トランザクション情報にアクセスできま す。
v トランザクションの適切なポイントにイベント検出コードを追加できます。
v 同期イベント検出を可能にします。
v SAP 機能への依存が限定されるため、保守や拡張が比較的容易です。
v 将来のイベントをサポートします。
第 7 章 ABAP Extension module のイベント検出の開発
103
欠点
v ユーザー出口が常にトランザクションの適切な位置にあるとは限りません。
v SAP 変更機能が必要になる場合があります。
バッチ・プログラム
バッチ・プログラムは、同じタイプの多数のイベント (例えば顧客注文) をトリガー する必要がある場合、あるいはビジネス・プロセスが長い処理時間を必要とする場 合に役立ちます。この機構では、SAP 提供コードを変更する必要はありませんが、
イベント検出の基準を評価する ABAP プログラムを使用する (作成する) 必要があ ります。
利点
v ほとんどのビジネス・プロセスに対して実装できます。
v イベントを正確に検出します。
v 実装が容易です。
v 実行時のリソースが問題である場合は、特定の時刻に実行するようにスケジュー ルできます。
v 将来のイベントをサポートします。
欠点
v 同期イベント検出はできません。
v SAP トランザクション情報は利用できません。
v 状態 (Create、Update または Delete) または状況の変更は、検出できない場合、
あるいは検出が困難な場合があります。
v バッチ・プログラムを自動化するバックグラウンド・ジョブが作成されている場 合、追加のタスクは保守および監視される必要があります。
ビジネス・ワークフロー
ビジネス・ワークフローは、複数のアプリケーション間でビジネス・タスクを統合 できる、SAP アプリケーション内のクロス・アプリケーション・ツールです。この ツールは、SAP アプリケーションの既存のビジネス機能を補足します。ビジネス・
ワークフローを使用すると、必要なビジネス機能の特定の要件に合わせて、SAP の 標準機能を改造できます。ビジネス・ワークフローは、アプリケーション内の各 SAP オブジェクトの定義を保管する、ビジネス・オブジェクト・リポジトリー (BOR) を使用します。
利点
v 同期イベント検出を可能にします。
v SAP のオブジェクト指向ビジネス・オブジェクト機能を利用して、イベントの検 出を ABAP 機能モジュールにリンクします。
v 実装が容易です。
欠点
v すべてのビジネス・プロセスの SAP BOR に SAP オブジェクトが存在するとは