ビジネス イベントの概要

ビジネス イベントは外部システムが財務と運用アプリから通知を受信するメカニズムを提供します。 これにより、ビジネス イベントに対してビジネス アクションを実行できます。

ビジネス プロセスの実行時に、ビジネス イベントが発生します。 ビジネス プロセス中には、それに参加するユーザーは、ビジネス プロセスを構成するタスクを完了するビジネス アクションを実行します。

ユーザーが実行するビジネス アクションは、ワークフロー アクションまたは非ワークフロー アクションのいずれかにすることを選択できます。 購買要求の承認はワークフロー アクションの例で、発注書の確認は非ワークフロー アクションの例です。 どちらのタイプのアクションも、統合および通知のシナリオで、外部システムが使用できるビジネス イベントを生成できます。

必要条件

ビジネス イベントは Microsoft Power Automate およびAzureメッセージング サービスにて利用できます。 したがって、ビジネス イベントを使用する際には、顧客が該当する資産のサブスクリプションを契約している必要があります。

重要

ビジネス イベントを、エクスポート用データのメカニズムと考えることはできません。 定義上は、ビジネス イベントは簡易で軽快であることになっています。 データ エクスポートのシナリオを実行するために大量のペイロードを搭載することは想定していません。

実装されるビジネス イベント

ビジネス イベントは、最初から用意されているいくつかのビジネス プロセスに実装されます。 これらのビジネス イベントには、ワークフローおよび非ワークフロー ビジネス イベントの両方が含まれます。 詳細については アプリケーション ビジネス イベントワークフロー ビジネス イベントビジネス イベントとしての警告 を参照してください。

開発者は、拡張機能を使用して、新しいビジネス イベントを実装する必要があります。 詳細については、「ビジネス イベント開発者ドキュメント」を参照してください。

ビジネス イベント カタログ

ビジネスイベントカタログには、システム管理 > > ビジネスイベントを設定するためにアクセスできます。 ビジネス イベント カタログには、使用しているインスタンスで利用可能なビジネス イベントが一覧表示されます。 カタログは、どのビジネス イベントが使用可能かを示し、カテゴリ、ビジネス イベントのIDおよび名前でフィルタ処理することができるため、便利です。

ビジネス イベントのカテゴリでは、そのソースを識別します。 ワークフロー システムから生成されたビジネス イベントは、ワークフロー カテゴリに割り当てられます。 他のモジュールから生成されたビジネス イベントについては、モジュール名はカテゴリ名として使用されます。

ビジネス イベント カタログは、配置時のデータベースの同期中に作成されます。 したがって、ユーザーは、カタログでビジネス イベントの完全な一覧を確認することになります。 ただし、カタログの明示的な更新が必要な場合は、管理 > 再構築ビジネス イベント カタログを選択します。

ビジネス イベント カタログ。

各ビジネス イベントについて、ビジネス イベント カタログは説明を表示します。 この説明は、ビジネス イベントおよびビジネス プロセス内のコンテキストを理解するのに役立ちます。 カタログには、イベントに送信されるデータ フィールドの一覧も表示されます。

外部の統合システムが開発中にビジネス イベントのペイロードのスキーマを必要とする場合、ダウンロード スキーマを選択して JavaScript Object Notation (JSON) スキーマをダウンロードします。

簡単に言うと、ビジネス イベント カタログは、実装に必要なビジネス イベントを識別するのに役立ちます。 各ビジネス イベントのスキーマを識別することもできます。

次のステップでは、エンドポイントを管理します。

ビジネス イベントのパラメーター

一般

ビジネス イベント パラメーター ページの全般タブには、ビジネス イベントに適用される一般的な設定が表示されます。

  • 再試行カウント – エラーが発生した場合に、システムがエンドポイントにビジネス イベントを送信しようとする回数。 既定値は 3 です。
  • 再試行するまでの待機時間 – ビジネス イベントをエンドポイントに送信しようとする間隔 (ミリ秒)。 既定値は 1000 ミリ秒です。
  • イベントごとに許可されるエンドポイント – 法人内の同じビジネス イベントにサブスクライブできるエンドポイントの最大数。 既定値は 10 です。
  • Key Vault シークレットのキャッシュ間隔 – ビジネス イベントに使用される Key Vault シークレットが、構成された Key Vault から読み取られて再度キャッシュされる前にメモリにキャッシュされる分数。 既定値は 5 分です。

