ビジネス イベントの概要

重要

このトピックに記載されている機能は、プレビュー リリースの一部として、対象とするユーザーが使用可能です。 コンテンツおよび機能は、変更されることがあります。 プレビュー リリースの詳細については、サービス更新プログラムの使用可能性 を参照してください。

ビジネス イベントは外部システムが Microsoft Dynamics 365 for Finance and Operations から通知を受信するメカニズムを提供します。 これにより、システムは、ビジネス イベントに対してビジネス アクションを実行できます。

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

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

必要条件

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

重要

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

Finance and Operationsに実装されているビジネス イベント

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

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

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

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

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

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

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

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

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

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

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

RFID 業務プロセス

Finance and Operations では、ほぼリアルタイムでビジネスイベントを処理する専用のバッチスレッドが割り当てられます。 スレッドの最大数は、システムで使用可能なスレッドの合計を超えることはできません (System administration > Server configuration)。 スレッドはすべてのバッチ処理と共有されているリソースであるため、ビジネスイベントのスレッド割り当てを変更する場合は注意が必要です。 ビジネスイベントに割り当てられるスレッドの合計数は、ビジネスイベント パラメータ テーブル内のパラメータを使用して管理されています。 この設定は、ユーザーインターフェイス (UI) 上では非表示となっており、運用環境においてはデータベースへのアクセスが必要となるため、この変更を行うにはサポート案件として対応する必要があります。

従来のビジネスイベントでのバッチ処理ジョブは利用可能となっており、必要に応じて利用することで専用処理を運用する際の問題を軽減する回避策となります。 ユーザーの混乱を回避するために、ビジネスイベントでのバッチ処理を設定するメニューは削除されています。 メニュー上表示されてはいませんが、バッチ UI から BusinessEventsBundleBatchProcessor クラスを使用することでバッチジョブを手動で作成できます。 回避策として必要不可欠な場合を除き、この手動バッチジョブを実行しないように留意してください。 このバッチジョブが古いプラットフォームのいずれかで設定されていた場合は、最新のプラットフォームに更新された際にこのバッチが無効となり、専用処理が自動で実行されます。 この挙動は、ビジネスイベント パラメータ テーブル の パラメータ を使用して管理されており、ここでは手動バッチジョブが初期設定では無効になっているためです。

エンドポイントの管理

エンドポイントを使用して、Finance and Operations がビジネス イベントを送る必要がある宛先を管理できます。 次のタイプのエンドポイントが現在サポートされています。 したがって、すぐにこれらのメッセージングおよびイベント ブローカーのエンドポイントを作成できます。

  • Azure Service Bus キュー
  • Azure Service Bus トピック
  • Azure Event Grid
  • Azure イベント ハブ
  • HTTPS
  • Microsoft Flow

消費者にビジネス イベントを組織化して配布するため、複数のエンドポイントが必要になる場合があります。 このようなシナリオをサポートするため、複数のエンドポイントを作成することができます。

Azure ベースのエンドポイントは、顧客の Azure サブスクリプションに含まれている必要があります。 たとえば、イベント グリッドをエンドポイントとして使用する場合は、エンドポイントが顧客の Azure サブスクリプションに含まれている必要があります。

Finance and Operations はエンドポイントを提供しません。 用意されているイベントをエンドポイントに送信するだけです。 顧客が Azure サブスクリプションでこれらのエンドポイントを使用している場合、追加費用が発生する可能性があります。

ビジネス イベントのエンドポイント

Azure Service Bus キュー エンドポイントの作成

新しいエンドポイントを作成するには、新規作成を選択します。 次に、エンドポイントの種類フィールドで、適切なエンドポイントの種類を選択します。 Service Bus キューにエンドポイントを作成するには、Azure Service Busキューを選択します。

ビジネス イベントの新規エンドポイント

次へを選択し、エンドポイントおよび Service Busキューの名前を指定します。 また、Azure メッセージング リソースにシークレットを提供するために、Azure Key Vault を設定する必要があります。 また、Azure Active Directory (Azure AD) アプリケーション ID およびアプリケーション シークレットを設定する必要があります。

