このテキストは、Salesforce の自動翻訳システムを使用して翻訳されました。アンケートに回答して、このコンテンツに関するフィードバックを提供し、次に何を表示するかをお寄せください。

Salesforce と外部システム間でデータへのアクセス、同期、共有を行うには、さまざまな方法があります。ただし、すべてのツールが特定のプロジェクトに適しているわけではありません。このガイドでは、Salesforce から入手できるデータインテグレーションツールの概要について説明します。また、特定の使用事例に最も適したツール (またはツールの組み合わせ) の推奨事項や、特定のシナリオで避けるべきツールのガイダンスも提供されます。

この決定ガイドでは、Salesforce に関連するデータレベルのインテグレーションに焦点を当てています。具体的には、次のデータインテグレーションの使用事例について説明します。

  • Salesforce から外部システム
  • Salesforce への外部システム
  • Salesforce 組織から Salesforce 組織

これらは Salesforce アーキテクトが直面するインテグレーションの課題の一部にすぎません。そのため、イベント駆動型インテグレーションに焦点を絞った意思決定ガイドの追加や、プロセスインテグレーションを使用した効果的な顧客または従業員向けワークフローの構築などを予定しています。最後に、ここで説明するツールやアプローチの多くは、より広範な企業全体のインテグレーションの課題を解決するために使用できますが、そのような使用方法はこのガイドの範囲外です。

  • **不要なデータ複製を回避します。**データが Salesforce に絶対的に存在する必要がない限り、代わりに Salesforce Connect を使用したデータの仮想化を検討してください。組織のデータが増加すると、最終的にデータ量が増加し、パフォーマンスに悪影響を及ぼし、技術的な負債が増加する可能性があります。データがすでに Salesforce に存在し、外部システムにある必要がある場合は、絶対に必要でない限り、外部システムにコピーしないでください。代わりに、Salesforce API を使用して外部システムがデータにアクセスできるようにします。
  • **MuleSoft またはその他のエンタープライズサービスバス (ESB) または抽出-変換-読み込み (ETL) ソリューション (使用可能な場合) を使用し、既存のランドスケープの一部にします。**これらのツールは、データの移行と変換をサポートするために構築されているため、多くの場合、強力な機能を備えており、企業全体でインテグレーションを再利用し、ガバナンスを強化し、インテグレーションの管理を一元化できます。このガイドでは、MuleSoft Anypoint が推奨されるすべての場所で、既存の ESB/ETL ソリューションで十分かどうかを検討します。
  • **Data 360 と Data Cloud One を使用して、さまざまなソースのデータをハーモナイズします。**Customer 360 データ モデル、ID 解決、データ統合、その他の機能によって、Data 360 は Salesforce やその他の外部システムのデータを顧客の統合ビューに統合します。また、Data Cloud One を使用すると、他の Salesforce 組織のユーザーは、データスペースを介して Data 360 から仮想的に共有されたデータに安全にアクセスできます。
  • Data 360 アクションと有効化を使用して、組織間でデータを移動します異なる組織から Data 360 にデータが取り込まれたら、データ アクションとアクティブ化でデータを別の組織に同期できます。この方法は、Marketing Cloud 組織とのインテグレーションに非常に役立ちます。
  • MuleSoft Anypoint を使用してデータを抽出および移動します MuleSoft Anypoint を使用して、Connect API とデータグラフ API を使用して Data 360 からデータを抽出し、別の Salesforce 組織に移動できます。Data 360 を使用しない場合、データを Data 360 で複製せずに組織間で移動する必要がある場合にも MuleSoft Anypoint を使用できます。
  • **アウトバウンドメッセージングを使用して構築する場合は注意が必要です。**Salesforce は、現在の業務量の範囲内でアウトバウンドメッセージングを引き続きサポートしますが、この技術にさらに投資する予定はありません。
  • **「API 限定」プロファイルを使用するインテグレーションユーザーライセンスは、すべてのインテグレーションで常に推奨されます。**また、Salesforce では、すべてのインテグレーションで適切に許可された AuthN および AuthZ パターンとして外部クライアントアプリケーションを使用することをお勧めします (接続アプリケーションまたは SOAP ログインを使用)。

使用可能なデータインテグレーションツールについて説明する前に、ツールを選択するときにいくつかの一般的な考慮事項に留意してください。アーキテクチャによくあることですが、すべてのビジネス課題に明確な答えがあるわけではありません。インテグレーションの選択時に「状況によって異なります」という言葉を口にしている場合は、正しい場所にいます。