パフォーマンス

ビジネス イベント フレームワークには、パフォーマンスに影響する 2 つの主な設定があります: スレッドの処理バンドル サイズ。 アプリケーションでは、ほぼリアル タイムでビジネス イベントを処理する専用のバッチ スレッドが割り当てられます。 スレッドはすべてのバッチ処理と共有されているリソースであるため、ビジネス イベントのスレッド割り当てを変更する場合は注意が必要です。

  • スレッドの処理 – ビジネス イベントを処理するのに使用するスレッド数。

    • スレッド数は、ビジネス イベント専用の処理による Batch Application Object Server (AOS) インスタンスごとの数です。
    • 最大値は 4 です。
  • バンドル サイズ – スレッドで処理するために同時にグループ化されるイベントの数。

    • 数を増やすと、生成されるバンドルが少なくなり、イベントを並列スレッドに配分する機能が低下します。
    • 数を減らすと、生成されるバンドルが増え、イベントを並列スレッドに配分する機能が向上します。 ただし、この数を小さくしすぎると、小さなバンドルでも不必要な並列処理が発生します。

Event Grid の設定

Event Grid の設定 タブには、エンドポイント タイプが Azure Event Grid のビジネス イベント エンドポイントに適用されるオプションが表示されます。

Event Grid データ フィールドのオブジェクトを送信 の切り替えでは、シリアル化され、Azure Event Grid エンドポイントに送信されるオブジェクトのタイプを、JSON 文字列にするかオブジェクトにするかを制御します。 既定では、これらのエンドポイントに送信されるオブジェクトは、JSON 文字列としてシリアル化されます。 この切り替えをオンにすると、これらをオブジェクトとして Azure Event Grid エンドポイントに送信します。

HTTPS の設定

HTTP タイムアウト (ミリ秒) の切り替えは、エンドポイントへの要求がタイムアウトするまで既定の HTTPS アダプタが待機する時間を制御します。 既定のタイムアウト時間は 10 秒です。 フィールドに値 0 を入力することは、既定のタイムアウト時間を使用するためのインジケータとなります。

ビジネス イベントの有効化

既定では、ビジネス イベント カタログのビジネス イベントは有効ではありません。 カタログから必要なビジネス イベントを有効化することができます。 1つまたは複数のビジネス イベントを選択し、有効化を選択します。

ビジネス イベントの有効化。

ビジネス イベントは、すべての法人または特定の法人のいずれかで有効化できます。 法人フィールドを空白のままにすると、選択したビジネス イベントはすべての法人で有効化されます。 ビジネス イベントが特定の法人に対してのみ必要な場合は、法人ごとに個別に構成する必要があります。

有効化されるビジネス イベントにエンドポイントを割り当てる必要があります。 エンドポイントの設定および管理に関する追加情報については、ビジネス イベントのエンドポイントを管理するを参照してください。

ビジネス プロセスの実行時にビジネス イベントが発生した場合、システムは有効化されたビジネス イベントに対してのみ、発信処理を行います。

ビジネス イベントが有効化されると、有効なイベントタブに表示されます。

有効なビジネス イベント。

の有効なイベントタブで、ビジネス イベントを無効にできます。 システムは、無効化されたイベントには発信処理を行いません。

ビジネス イベントが無効化されると、 それらは 無効なイベント タブに表示されます。

無効なビジネス イベント。

統合環境におけるシステムの管理活動のためにビジネス イベントの処理をある期間停止する必要がある場合、ビジネス イベントを無効にできます。

ビジネス要件を変更するときに、ビジネス イベントが不要になる場合があります。 この場合、有効なイベントの一覧から削除するのではなく、無効にできます。 この方法は、ビジネス イベントのエラーの履歴を保持する必要がある場合に役立ちます。 無効化されたビジネス イベントは、無効のまま保持する必要があるビジネスがなくなった場合、後で削除することができます。

