イベント検出機構の設計

SAP アプリケーションでイベントを検出するには、さまざまな機構を利用できます。イベント検出機構は、機能モジュールを呼び出すことができる必要があります。Connector for mySAP.com は、次の 4 種類のイベント検出機構を実装しています。

これらのイベント検出機構の一部は特定のビジネス・プロセスに対しては利用できないため、開発する各ビジネス・オブジェクトについて、実装する適切なイベント検出機構を決定する必要があります。イベント検出を実装する必要のある各トランザクションについて、特定のビジネス・プロセスに関する技術的および機能的知識が必要です。

ビジネス・プロセスに実装するイベント検出機構を決定する際には、以下に示す実装上の考慮事項を検討してください。

可用性
そのビジネス・プロセスには、どのイベント検出機構が利用できるでしょうか? これは、最初に考慮する必要のある問題の 1 つです。コード拡張およびバッチ・プログラムは可用性が高いのに対して、ビジネス・ワークフローおよび変更ポインターの可用性は高くありません。

リアルタイム統合
イベントは同期的に検出する必要があるでしょうか? 多数のイベントを一度に検出する必要がありますか? バッチ・プログラム以外のすべての機構は、リアルタイム統合に適しています。

信頼性
イベントが生成された場合、そのビジネス・プロセスについてのデータ変更はすべて検出されますか? コード拡張、バッチ・プログラム、および変更ポインターは、オブジェクトのすべてのイベントの取り込みを最もよく制御できます。ビジネス・ワークフローの信頼性には制限があります。例えば、ビジネス・ワークフローは、ベンダー・トランザクション更新中のアドレス変更を検出しません。

柔軟性
イベントが起動される前に、特定の基準を評価する必要がありますか? トランザクションの特定のポイントでイベントを検出する必要がありますか? コード拡張は、イベント・データがコミットされる前に特定のポイントにコードを挿入できるため、最も柔軟性に優れています。変更ポインターとバッチ・プログラムは中程度の柔軟性を備えていますが、ビジネス・ワークフローの実装には、柔軟性はほとんどありません。

アップグレード依存性
SAP アプリケーションにアップグレードした場合、そのビジネス・プロセスについてイベントが検出される方法が変わりますか? 一般的には、これは一概には言えませんが、ビジネス・ワークフローおよび変更ポインターは、SAP によって管理されているため、アプリケーション変更の影響を最も強く受けます。

障害
時間や困難さのレベルは問題になりますか? 実装の困難さのレベルは、それぞれの機構によって異なります。一般に、バッチ・プログラムが最も簡単です。コード拡張およびビジネス・ワークフローはそれよりも若干困難ですが、変更ポインターは、SAP および評価対象のビジネス・プロセスについて、より詳細な知識が必要になるため、最も困難です。

将来のイベント
イベントをリアルタイムで取り込んでから、その検索を指定した日付まで遅らせることができる必要がありますか? 例えば、従業員レコードの住所を今日更新して、その変更を 3 週間後に有効化する必要がある場合があります。この場合、イベントの取り込みは更新時に行い、検索は発効日まで遅らせる必要があります。

この時点で、考慮する必要のあるイベント検出機構について理解しておく必要があります。 表 15 でサポートする必要のある各ビジネス・プロセスに対して使用できる機構を判断するための一般的なガイドラインを示します。


表 15. イベント検出機構デシジョン・テーブル

コード拡張 バッチ・プログラム ビジネス・ワークフロー 変更ポインター
可用性
リアルタイム統合 なし
信頼性
柔軟性
アップグレード依存性
障害
将来のイベント なし なし

注意する必要のある最後の考慮事項は、サイトの開発の方法論です。多くの場合、ビジネス・ワークフローのみを使用したイベント検出が推奨される方法であり、コード拡張はまったく使用されません。

コード拡張の使用は、信頼でき、柔軟性に優れ、同期可能で、可用性が高いため、イベント検出には推奨できるアプローチです。これに対し、ビジネス・ワークフローおよび変更ポインター機構は、すべてのビジネス・プロセスに対して一般的に使用できるわけではありません。バッチ・プログラムは一般に、リアルタイム統合が必要ない場合に使用されます。

それぞれのイベント検出機構には、ビジネス・プロセス内のイベントを検出するための利点と欠点があります。以下のセクションでは、各イベント検出機構の詳細と、それぞれの主な利点と欠点について説明します。

これらのイベント検出機構は、すべてイベントのリアルタイム・トリガーおよび検索をサポートしています。ただし、コード拡張およびバッチ・プログラムだけは、遅延検索という追加機能を提供します。後の時点で検索されるように指定されたイベントは、将来のイベントと呼ばれます。

コード拡張

コード拡張は、SAP トランザクションのコード内の特定のポイントに実装します。ユーザー出口を利用すると、トランザクションの最もロジカルなポイントに、イベント検出コードを挿入できます。イベント検出コードは、イベントが生成されたかどうかの判断基準を評価するために使用します。

この機構の一般的戦略は、トランザクションのデータがデータベースにコミットされる直前に、イベント検出コードを挿入することです。

利点

欠点

バッチ・プログラム

バッチ・プログラムは、同じタイプの多数のイベント (例えば顧客注文) を起動する必要がある場合、あるいはビジネス・プロセスが長い処理時間を必要とする場合に役立ちます。この機構では、SAP 提供コードを変更する必要はありませんが、イベント検出の基準を評価する ABAP プログラムを使用する (作成する) 必要があります。

利点

欠点

ビジネス・ワークフロー

ビジネス・ワークフローは、複数のアプリケーション間でビジネス・タスクを統合できる、SAP アプリケーション内のクロス・アプリケーション・ツールです。このツールは、SAP アプリケーションの既存のビジネス機能を補足します。ビジネス・ワークフローを使用すると、必要なビジネス機能の特定の要件に合わせて、SAP の標準機能を改造できます。ビジネス・ワークフローは、アプリケーション内の各 SAP オブジェクトの定義を保管する、ビジネス・オブジェクト・リポジトリー (BOR) を使用します。

利点

欠点

変更ポインター

変更ポインターは、変更文書を使用してイベントを検出する、ビジネス・ワークフローの関連機能です。変更文書は、一部のビジネス・プロセスに対して作成され、そのビジネス・プロセスに関するすべての変更が取り込まれるようにします。

利点

欠点

Copyright IBM Corp. 2004