ビジネス イベントの新規エンドポイント

キュー名フィールドに、Azure の Azure Service Bus キューの構成で作成したAzure Service Bus キュー名を入力します。

ビジネス イベント キュー名

Azure Active Directory アプリケーションIDフィールドに、Azure ポータルの Azure AD で作成されたアプリケーションIDを入力します。

ビジネス イベントの Azure AD のコンフィギュレーション

Azure アプリケーション シークレット フィールドに、アプリケーションのシークレット値を入力します。

ビジネス イベントの Azure AD のコンフィギュレーション

Key Vault DNS 名フィールドに、Key Vault設定名を入力します。

ビジネス イベントの Azure Key Vault のコンフィギュレーション

Key Vault シークレット名フィールドに、Key Vaultに作成する必要があるエンドポイント リソースのシークレット名を入力します。

ビジネス イベントの Azure Key Vault のコンフィギュレーション

Azure では、Key Vault シークレットの値は Azure Service Busのプライマリ接続文字列の値になります。 この値は共有アクセス ポリシー > RootManagedSharedAccessKey で構成した Azure Service Bus で確認できます。

ビジネス イベントの Azure Key Vault のキー値

重要

また、登録された Azure アプリケーションは、Key Vault のアクセス ポリシーで設定された Key Vault に追加する必要があります。 この設定を完了するには、キー、シークレット、および証明書の管理テンプレートを選択し、アプリケーションをプリンシパルとして選択します。

Azure Service Bus トピック エンドポイントの作成

Service Bus トピックにエンドポイントを作成するには、新規を選択し、次にエンドポイントの種類フィールドで、Azure Service Bus トピックを選択します。 トピック名フィールドは、Service Bus トピック名に設定する必要があります。 Key Vault の情報は、Azure Service Bus キュー エンドポイントの設定と同じ方法で設定されます。

Azure イベント グリッド エンドポイントの作成

エンドポイントを作成するには、Azure ポータルで Azure イベント グリッド トピックを作成して構成し、次にビジネス イベント ワークスペースでイベント グリッド トピックにエンドポイントを作成する必要があります。 エンドポイントタブに移動し、新規を選択し、エンドポイントの種類Azure イベント グリッドを選択します。 エンドポイント URL フィールドで、Azure イベント グリッド トピックからURLを入力します。 これは、イベント グリッド トピックの概要セクションのトピック エンドポイントの値です。

重要

また、登録された Azure アプリケーションは、Key Vault のアクセス ポリシーで設定された Key Vault に追加する必要があります。 この設定を完了するには、キー、シークレット、および証明書の管理テンプレートを選択し、アプリケーションをプリンシパルとして選択します。

ビジネス イベントのイベント グリッド エンドポイントの値

Key Vault の情報は、Azure Service Bus キュー エンドポイントの設定と同じ方法で設定されますが、Key Vault シークレットだけはService Bus 接続文字列ではなく、イベント グリッドの資格情報に設定する必要があります。 イベント グリッドの資格情報は、設定セクションの Access Keys で作成されたイベント グリッドで確認できます。

ビジネス イベントのイベント グリッド資格情報の値

必要なエンドポイントを作成したら、次に、ビジネス イベントを有効にします。

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

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

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

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

有効化されるビジネス イベントにエンドポイントを割り当てる必要があります。

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

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

有効なビジネス イベント

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

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

無効なビジネス イベント

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

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

エラー

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

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

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

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

注意

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

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

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

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

べき等

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

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

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

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

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

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

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

注意

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

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

プラットフォーム更新 29 以降、ロールベース セキュリティをビジネス イベントに適用して、適切なセキュリティ コンポーネントを使用して以下の要件を満たすことができます。

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

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

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

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

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

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

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

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

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

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

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

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

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

下位互換性

プラットフォーム更新プログラム 29 より前のバージョンとビジネス イベントの下位互換性を確保するには、次の動作を理解する必要があります。

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

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

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

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

注意

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