エラー

システムがビジネス イベントの発信処理を行う間にエラーが発生する場合があります。 これらのエラーにより、システムがエンドポイントにビジネス イベントを正常に送付できない可能性があります。 エラーが発生した場合、システムはビジネス イベントを正常に処理するため、何度か再試行します。 しかし、試行が全く成功しなかった場合は、ビジネス イベントはエラー ログに保存されます。

エラー ログには、有効なイベント無効なイベント、およびエラータブからアクセスできます。 エラータブにはすべてのビジネス イベントのすべてのエラーが表示され、他の2つのタブには特定のビジネス イベントに関連するエラーが表示されます。

再送信アクションを使用して、各エラーにおける発信処理を必要に応じて行うことができます。 このアクションは、発信処理ロジックを起動します。 このロジックには、再試行が含まれます。 発信処理がそれでも成功しない場合は、エラー ログにエラーが記録されます。 この場合、エラータブの最終処理時間フィールドに、イベントの処理が発生した最終時間が表示されます。

エラーを正常に処理できない場合は、必要に応じてダウンロード ペイロード オプションを使用し、イベントからペイロードをダウンロードしてオフライン処理します。

メモ

エンドポイントが削除され、新しいエンドポイントがビジネス イベントに関連付けられている場合は、ビジネス イベントに関連付けられているすべてのエラーは引き続き再送信できます。 この場合、システムは発信処理システムを実行し、対応するビジネス イベントに関連付けられている新しいエンドポイントに送信します。 この機能により、コンフィギュレーションのミスやその他のエラー状態から上手に復旧できます。

ビジネス イベント消費モデル

実装の統合の要件と統合ソリューションの設計はさまざまです。 統合の要件は、ビジネス イベントの消費モデルの識別に影響します。 簡単に言うと、ビジネス イベントを使用した統合を設計する際に、次の点を考慮する必要があります。

  • ビジネス イベントは Power Automate、Service Bus、イベント グリッド、その他のエンドポイント タイプを使用して消費できます。
  • Power Automate、Service Bus、イベント グリッド、その他のエンドポイント タイプを使用するには、顧客は独自のサブスクリプションを提供する必要があります。
  • ビジネス イベントは、すべての法人または特定の法人で有効化できます。
  • ビジネス イベントは、一意のエンドポイントまたは複数のエンドポイントに送信できます。
  • Power Automate はビジネス イベントを直接購読できます。

べき等

ビジネス イベントはペイロードに管理番号を含めることで消費側でべき等の動作を有効にします。 制御番号は増加する番号であり、重複や故障出荷を検出するために消費アプリケーションによって追跡できます。 制御番号は連番にできないため、順序番号と読み間違えられることはありません。 番号付けスペースに間隔がある可能性があります。

Azure Event Grid と Azure Service Bus でのフィルター処理

Azure Service Bus と Azure Event Grid は、受信メッセージの条件を指定してトピックの購読をサポートします。 詳細については トピック フィルターとアクション および イベント グリッド サブスクリプションのイベント フィルターを理解する を参照してください。

Azure Service Bus や Azure Event Grid に送信されるビジネス イベントは、この目的で使用できる次のフィールドを持ちます。 購読者はこの情報を使用して、必要に応じてさらに特定のトピックを購読できます。

  • カテゴリ - これはビジネス イベント カタログに表示されたビジネス イベントのカテゴリです。 複数のカテゴリから共通記事がビジネス イベントの受信に使用されていて、購読者が関心のあるカテゴリのビジネス イベントのみを受信する必要がある場合に、これはフィルター条件として役立ちます。

  • ビジネス イベント ID – これはビジネス イベント カタログに表示されたビジネス イベント実装のクラス名です。 これはビジネス イベント (ビジネス イベントのインスタンスではない) を一意に識別して、したがって消費者側で受信したビジネス イベントを検証し、期待されるビジネス イベントが受信および処理されていることを検証するのに役立ちます。

  • 法人 – これはビジネス イベントが発生した法人です。 消費側でのビジネス イベントの処理および配信が法人によって推進される必要がある場合、これは消費ロジックを基準とするのに役立つ情報です。