考慮すべき領域 よくある質問
既存のツールとランドスケープ 既存の ESB または ETL ソリューションはありますか?関連するデータに規制要件またはコンプライアンス要件がありますか?統合しようとしているシステムはどこにありますか (クラウドまたは社内)?
データフロー (タイミング、予想されるユーザーエクスペリエンス、方向性) データを同期または非同期で移動する必要がありますか? または一括処理/スケジュールできますか?データレプリケーションは必要か?どのようなシステムを情報源とすべきか?データソースは?対象目的地は?ユーザー操作は必要か?ユーザーはインテグレーションの結果を確認する必要がありますか?例外処理 (再試行、通知、失敗) に関するニーズは?システムはどの程度緊密に結合する必要がありますか?
実装 Salesforce 以外のシステムの作業レベルは?インテグレーションの提供を担当するチームは?顧客が好んで使用するツールは?
メンテナンス性 インテグレーションを維持する必要があるチームは?現在どのようなスキルを持っているか?将来どのようなスキルが必要か?経時的な総所有コストは?ローコードツールまたはプロコードツールを使用してテスト、デバッグ、トラブルシューティングを行う能力はどの程度重要ですか?
データ量 インテグレーションに含まれるデータ量は?大規模データボリューム(LDV)を使用する予定がありますか?一括変更の頻度は?シングルトン更新はどのような影響がありますか?発生する頻度は?
制限 データは複雑な変換を行う必要がありますか?複数のソースシステムのデータを結合する必要がありますか?インテグレーションはユーザーごとにどの程度の頻度で行われますか?合計ユーザー数は?一括データ読み込み (新規インスタンスの初期データ読み込みなど) を事前に計画していますか?

データインテグレーションに使用できるツールの概要と、各オプションの評価を開始する際の考慮事項を次に示します。次のセクションでは、これらのツールの詳細な使用事例と機能の詳細について説明します。

Salesforce から外部システムへ 外部システムから Salesforce へ 実行 必要な追加ライセンス
Apex アクション 利用可 利用可 サーバー側 いいえ
変更データキャプチャ 利用可 利用不可 サーバー側 いいえ*
カスタム Apex (REST および SOAP Web サービス) 利用可 利用可 サーバー側 いいえ
外部サービス 利用可 利用不可 サーバー側 いいえ
Heroku Connect 利用可 利用可 サーバー側 はい
Data 360 利用可 利用可 サーバー側 はい
MuleSoft Anypoint 利用可 利用可 サーバー側 はい
ネイティブSalesforce API 使用不可 利用可 サーバー側 いいえ
OmniScript 利用可 利用可 Client-Side*** はい
OmniStudio インテグレーション手順 利用可 利用可 サーバー側 はい
アウトバウンドメッセージング 理想的ではない 使用不可 サーバー側 いいえ
プラットフォームイベント 利用可 利用可 サーバー側 いいえ**
Salesforce Connect/外部オブジェクト 利用可 利用可 サーバー側 はい

*大規模変更データキャプチャイベントの使用事例にはアドオンが必要

**大規模プラットフォームイベントの使用事例に必要なアドオン

***ビジネスロジックを Web ブラウザー内で実行しても問題のない状況に適しています。

列の凡例:

  • 使用可能: ほとんどの使用事例で適切に機能
  • 理想的でない: 可能であるが、代替ツールを検討する
  • 利用不可: 今後 12 か月以内にサポートする予定はありません

データレイヤーインテグレーションの一部の側面をサポートしているが、インテグレーションの問題を解決する主要な手段であると考えてはならないツールは他にもあります。では、これらのツールを簡単に見てみましょう。

Lightning Web コンポーネントは通常、プロセスの統合に使用されますが、JavaScript 機能を使用してコールアウトを行うことができるため、これらのトランザクションにデータが関与する可能性があります。

Salesforce フローを使用して、外部サービスまたは Apex アクションで外部コールアウトを調整できます。Salesforce フロー自体は、スタンドアロンのデータインテグレーションツールとはみなされません。

データインポートウィザードとデータローダーを使用して、データを同期、インポート、移行できます。データローダーコマンドは、データのインポートとエクスポートを自動化するためにスクリプトを作成することもできますが、コマンドラインインターフェースは Windows 専用であり、どちらのツールもデータ統合戦略のベースとして推奨されません。代わりに、データスチュワードシップとメンテナンス戦略を補完するために使用します。

Salesforce CLI データ コマンドを使用して、組織のレコードを操作できます。Bulk API と SObject Tree Save API を使用してデータをインポートおよびエクスポートし、REST API を使用して個々のレコードに対して簡単な CRUD 操作を実行するのに役立つコマンドを使用できます。Salesforce CLI 自体は、スタンドアロンのデータ統合ツールとはみなされません。

OmniStudio データマッパーは、Salesforce オブジェクトと JSON データ構造間でデータを移動するための宣言型 ETL ツールとして使用できます。REST インターフェースはデータマッパーインターフェースごとに自動的に作成され、外部システムから Salesforce オブジェクトにデータを宣言的に移動できますが、データマッパースタンドアロンはデータインテグレーション戦略のベースとして推奨されません。データマッパーアクションは、OmniStudio Integration Procedure で使用できます。

Dataloader.io は、MuleSoft の Anypoint Platform を搭載した Salesforce 用のもう 1 つのデータローダーツールであり、企業のデータを無制限にすばやく安全にインポート、エクスポート、削除できます。Dataloader.io は、データインテグレーション戦略のベースとしてはお勧めしません。

