リモートプロセス同期の開始
2 つ以上の ServiceNow® インスタンス間で自動化されたプロセスをリンクしてまとめるために、リモートプロセス同期データ連携を設定する基本を学びます。
リモートプロセス同期データ連携を開始する前に
- データ連携のビルドと
- データ連携の管理
データ連携のビルドでは、プロセス同期定義とその関連レコードを作成して構成する必要があります。リモートプロセス同期データ連携のビルドを開始する方法の詳細については、リモートプロセス同期データ連携のビルド を行う方法の例の手順に従うか、プロセス同期定義の詳細を確認してください。
データ連携の管理では、送信キューと受信キューを監視し、トリガーされたプロセス同期定義に関連するエラーをチェックする必要があります。リモートプロセス同期データ連携でエラーを監視およびチェックする方法の詳細については、「送信キューと受信キュー」および「データ連携の監視とトラブルシューティング」を参照してください。また、統合のために自動的に実行される送信フローと受信フローを定期的に評価し、これらのフローに変更を加えるかどうかを決定することもできます。 ワークフロースタジオ.
プロセス同期定義
| フィールド | 説明 |
|---|---|
| 名前 | インスタンスが処理するビジネスプロセスの部分を正確に表す名前を入力します。たとえば、インスタンスのユーザーがお客様のサービスカタログ要求を実行している場合は、「サービスカタログ要求の実行」などの名前を入力します。 |
| 説明 | 必要に応じて、このプロセス同期定義が処理するビジネスプロセスの部分について説明します。 |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
- キャプチャ定義
- プロセスイベント
- リモートシステム
- 送信フロー
- 受信フロー
キャプチャ定義
キャプチャ定義は、インスタンスがリモートインスタンスにデータを送信するタイミングと、インスタンスが送信するデータを指定します。キャプチャ定義には、プロセス同期定義のトリガーとキャプチャされたフィールドの構成が含まれています。トリガーは、レコードの作成、更新、削除など、インスタンスがリモートインスタンスにデータを送信するレコード操作を指定します。キャプチャ定義がトリガーされると、キャプチャされたフィールドを含むソースレコードからオブジェクトが作成されます。次に、送信フローが実行を開始し、ソースレコードから取得したフィールドをリモートシステム上の関連レコードのフィールドに関連付けます。
キャプチャ定義レコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| プロセスイベント | [キャプチャ定義] フォームで、リストから参照アイコン( |
| 状況 | このフォームの [トリガー] セクションで設定した条件が満たされたときに親プロセス同期定義がトリガーされるようにするには、[アクティブ] を選択してこのキャプチャ定義をアクティブにします。 |
| 順番 | 他のキャプチャ定義と比較してキャプチャ定義をトリガーする順序の値を入力します。低い順序の値は高い順序の値よりも優先されます。 |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
[トリガー] セクションで、プロセス同期定義をトリガーするレコードを持つ許可されたソーステーブルを選択します。また、フィールド条件が満たされると、プロセス同期定義をトリガーするフィールド条件を追加することもできます。キャプチャ定義で指定されたトリガーの条件が満たされると、プロセス同期定義に関連付けられているすべての送信フローが実行を開始します。詳細については、「送信フローと受信フロー」を参照してください。
| フィールド | 説明 |
|---|---|
| ソーステーブル名 (Source Table Name) | レコードが作成、更新、および削除されるたびに、プロセス同期定義をトリガーするレコードを持つ許可されたテーブルを選択します。 |
| フィルター | 条件ビルダーを使用して、条件が満たされるとプロセス同期定義をトリガーする条件を追加します。たとえば、 により、選択したテーブルのステータスのレコードが [対応中] に更新されるたびに、プロセス同期定義がトリガーされます。 |
最後に、[キャプチャ] セクションで、送信フローのペイロードに含める [選択済み (Selected)] リストにフィールドを追加します。
| フィールド | 説明 |
|---|---|
| フィールドを含める | プロセス同期定義がトリガーされるたびにリモートインスタンスのフィールドと同期するフィールドを [選択済み] リストに追加します。アイテムの追加アイコン ( 注:
|
| 添付ファイルを含める | 選択すると、ローカルインスタンスのトリガーレコードに関連付けられている添付ファイルが、リモートインスタンスの相関レコードの添付ファイルと同期されます。詳細については、「」を参照してください。 |
プロセスイベント
プロセスイベントは、ビジネスプロセスのどの部分が、ローカルインスタンスで始まり、リモートインスタンスで終わるかを指定します。ローカルインスタンスとリモートインスタンスのプロセスイベントレコードは、同じ名前にする必要があります。プロセスイベントは、同じビジネスプロセスの一部を共有できる、これらのインスタンス間のリンクを意味するからです。プロセスイベントレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| 名前 | ビジネスプロセスのどの部分が、ローカルインスタンスで始まり、リモートインスタンスで終わるかを説明する名前を入力します。たとえば、インスタンス内のユーザーがリモートインスタンスでプロビジョニングされるソフトウェアを要求する場合、プロセスイベントにユーザー要求ソフトウェアという名前を付けることができます。 注: リモートインスタンス (単数または複数) のアドミンも、ここで使用するのと同じ名前でプロセスイベントを作成する必要があります。これらのプロセスイベントを別々のインスタンスで作成すると、複数のインスタンス間でデータをデータ連携できる論理リンクが作成されます。 |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
リモートシステム
リモートシステムには、別の ServiceNow インスタンスに関連する送信接続と受信接続の構成が含まれています。リモートシステムレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| 名前 | リモートインスタンスを説明する名前を入力します。たとえば、インスタンスがお客様の 1 人であるお客様 A によって管理されている場合は、[名前] フィールドに「お客様 A のインスタンス」と入力します。 |
| 説明 | 必要に応じて、ビジネスプロセスにおけるリモートインスタンスの全般的な目的を説明する詳細を入力します。 |
| 外部 ID (External ID) | インスタンスと同じプロセスイベントを共有するリモートシステムレコードのシステム ID を入力します。レコードのシステム ID を取得するには、レコードのフォームビューのコンテキストメニュー ( |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
| エラーサブフロー | リストから参照アイコン ( |
| 接続エイリアス | リストから参照アイコン ( |
| 送信ステータス | デフォルトでは [無効] に設定されます。このフィールドの値を [アクティブ] に変更するには、レコードの作成が完了した後で、このリモートシステムレコードのフォームビューで [リモートシステムを検証して有効化] 関連リンクを選択します。 |
| 受信 API ユーザー | リモートインスタンスに接続できるユーザー。このユーザーは、リモートインスタンスの ih_process_sync_api ロールを持つユーザーの認証情報と一致する認証情報を持っている必要があります。 |
| 受信フローを次のように実行 | リストから参照アイコン ( |
| 受信ステータス | デフォルトでは [無効] に設定されます。このフィールドの値を [アクティブ] に変更するには、レコードの作成が完了した後で、このリモートシステムレコードのフォームビューで [リモートシステムを検証して有効化] 関連リンクを選択します。 |
プロセスイベントレコードとリモートシステムレコードを作成した後、ワークフロースタジオ サブフローをこれらのレコードに関連付けて、プロセス同期定義がトリガーされるたびに自動アクションが実行されるようにすることができます。
送信フローおよび受信フロー
- リモートインスタンスに送信されるキャプチャ定義でキャプチャされたフィールドとしてローカルデータを処理します
- このデータをリモートインスタンスのデータと関連付けます
- このデータをリモートインスタンスに送信します
送信フローレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| プロセスイベント | リストから参照アイコン ( |
| 送信サブフロー | リストから参照アイコン ( |
| リモートシステム | リストから参照アイコン ( |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
- ローカルインスタンスのデータとリモートインスタンスから送信されたデータと関連付ける
- リモートインスタンスから送信されたフィールドをローカルインスタンスのフィールドにマップする
- リモートインスタンスからローカルインスタンスに送信されたデータを処理する
受信フローレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| プロセスイベント | リストから参照アップアイコン ( |
| 受信サブフロー | リストから参照アイコン ( |
| リモートシステム | リストから参照アイコン ( |
| アプリケーション | 現在のアプリケーションスコープに自動的に設定されます。 |
| ドメイン | プロセスが特定のドメインに関連している場合は、グローバル以外のドメインを選択します。詳細については、「サービスプロバイダーのドメインセパレーション」を参照してください。 |
プロセス同期定義に対して、システム提供のリモートプロセス同期送信フローテンプレート - 基本またはリモートプロセス同期受信フローテンプレート - 基本サブフローを選択する前に、ワークフロースタジオでこれらのサブフローをカスタマイズできます。
添付ファイルの同期
- データ連携のレコードが初めて同期されるときに、すべての添付ファイルが送信ペイロードで送信されます。後続の同期では、添付ファイルへの変更またはすべての添付ファイルへの変更を送信できます。
- 添付ファイルのメタデータは、常に送信ペイロードとともに送信されます。このメタデータには、暗号化された総合キー、ハッシュ、ファイル名、コンテンツタイプ、およびサイズが含まれます。
- リモートインスタンスは、受信ペイロードの各ハッシュとファイル名をインスタンス上のものと比較して、受信する添付ファイルを決定します。次に以下のプロセスが発生します。
- 元のシステムはキーを検証し、添付ファイルを相関レコードにプッシュします。
- 元のシステムは、添付ファイルが完了したことをリモートシステムに通知します。
- リモートシステムは、添付ファイルを相関レコードからターゲットレコードに移動します。
コメントと作業メモの同期
データ連携では、コメントは作業メモであり、それらのジャーナルフィールドが変更された場合にのみインスタンス間で同期されます。変更メタデータはペイロードに含まれているため、リモートシステムは、コメントまたは作業メモを作成したユーザーと、いつ作成されたかを識別できます。
送信キューと受信キュー
前のセクションで説明したレコードを作成して設定し、リモートプロセス同期のデータ連携をビルドした後、インスタンスの送信キューと受信キューを監視してデータ連携を管理できます。
送信キューには、インスタンスから送信されたデータに対して実行された送信サブフローのステータス、エラー情報、再試行データ、およびフローコンテキスト情報が含まれます。送信キューのレコードを表示するには、次の場所に移動します。 .
送信キューステータスレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| 作成日時 | データ連携の自動アクションが発生した日付 |
| エラー情報 | 送信ペイロードのステータスメッセージ |
| プロセスイベント | プロセスイベント |
| リモートシステム | リモートシステム |
| メタデータを再試行 | 送信ペイロード用に設定された再試行ポリシーのメタデータ |
| ステータス | 送信キュー内のペイロードの処理ステータス。次のオプションが含まれます。
|
| ドメイン | データ連携の自動アクションが実行されたドメイン |
| 送信サブフローコンテキスト | ペイロードを処理した送信フローの実行レコードのシステム ID |
受信キューには、リモートインスタンスからローカルインスタンスに送信されたデータに対して実行された受信サブフローのステータス、処理シーケンス、および相関情報が含まれています。受信キューのレコードを表示するには、次の場所に移動します。 .
受信フローレコードには、次のフィールドがあります。
| フィールド | 説明 |
|---|---|
| シーケンス | キュー内での順序。小さい数値は大きい数値の前に処理されます。 |
| ステータス | 送信キュー内のペイロードの処理ステータス。次のオプションが含まれます。
注: 受信キューレコードのステータスが [エラー] の場合は、ステータスを [受信ペイロードの処理を再試行する準備完了 (Ready to retry processing the inbound payload)] に変更します。 |
| プロセスイベント | データ連携アクションに関連付けられたプロセスイベント |
| 運用 | リモートインスタンスがトリガーしてデータを送信する原因となった、リモートインスタンスが実行したレコード操作のタイプ。次のオプションが含まれます。
|
| コンテキストを変換 | ペイロードを処理した受信フローの実行レコードのシステム ID |
| ローカル相関 ID | ローカルインスタンスの相関 ID |
| リモート相関 ID | リモートインスタンスの相関 ID |
| リモートシステム | データを送信したインスタンスに関連付けられたリモートシステムレコード |
| ドメイン | データ連携の自動アクションが実行されたドメイン |
| ペイロード | 受信データの JSON ペイロードとしての文字列 |
データ連携の監視とトラブルシューティング
| テーブル | 説明 |
|---|---|
| XML 統計情報 | process_sync_queue セクションを表示して、キューのサイズ、エラーおよび処理レートなど、データ連携のアウトバウンドキューとインバウンドキューに関する情報を確認します。 |
| 送信キュー | インスタンスから送信するためにステージングされたレコードのキャプチャデータを表示します。 |
| 送信キューのステータス | 送信キューテーブルのレコードのステータスを表示します。 |
| 受信キュー | 受信キューとレコードを組み合わせたテーブルを表示します。 |
| ログ | まず、 glide.ih.process.sync.debug システムのプロパティを true に設定してデバッグをオンにします。次に、ログをスキャンして OutboundQueueDao と InboundQueueDao で始まるエラーメッセージを探し、データ連携に関する潜在的な問題に関する詳細情報を含むログメッセージを見つけます。 |
- 接続エラー
- 送信接続エラーは、リモートシステムレコードの送信ステータスを [エラー] に設定する前に、自動的に数回再試行します。送信接続でエラーが引き続き発生する場合は、ユーザーの認証情報の変更など、リモートシステムの受信 API ユーザーで何も変更されていないことを確認します。次に、リモートシステムレコードを再度検証して有効化します。
- データ処理エラー
- データ処理エラーは、通常、送信フローまたは受信フローのエラーの結果として発生します。これらのエラーのトラブルシューティングを行うために、フローのステータスが [エラー] に変更されたときに、ログアクションやメール送信アクションなどのエラー処理アクションをフローに追加できます。フローでエラーが発生した場合に、送信キューまたは受信キューテーブルのレコードを再処理したり、処理をスキップしたりするアクションを追加することもできます。