メモ

ビジネス イベントで送信されるフィルター処理可能フィールドは、カスタムフィールドを含むように変更できます。 これは開発者向けの環境です。

ビジネス イベントのロールベース セキュリティ

ロールベース セキュリティはビジネス イベントに適用され、適切なセキュリティ コンポーネントを使用して以下の要件を満たすことができます。

必要量 権限 関税
限定されたユーザーのみがビジネス イベント カタログを表示するアクセス権を持つ必要があります。 BusinessEventsCatalogView なし
限定されたユーザーのみがビジネス イベントをアクティブにするアクセス権を持つ必要があります。 BusinessEventsCatalogMaintain なし
限定されたユーザーのみがエンドポイントを作成して管理するアクセス権を持つ必要があります。 ビジネス イベントのセキュリティ権限 ビジネス イベントのセキュリティ職務権限
ユーザーは Power Automate など外部アプリケーションからアクセスが許可されているビジネス イベントのみを購読できる必要があります。 サービスからビジネス イベントを購読 なし
限定されたユーザーのみがビジネス イベントのセキュリティ設定を表示できる必要があります。 BusinessEventsCatalogSecuritySetupView なし
限定されたユーザーのみがビジネス イベントのセキュリティを管理できる必要があります。 ビジネス イベント カタログのセキュリティの管理 なし

これらの権限を必要な職務に追加して、対応するロールに適切なアクセス レベルを付与できます。

ビジネス イベントのロールベース セキュリティを有効化

機能管理からビジネス イベントのロールベース セキュリティを有効化する必要があります。

  1. システム管理 > 機能管理 の順に移動します。

  2. ビジネス イベント カタログのセキュリティ 機能を選択します。

  3. 機能を有効化します。

  4. システム管理 > 設定 > ビジネス イベント > ビジネスイベントカタログ からビジネス イベント カタログに移動します。

  5. カタログの セキュリティ タブでは、ビジネス イベントを 1 つ以上のロールにマップする必要があります。 必要に応じてコンフィギュレーションを完了する必要があります。

  6. 上部のナビゲーション ウィンドウの セキュリティ メニューで 有効化メニュー ボタンを選択してセキュリティを有効にします。 情報メッセージはセキュリティが有効か無効かを確認します。

  7. 情報メッセージに記載されているセキュリティに基づいて、適切な権限または職務権限を追加するために必要なセキュリティ ロールを変更します。

サービスからビジネス イベントの登録

ロールを介して権限 サービスからビジネスイベントを購読 にアクセスできるユーザーは、ロールに割り当てられたビジネス イベントのみを表示・サブスクライブできます。これについては以下で説明します。 存在する場合にロール ベースのセキュリティの一部として行われる組織の割り当ては、ユーザーがロールを介してアクセスできる組織のビジネス イベントのみにサブスクライブ可能にすることでビジネス イベントのコンテキストで尊重されます。 この動作は、Power Automate や Logic Apps からサービス呼び出しを使用すると効果的です。

下位互換性

下位互換性を確保するには、次の動作を理解する必要があります。

  • ビジネス イベントのロールベースのセキュリティは既定で無効になります。

  • この機能が機能管理で有効でも、ロールベースのセキュリティは機能しません。

  • ロールベースのセキュリティは セキュリティ メニューを介してビジネス イベント カタログで明示的に有効にする必要があります。

  • ロールベースのセキュリティが完全に有効化された後ではじめてセキュリティが効力を発揮します。 これは、管理者ロールを持つユーザーは動作の変化に気付かないことを意味します。 ただし、管理者以外のユーザーに対しては、ビジネス イベント カタログのセキュリティ構成でロールが割り当てられたビジネス イベントのみが表示されるか、もしくはロールがビジネス イベントに割り当てられていないためビジネス イベントが表示されません。

メモ

機能を中断しないためには、ビジネス イベントでセキュリティを有効にする前に、前述の下位互換性の動作を理解することが重要です。