Salesforce からの送信インテグレーションでは、さまざまな種類のツール (ローコード、プロコード、ハイブリッド) を検討できます。次のセクションでは、これらの各ツール種別のガイダンスとサンプルソリューションについて説明します。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/応答) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入** デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用 認証プロトコル
変更データキャプチャ Salesforce で行われたレコードレベルの変更を外部システムに公開する必要があり、カスタムペイロードが不要な場合。 必須 非同期 なし なし はい プロコードツールの使用 はい あり OAuth
外部サービス フロー、Apex、Einsteinボット、OmniStudioを使用してプロセスを調整する場合、外部システムAPIはOpenAPI仕様を使用して記述されます。 不要 同期 あり いいえ あり プロコードツールの使用 いいえ なし 指定ログイン情報
Heroku Connect 双方向同期を使用してデータを拡張して Heroku のモバイルアプリケーションや他のアプリケーションを有効にし、データを Salesforce にも複製する場合。 必須 非同期 はい はい 不可 プロコードツールの使用 はい はい、Shield Connect を使用 OAuth
OmniStudio インテグレーション手順 ユーザー操作なしでデータを変換し、ブラウザーではなくサーバーで処理することでパフォーマンスを向上させる必要がある場合。 必須 両方 はい はい はい 宣言型サポート はい はい 指定ログイン情報
Salesforce Connect/外部オブジェクト Salesforce UI にデータを表示し、データを外部システムに保存する場合。データは Salesforce に複製されません。 必須 同期 いいえ はい* はい プロコードツールと宣言型トレーサーを使用 いいえ なし 指定ログイン情報
*バージョン4.01より古いOdataアダプタには、コールアウト制限が適用されます。詳細については、「Odata Callout Rate Limit Considerations(Odataコールアウト レート制限に関する考慮事項)」を参照してください。**テストおよびリリースとは、より低い環境で構築し、メタデータAPI、パッケージ、または変更セットを使用して本番にリリースする機能のことです。

商談が成立したら、関連付けられた商品の注文を会社の ERP システムまたは注文管理システムで作成する必要があります。

変更データキャプチャ 商談レコードが更新されると、変更データキャプチャはオブジェクトへの更新を含む変更イベントを公開します。変更イベントは CometD 接続 (または MuleSoft コネクタ) を介して顧客側で消費され、顧客の ERP または注文管理システムの更新に使用されます。外部レコード ID や、インテグレーションに必要なオブジェクト (地域など) の他のデータを常に含めるように変更イベントを強化できます。複数のオブジェクトの変更イベントストリームをチャネルに結合することで、登録とストリーム処理を簡略化できます (多数のストリームではなく 1 つのストリームを登録および処理できます)。

外部サービス OpenAPI 2.0 または 3.0 仕様をサポートする Web サービスがある場合、Salesforce 内で操作とサービスを外部サービスとして公開できます。API 操作 (注文の作成など) は、商談のフェーズが「成立」に変更されたときに、Flow Builder で作成されたフローの呼び出し可能なアクションとしてコールできます。

Heroku Connect Heroku Connect は通常、Heroku Postgres データベースと Salesforce の同期を維持するために使用されます。顧客が Heroku Postgres をソースのトランザクションストアとして使用している場合、Heroku Connect を使用してレコードと変更を Salesforce から Heroku Postgres に同期できます。そこから Heroku ストリーミングコネクタを使用して、これらの変更を Apache Kafka に公開し、ERP や注文管理システムなどのダウンストリームアプリケーションにイベントとして送信できます。

OmniStudio Integration Procedure (OmniStudio インテグレーション手順) 注文が送信されると、プロセスを調整する OmniScript で注文の詳細を ERP または MuleSoft コネクタに投稿できます。投稿は、OmniScript (クライアント側) で直接実行することも、Integration Procedure (サーバー側) で間接的に実行することもできます。ERP システムで検証エラーがスローされた場合、OmniScript UI でユーザーに通知し、必要に応じてエラーを翻訳してコンテキスト化する必要があります。

Salesforce Connect/外部オブジェクト 商談のフェーズが「成立」に変更されたときに、関連する外部オブジェクトにレコードを挿入するレコードトリガーフローを Salesforce で作成できます。これは混在トランザクションであるため、エラーを回避するために、商談の更新と関連外部オブジェクトの挿入の間にゼロ秒の一時停止要素を追加して、新しいトランザクションコンテキストを開始する前に 1 つのトランザクションコンテキストを閉じます。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/応答) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入** デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用 認証プロトコル
Apex アクション Salesforce フローを使用して別のシステムへのコールアウトを自動化する場合。開発者は、フローで呼び出すことができる Apex クラスを作成したり、AppExchange から事前作成済みソリューションをダウンロードしたりできます。 不要 両方 あり いいえ あり プロコードツールの使用 いいえ あり 複数
イベントリレー プラットフォームイベントと変更データキャプチャチャイベントを Salesforce から Amazon EventBridge に送信する必要がある場合。イベントリレーは AWS Eventbridge にのみ接続 いいえ 非同期 はい いいえ はい はい はい はい HTTP/1.1 with TLS
アウトバウンドメッセージング ワークフロールールによってトリガーされた受信が保証された、指定されたエンドポイントに HTTP(S) 経由で SOAP メッセージを送信する必要がある場合。 不要 非同期 なし なし はい 宣言型サポート はい あり 双方向 TLS
プラットフォームイベント Salesforce または外部システムでほぼリアルタイムの変更を行うために、カスタム定義の構造化されたペイロードが必要な場合。 必須ではありません* 非同期 はい いいえ はい プロコードツールの使用 はい はい OAuth
Salesforce Connect/外部オブジェクト(カスタムApexアダプタを使用) Salesforce UI にデータを表示するが、Odata や GraphQL などの標準プロトコルを使用できない外部システムにデータを保存する場合。 必須 両方 はい はい はい プロコードツールの使用 いいえ なし 複数
Data 360 1 つのデータストアで異なるソースのデータをハーモナイズする場合、または他の Salesforce 組織や他の外部システムにデータを複製する場合。 必須 両方 はい はい はい はい はい はい 複数

*アドオンは、大規模な使用事例で必要です。

**テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

商談が成立したら、関連付けられた商品の注文を会社の ERP または注文管理システムで作成する必要があります。

Apex アクション 商談の状態に基づくレコードトリガーフローは、商談が成立したときに自動的にトリガーできます。フローは、外部コールアウトを使用して注文を注文管理システムまたは ERP ソリューションに送信する呼び出し可能なアクションを実行します。大量送信とマルチサイト注文は、Apex バッチおよびキュー・メカニズムによって処理されます。

送信メッセージング 送信メッセージングを設定したら、リスナーをホストする指定されたエンドポイント URL に HTTP(S) で SOAP メッセージを送信するように、商談の更新によってトリガーされるワークフロールールを定義できます。メッセージには、アウトバウンドメッセージの作成時に指定した項目が含まれます。通知がキューに入れられた後、送信される前にオブジェクトの情報が変更された場合、更新された情報のみが配信され、メッセージは正常に送信されるまで、または 24 時間が経過するまでキューに残ります。24 時間を過ぎると、メッセージがキューから削除されます。ERP システムで追加データが必要な場合は、外部システムでコールバック要求を実行できるように、送信メッセージで sessionId を渡すことができます。

プラットフォームイベント 外部システムでレコードを作成するために必要なデータを含むカスタムペイロードを含むプラットフォームイベントを定義できます。プラットフォーム イベントはレコードの変更時に自動公開されないため、商談のフェーズが「成立」に変更された場合は、Apex、Salesforce Flow、または Process Builder を使用してイベントを公開する必要があります。外部サービスは CometD (または MuleSoft コネクタ) を使用してプラットフォームイベントチャネルをリスンし、外部システムに適切なレコードを作成します。

Salesforce Connect/外部オブジェクト(カスタム Apex アダプタを使用) Salesforce Connect/外部オブジェクトに基づくソリューションは、純粋にデータ同期を必要とする使用事例に完全には適していません。ただし、このソリューションは、Salesforce 内のユーザーが外部システムのデータを表示して操作する必要があり、Salesforce でデータを複製できない場合に適用できます。ERP または注文管理システムで Odata または GraphQL プロトコルがサポートされていない場合、開発チームはApex コネクタ・フレームワークを使用して、サポートされているプロトコルを介した外部システムとの通信を処理する Apex クラスを記述できます。

Data 360 Data 360 に基づくソリューションは、1 つのデータストアでさまざまなソースのハーモナイズデータを必要とする使用事例に最適です。また、Data 360 をデータハブとして使用して、1 つの Salesforce 組織から複数の Salesforce 組織または他の外部システムにデータを複製する必要がある場合にも使用できます。ソース組織で商談が成立して更新されると、商談データは Data 360 に同期され、アクション、有効化、API などの異なるメカニズムを使用して、Salesforce 組織を含む他のシステムに複製できます。同様に、Data Cloud One を使用して他の Salesforce 組織でデータを複製することなく商談を参照できます。ただし、Data Cloud One では Salesforce 以外のプラットフォームはサポートされていません。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/応答) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入** デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用 認証プロトコル
カスタムApex ローコードツールで使用できない機能が必要な場合。 不要 両方 はい はい あり プロコードツールの使用 いいえ はい* 複数
外部サービス コードから外部システム API へのインテグレーションは、OpenAPI 仕様を使用して記述されます。 不要 同期 あり いいえ はい プロコードツールの使用 いいえ なし 複数
MuleSoft Anypoint インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合。 必須 両方 はい はい はい プロコードツールの使用 いいえ はい* 複数

*Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「General Shield Platform Encryption Considerations」を参照してください。

**テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

商談が成立したら、関連付けられた商品の注文を会社の ERP または注文管理システムで作成する必要があります。

カスタム Apex商談のフェーズが「成立」に変更されたときに ERP または注文管理システムへのコールアウトを実行する商談の Apex トリガーとトリガー ハンドラを作成できます。トリガーから、または DML 操作の実行後にコールアウトを行う場合は、future または queueable というアノテーションが付けられたメソッドを使用する必要があります。トリガーのコールアウトでは、コールアウトの有効期間の間、データベース接続がオープンのままになります。すべての Apex コードは、Apex ガバナおよび API 制限に従っており、継続的に改訂されます。

外部サービス OpenAPI 仕様を使用して会社の外部 ERP または注文管理システムが定義されている場合、Future メソッドまたはキュー可能ジョブで実行されるこれらのサービスへのコールアウトが簡略化される可能性があります。登録済みの外部サービスは、ボイラープレートコードを記述することなく Apex から直接コールできます。この例では、注文を作成するためのコールアウトを外部サービスで処理できます。

MuleSoft Anypoint MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint では、Salesforce や他の多くのエンタープライズシステムのデータへの参照 (および/または更新) アクセスを可能にする API を作成できます。実装を簡略化するために多数の事前作成済みコネクタが用意されています。また、会社は独自のコネクタを作成して公開することもできます。これらの API は、柔軟なセキュリティポリシーを使用して Anypoint にリリースでき、一元管理とガバナンスをサポートします。API がピーク利用率 (vCore で測定) に合わせて適切にサイジングされている限り、トランザクション量に制限はありません。

Salesforce への受信インテグレーションでは、さまざまな種類のツール (ローコード、プロコード、ハイブリッド) を検討できます。次のセクションでは、これらの各ツール種別のガイダンスとサンプルソリューションについて説明します。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/返信) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入* デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用可能 認証プロトコル
Heroku Connect 双方向同期を使用してデータを拡張して Heroku のモバイルアプリケーションや他のアプリケーションを有効にし、データを Salesforce にも複製する場合。 必須 非同期 はい はい 不可 プロコードツールの使用 はい はい、Shield Connect を使用 OAuth
OmniStudio インテグレーション手順 ユーザー操作なしでサードパーティソースからデータをインポートおよび変換する必要がある場合。 必須 両方 あり あり あり 宣言型サポート いいえ はい 指定ログイン情報
Salesforce Connect/外部オブジェクト Salesforce UI にデータを表示するが、データを Odata や GraphQL などの標準プロトコルを使用できる外部システムに保存する場合。 必須 同期 はい はい はい プロコードツールの使用 いいえ なし 複数

*テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

Heroku Connect Heroku Connect は通常、Heroku Postgres データベースと Salesforce の同期を維持するために使用されます。ERP システムでトランザクションストアとして Heroku Postgres を使用していない限り、この使用事例は使用できません。Heroku Postgres を使用している場合、Postgres テーブルで行われた変更を Heroku Connect を使用して Salesforce のオブジェクトに同期できます。

OmniStudio Integration Procedure (OmniStudio インテグレーション手順) ERP システムで取引先責任者レコードが更新されたら、データマッパーで生成された REST API を使用して、データマッパーの読み込みアクションと応答アクションを含む OmniStudio Integration Procedure をコールできます。まず、データマッパーの読み込みアクションで JSON または XML ペイロードが送信されます。このペイロードは、外部 ID 項目に基づいて、または更新/挿入キーを介して取引先責任者レコードを更新/挿入するために使用されます。JSON での単純な応答のみが予想される場合、応答アクションは以前のアクションから関連情報を返し、成功または失敗を示すことができます。ERP システムで特定の応答が予期される場合、データマッパーの変換または抽出アクションを使用して、取引先責任者レコードの更新によってトリガーで生成されたデータを宣言的に含む追加機能を含む JSON または XML 応答を生成できます。このシナリオの主な課題は、同時実行です。API が Salesforce に直接存在するため、同じ取引先責任者レコードを同時に更新するために複数回コールすると、問題が発生します。

Salesforce Connect/外部オブジェクト Salesforce Connect および外部オブジェクトは、この使用事例ではお勧めしません。これは、このシナリオでは特に Salesforce でのデータ レプリケーションが必要になるためです。ERP に既存の Salesforce Connect インテグレーションが組み込まれている場合、ERP で変更データデータキャプチャをサポートできれば、外部変更データキャプチャをサポートするように Odata 4.0 コネクタを設定できます。さらに、Salesforce で Pub/Sub API を使用して ERP から変更ストリームを登録するように設定する必要があります。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/返信) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入** デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用可能 認証プロトコル
プラットフォームイベント Salesforce または外部システムでほぼリアルタイムの変更を行うために、カスタム定義の構造化されたペイロードが必要な場合。 必須ではありません* 非同期 はい いいえ はい プロコードツールの使用 はい はい OAuth
Salesforce Connect/外部オブジェクト(カスタムApexアダプタを使用) Salesforce UI にデータを表示する必要があるが、Odata 2.0/4.0 プロトコルを使用できない外部システムにデータを保存する場合。 必須 両方 はい はい はい プロコードツールの使用 いいえ なし 複数
Data 360 1 つのデータストアで異なるソースのデータをハーモナイズする場合、または他の Salesforce 組織や他の外部システムにデータを複製する場合。Data 360 では、一部のプラットフォームで仮想化もサポートされています。 必須 両方 はい はい はい いいえ はい はい 複数

*大規模な使用事例にはアドオンが必要です。

**テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

プラットフォームイベント 外部システムのカスタムコードは、ERP で取引先責任者レコードが更新されたときにプラットフォームイベントを公開します。Salesforce のトリガー、プロセス、またはフローは、プラットフォームイベントに登録し、イベントが処理されたときに対応する Salesforce オブジェクトを更新できます。プラットフォームイベントは、データが含まれていない顧客の ERP システムに変更が発生したことを示す単なるシグナルとして機能する場合もあれば、Salesforce オブジェクトの更新に必要な実際のデータが含まれる場合もあります。

Salesforce Connect/外部オブジェクト(カスタム Apex アダプタを使用) このソリューションは、データ レプリケーションが必要な使用事例には適用されません。このソリューションは、Salesforce で複製できない、または複製できない外部システムの情報を Salesforce のユーザーが表示する必要があり、外部システムで Odata や GraphQL などの標準プロトコルをサポートできない場合に適用されます。「使用事例:「ハイブリッド ツールを使用した送信インテグレーション」の Apex カスタム アダプタの使用事例を参照してください。

Data 360 ERP などの外部システムで取引先責任者を更新する場合、すぐに使用できるコネクタを使用するか、MuleSoft などの API とプロコードツールを使用して、取引先責任者の更新を Data 360 に同期できます。取引先責任者は、ゼロコピーメカニズム (一部のプラットフォームで使用可能) を使用して Data 360 で参照することもできます。Data 360 でデータが使用できるようになると、データを他の Salesforce 組織に同期するためにさまざまな標準インテグレーションメカニズムを使用できます。データは、Data Cloud One を使用して参照でアクセスできます。有効化や他の API を使用して標準のコネクタを使用するか、MuleSoft Anypoint プラットフォームなどのプロコードツールを使用してデータを複製することもできます。

ガイダンス ライセンス タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ
使用するケース 追加ライセンス 同期 (要求/返信) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入**** デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用可能 認証プロトコル
カスタム Apex REST および SOAP Web サービス クロスオブジェクト処理やその他の複雑なロジックなど、ネイティブ API エンドポイントで提供される以上の機能が必要な場合。 不要 両方 はい はい はい プロコードツールの使用 いいえ はい*** 複数
MuleSoft Anypoint インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合。 必須 両方 はい はい はい プロコードツールの使用 いいえ はい*** 複数
ネイティブSalesforce API REST API、SOAP API、Bulk API、GraphQL API、または gRPC を使用してインテグレーションを構築するために、より詳細な制御が必要な場合や、プロコードスキルセットがある場合。 必須ではありません* 両方 はい***** はい はい プロコードツールの使用 はい** はい*** 複数

*API 要求制限および割り当てが適用されます。

**Bulk API には再試行動作の側面があり、多くの API で allOrNone 設定によるロールバック保護が提供されています (たとえば、「複合要求およびコレクション要求の allOrNone パラメーター」を参照)。

***Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「General Shield Platform Encryption Considerations」を参照してください。

****テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

*****複合 API では、複数オブジェクトがサポートされます。

組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

カスタム Apex REST および SOAP Web サービス取引先責任者オブジェクトに対して CRUD (作成、参照、更新、削除) 操作を実行する Web サービスを Apex コードを使用して作成できます。このサービスは、外部システム (ERP) から SOAP または REST を介して呼び出されます。

MuleSoft Anypoint MuleSoft Anypoint の目的は、エンタープライズクラスの API 管理を提供することです。MuleSoft Anypoint には、SAP、Oracle EBS、Oracle ERP、NetSuite などの多くの ERP システムと統合するために使用できる事前作成済みコネクタが多数用意されています。これらの ERP システムでイベントをリスンするフローを作成できます (この場合は、新しい取引先責任者が作成されたとき)。フローが開始されると、Salesforce コネクタを使用して新しい取引先責任者レコードが作成されます (取引先責任者がすでに存在する場合は更新します)。また、レプリケーショントランザクションで取引先責任者を他のシステムにシンジケートする必要がある場合は、他のシステムと統合できます。必要に応じて、対応付けおよび変換言語 (DataWeave) を使用して、複数の異なるシステムの情報フローとして複雑なロジックと計算を実行できます。これらのシステムに対する認証は、基本認証や OAuth など、さまざまな認証メカニズムで実行できます。ピーク時の使用率 (vCores で測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

ネイティブ Salesforce API ERP システムでの更新トランザクションの完了時 (または完了直後) に、SOAP API を使用して取引先責任者オブジェクトに対して更新/挿入操作を実行したり、Salesforce 組織の取引先責任者 sObjects REST API に対して PATCH を実行したりできます。

Salesforce to Salesforce 製品のサポート終了。Salesforce to Salesforce により、パートナーが協力して共通の顧客に販売およびサポートすることが簡単になりましたが、Salesforce では他のツールにさらなる革新をもたらすために投資していきます。今後、Salesforce 組織間でデータを共有するには、次の方法をお勧めします。

ガイダンス Cost (コスト) タイミング ボリューム & スケール 配送およびメンテナンス プライバシーとセキュリティ 実装するツール
使用するケース 追加ライセンス 同期 (要求/応答) または非同期 (起動/忘れ) 複数オブジェクトのサポート LDV/Bulk テストと導入* デバッグ 組み込みエラー処理/再試行動作 保存データを暗号化して使用 認証プロトコル ローコード → プロコード
Heroku Connect Salesforce 組織間で双方向同期を使用してデータを拡張し、Heroku で実行されているモバイルアプリケーションやその他のアプリケーションからのデータへのアクセスも有効にする場合 必須 非同期 はい はい いいえ プロコードツールの使用 はい はい、Shield Connect を使用 OAuth ローコード
MuleSoft Anypoint インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合 必須 両方 はい はい はい プロコードツールの使用 いいえ はい** 複数 プロコード
ネイティブSalesforce API Salesforce または Heroku Connect が使用できない場合や、より複雑な処理が必要な場合 不要 両方 いいえ あり あり プロコードツールの使用 なし はい** 複数 プロコード
変更データキャプチャ Salesforce で行われたレコードレベルの変更を外部システムに公開する必要があり、カスタムペイロードが不要な場合。 必須 非同期 なし なし はい プロコードツールの使用 はい はい OAuth
Salesforce Connect with Cross-Org Adapter (組織間アダプタを使用した Salesforce Connect) ある組織のユーザーがデータ複製を使用せずに別の組織のレコードを表示または編集できるようにする場合 必須 非同期 はい はい はい プロコードツールの使用 なし なし 複数 ローコード
Data 360 ある組織のユーザーが、Data 360 で複製されたデータを使用して別の組織のレコードを表示または編集できるようにする場合。 必須 両方 はい はい はい プロコードツールの使用 はい はい 複数 ハイブリッド

*テストおよびリリースとは、より低い環境で構築し、メタデータ API、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

**Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「General Shield Platform Encryption Considerations」を参照してください。

プラットフォームイベントは、ある Salesforce 組織から別の組織へのデータの統合には最適ではありません。同じイベントを組織間で「リスン」できないためです。カスタム Apex も、このタイプのインテグレーションにはお勧めしません。

大企業は複数のビジネスユニット (BU) にまたがって事業を展開しています。各 BU には独自の Salesforce 組織があります。1 人の顧客が企業の複数のビジネスユニットを処理するため、取引先データと商談データが複数の組織に存在するとします。企業は、1 つの組織のすべての BU のすべての取引先および商談データの集計ビューにアクセスする必要があります。

注:以下のすべてのソリューションは、ポイント No.1に従って、データ レプリケーションの量を最小限に抑えるように設計されています。

さまざまな Salesforce 組織のData 360取引先および商談データは、標準の Salesforce コネクタを使用して Data 360 に取り込むことができます。必要に応じて集計およびハーモナイズすることもできます。Data 360 でデータが集計されると、データレプリケーションなしで Data Cloud One を使用して他の Salesforce 組織からアクセスできます。

Heroku Connect 各 BU の個々の組織で、Heroku Connect を使用して Salesforce からの変更を 1 つの Heroku Postgres データベースに同期できます。このシナリオでは、双方向同期は有効になっておらず、Salesforce から Postgres への同期のみが有効になっています。次に、Heroku Connect で Odata プロバイダーを有効にし、集計ビューが必要な Salesforce 組織の外部オブジェクトとして公開するテーブルを選択できます。Salesforce 内から、Heroku の Odata プロバイダーを参照する外部データソースを定義します。

MuleSoft Anypoint MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint API は、組織への複数の接続がある Salesforce コネクタを使用して複数の関連する Salesforce 組織から情報を読み取るように設定できます。MuleSoft フローでは、さまざまな Salesforce 組織を照会し、必要に応じて他のサードパーティ情報で強化または強化した特定の構造を返すことができます。API が呼び出されると、すべての適切な Salesforce 組織のコールアウト (この例では取引先と商談の情報を照会) が実行され、コンシューマーがデータを処理できるようになります (UI の可能性が高い)。これらのシステムに対する認証は、基本認証や OAuth などのさまざまな認証メカニズムを介して行うことができます。ピーク時の使用率 (vCore またはコアで測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

ネイティブの Salesforce APIクエリ操作は、特に数千件のレコードを効率的に抽出するのに適した Salesforce Bulk API 2.0 を使用して、関心のある各組織に発行できます。各組織からクエリ結果を個別に取得し、顧客の要件ごとにカスタムアプリケーションまたはミドルウェアで集計できます。

Salesforce Connect with Cross-Org Adapter Salesforce Connect Cross-Org Adapter は、リモート組織の取引先または商談がすべて異なるオブジェクトとして中央組織に表示されるため、このシナリオには適していません。たとえば、すべての組織のすべての商談の [金額] の総計を合計する方法はありません。

**組織間の選択的な更新のシナリオ:**Salesforce 組織 A を使用する営業担当は、組織 A で作業している間に、Salesforce 組織 B のケースデータを表示および更新し、Salesforce 組織 B の親ケースにケースコメントを追加する必要があります。データを組織 A に複製することはできません。

Heroku Connect では、上記の「データ集計シナリオ」で説明した方法と同じ方法を使用できます。ただし、Odata コネクタを介して外部オブジェクトの CRUD を有効にし、変更を Heroku Postgres に書き戻す必要があります。

MuleSoft Anypoint MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。上記のデータ集計シナリオで説明した方法と同じ方法を使用できます。

ネイティブ Salesforce APIは指定ログイン情報を使用し、ネイティブ Salesforce API を呼び出して、関連する Salesforce 組織のデータを参照および更新します。コンポーネントは、データを表示するように設計する必要があります。

Salesforce Connect with Cross-Org Adapter 外部オブジェクトのデータを表示する (および外部オブジェクトで CRUD を有効にしている場合はデータを編集) 機能は、Salesforce 組織間アダプタを介してサポートされます。外部オブジェクト間のリレーションもサポートされるため、外部オブジェクトの親ケースにリンクできます。ただし、リレーションの作成は、既存のデータ型をリレーションデータ型に変換する手動プロセスです。さらに、ケースをより効果的に操作するために Service Cloud 内で行った最適化は、リモート組織にカスケードされません。Salesforce では、組織間アダプターをテストし、使用事例に応じて外部オブジェクトと標準オブジェクトの使用のトレードオフを評価することを強くお勧めします。

データ同期の組織間:組織のビジネスユニットの 1 つである Salesforce 組織で顧客の取引先を更新する場合、一貫した取引先情報を維持するために他の Salesforce 組織の取引先オブジェクトを更新する必要があります。

Data 360 Data 360 は、ある組織から別の Salesforce 組織へのデータ レプリケーションに使用できます。1 つの Salesforce 組織の取引先データは、標準の Salesforce コネクタを使用して Data 360 に取り込むことができます。一括有効化、ほぼリアルタイムのデータアクション、API ベースの有効化などのデータ有効化メカニズムを使用して、データを Data 360 から Salesforce 組織に移行することもできます。

Heroku Connect では、上記の「データ集計シナリオ」で説明した方法と同じ方法を使用できます。ただし、双方向同期を有効にする必要があります。また、双方向同期により、Postgres テーブルが変更されたときにすべての組織を最新の状態に維持できるため、Salesforce Connect を有効にする必要はなくなりました。

MuleSoft Anypoint MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint のフローデザイナーを使用して、Salesforce で自動起動フローを起動する標準およびカスタムオブジェクトイベントをリスンするように Mule アプリケーションを設定できます。Mule アプリケーションがトリガーされると、Salesforce の Anypoint Connector を呼び出して任意の数の Salesforce 組織と通信できます。この使用事例では、1 つの Salesforce 組織で取引先レコードが更新されると、Mule アプリケーションは関連する Salesforce 組織の取引先レコードを更新できます。関連する各 Salesforce 組織には、MuleSoft の全体的なアプリケーションフローに組み込まれた一意の更新ステップがあります。これらのシステムに対する認証は、基本認証や OAuth などのさまざまな認証メカニズムを介して実行できます。ピーク時の使用率 (vCore またはコアで測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

ネイティブ Salesforce API レプリケーション API(getUpdated、getDeleted 操作)を使用して組織間でデータを同期できますが、この方法はお勧めしません。

Salesforce Connect with Cross-Org Adapter レコードトリガーフローと外部オブジェクトを使用して、Salesforce 組織間で一部のデータの同期を維持できます。たとえば、組織 A の取引先レコードを更新すると、取引先外部オブジェクトの一致するレコードを更新するフローがトリガーされ、取引先外部オブジェクトはそれらの更新を組織 B の取引先レコードに書き込みます。これには、混合 DML トランザクションを回避するためにフローセマンティクスを適切に使用する必要があります。また、組織 B の入力規則とフローは、REST/SOAP API によって変更が行われた場合と同じようにトリガーされます。

このガイドは、Salesforce に関連する新しいデータインテグレーションを計画するときに参照してください。使用可能なオプションの全容と、特定の使用事例にどのように適合するかを把握することをお勧めします。

お客様に最も関連性の高い記事が公開されるようにしてください。アンケートに回答して、このコンテンツに関するフィードバックを提供し、次に何を表示するかお知らせください。