Heroku と Salesforce プラットフォームの統合の概要
最終更新日 2024年05月30日(木)
Table of Contents
Heroku と Salesforce プラットフォームは複数の方法で統合でき、複数の方法から選択することにより、要件とそれぞれの統合タイプの機能を理解することができます。
この記事では、各タイプの統合について、かなり高度な内容を説明し、それぞれのメリットとデメリットの概要も説明します。また、統合の実装に役立つドキュメントも示します。
手法 | 説明 | どのような場合に使用するか |
---|---|---|
Heroku Connect | Salesforce 組織のデータと Heroku Postgres リレーショナルデータベースのデータの双方向同期。 | 最終的な一貫性が保証されるように Heroku アプリからアクセス可能なデータベースと一方向または双方向の同期を行いたい場合。 |
Salesforce Platform Events | Heroku アプリで Salesforce 上にイベントを作成したり、Salesforce から公開されたイベントに登録したりできるようにするイベントバス統合。 | 最新の高スループットかつ低レイテンシーの Salesforce のエンタープライズメッセージングプラットフォームとの統合を使用した Heroku アプリを構築したい場合。 |
Apex とワークフローのコールアウト | Heroku アプリとして作成された API があり、Apex ワークフローまたはトリガーからエンドポイントを呼び出すことができます。 | Salesforce 組織でのオブジェクトアップデートに基づく REST API 統合を行いたい場合。 |
Salesforce の REST API の呼び出し | Heroku アプリ内から Salesforce の REST API を呼び出します。 | Salesforce 組織のデータ以外のものにもアクセスする必要がある場合。たとえば、プログラムで承認プロセスを開始したい場合など。 |
Heroku External Objects と Salesforce Connect | Heroku Connect の一部として、Heroku Postgres のデータが Salesforce 組織内で利用できるようになり、そのデータの表示、検索、ほかのオブジェクトとの関連付けを行うことができます。 | 物理的にデータをコピーするなど非効率な処理を行わずに、状況に応じて Heroku Postgres に格納されているデータを Salesforce 組織から参照したい場合。 |
MuleSoft | API を使用した異種エンタープライズシステムの統合、API の設計、および API のサービスとライフサイクルの管理を行うための iPaaS (Integration Platform as a Service) およびマーケットプレース。 | 異種 API 統合を構築するためのマネージドプラットフォームを使用し、それらの統合に Heroku アプリから接続したい場合。 |
CRM Analytics | Salesforce の内部と外部にあるデータを分析のために CRM Analytics を使用して接続します。 | Heroku Postgres データを CRM Analytics と同期したい場合。 |
Marketing Connector | マーケティングデータを同期するためにアドオンとしてアタッチできるコネクター。 | Heroku データを Marketing Cloud と同期したい場合。 |
Slack | Heroku にデプロイされたカスタム Slack アプリ。 | Slack を Salesforce 組織と統合するか、またはイベントベースのアーキテクチャでメッセージを中継したい場合。 |
Salesforce Data Cloud | Salesforce とその他の外部データソース間でデータを整理および統合できるようにするデータプラットフォームです。 | Heroku Postgres データを Salesforce Data Cloud インスタンスと同期すると、統合された顧客プロファイルを作成し、データに基づいてアクションを実行できます。 |
Heroku Connect
Heroku Connect は、Salesforce オブジェクトと Heroku アプリケーションにアタッチされている Heroku Postgres データベースとの間でデータを同期するアドオンです。シンプルな宣言型インターフェースを使用して、どの Salesforce オブジェクトをどの Postgres テーブルと同期するかを決定して、オブジェクトのフィールドをテーブルの列にマッピングします。その後、Heroku Connect によって継続的に (同期の方向に応じて) Salesforce 組織とテーブルが監視され、必要に応じてオブジェクトや行が作成されます。開始するには、Heroku Connect のドキュメントを参照してください。
Salesforce Platform Events
Salesforce のエンタープライズメッセージングプラットフォームで、イベント駆動型アプローチを使用してアプリを設計できます。プラットフォームイベント には、Salesforce アプリ内の内部コンポーネントを統合したり、Salesforce アプリ内の内部コンポーネントを Heroku アプリなどの外部システムと統合したりするための強力なテクニックが用意されています。イベントプロデューサーとイベントコンシューマーが分離され、接続されたシステムでの通信モデルが簡略化されるため、このアーキテクチャは大規模な分散システムに向いています。
Heroku アプリケーションは、イベントプロデューサー、イベントコンシューマー、またはこの 2 つのいくつかの組み合わせとして動作できます。実装については、「Publish and Subscribe to Salesforce Platform Events」(Salesforce プラットフォームイベントの公開と登録) を参照してください。
Salesforce の REST API の呼び出し
Salesforce プラットフォームには、Heroku アプリケーションから呼び出すことができる包括的な REST API が用意されています。この API では、OAuth 2.0 またはセッション ID による認証を使用でき、Object Metadata の照会、レコードの作成または編集、SOQL/SOSL クエリの実行、および承認プロセスとの対話処理を行うことができます。
詳細は、「Using the Salesforce REST API with Heroku」(Heroku での Salesforce REST API の使用) を参照してください。
Apex とワークフローのコールアウト
Salesforce でのアクティビティに基づいて API で Heroku アプリ内の呼び出しを行うには、主に 2 つの方法があります。
- プログラムで REST 呼び出しを行うための Apex HTTP コールアウト。
- 宣言で SOAP 呼び出しを行うためのワークフローアウトバウンドメッセージ。
いずれの場合も、Heroku アプリはイベント詳細ペイロードを使用してリクエストを受信して、アクションを実行します。詳細は、「Make Apex and Workflow Callouts to Your API」(API に対して Apex とワークフローのコールアウトを行う) を参照してください。
Heroku External Objects と Salesforce Connect
Heroku External Objects は、Heroku Connect の一部として使用可能です。Heroku External Objects には、Heroku Connect で使用するように構成されている Heroku Postgres データベースの oData ラッパーが用意されています。この機能を使用すると、ラッパーによって生成される RESTful エンドポイントを使用して、ほかの Web サービスで、指定された Heroku Postgres データベース内からデータを取得することができます。読み取り / 書き込みサポートはテーブルでのみ使用可能です。ビューへの書き込みは現在サポートされていません。
Salesforce Connect と合わせて使用すると、Heroku Postgres データベースのデータを Salesforce のデプロイで提示することが許可され、データの表示 (Apex および Visualforce のページ内からを含む)、検索、ほかのオブジェクトとの関連付けができます。データは参照によって使用可能なため、標準レポートでは使用できません。
実装についての詳細は、「Heroku External Objects と Salesforce Connect」を参照してください。
MuleSoft
MuleSoft は、複雑なマルチシステム統合を作成したり、API の完全なライフサイクルを管理したりするための統合 PaaS です。MuleSoft ではバックエンドのシステムとプロセスの複雑さが抽象化され、スケーラブルで管理しやすい API でフロントエンド化されるので、それを Heroku アプリ内から起動することができます。
MuleSoft には、以下の機能があります。
- 何百ものシステム (Salesforce、SAP、オンプレミスのデータベースを含む) に対する迅速な統合のための、あらかじめ作成済みのコネクター
- 迅速なワークフローオートメーションのための統合テンプレートとコンポーネント
- API の完全なライフサイクル管理
- 統合分析と管理ツール
API を組み合わせたり、独自の API を作成して、Heroku アプリケーションで使用することもできます。
この統合についての詳細は、「MuleSoft への Heroku データサービスの接続」を参照してください。
CRM Analytics
CRM Analytics は、任意のデータソースを操作する顧客およびビジネス分析プラットフォームです。コネクターによって、Salesforce の内部と外部にあるデータ (Heroku データなど) を接続する方法が提供されます。CRM Analytics にデータベースを接続するには、「Heroku Postgres Connection」(Heroku Postgres 接続) を参照してください。
Marketing Connector
Softtrends Marketing Connector は、Salesforce Marketing Cloud と Heroku Postgres または Apache Kafka on Heroku の間でデータを同期するアドオンです。詳細は、「Marketing Connector」を参照してください。
Slack
Slack には、ワークフローを管理するのに役立つ多くの機能とアプリがあります。Heroku ChatOps はこのようなアプリの 1 つであり、デプロイワークフローを完全に把握するのに役立ちます。
Slack プラットフォームではまた、Bolt SDK および Block Kit UI フレームワークも提供されるため、ニーズに適したカスタムアプリを構築できます。Heroku にカスタム Slack アプリをデプロイできます。開始するには、Heroku にデプロイするための Slack のドキュメントを参照してください。また、Slack Block Kit Trailhead バッジを完了して、UI フレームワークの使用に精通することもできます。
Slack アプリが Salesforce と統合されるようにしたい場合は、Salesforce Slack スターターキットを確認してください。そのリポジトリには、認証を処理し、組織への接続を設定する方法が説明されています。
Salesforce Data Cloud
Salesforce Data Cloud は、Salesforce とその他の外部データソース間でデータを整理および統合できるようにするデータプラットフォームです。Data Cloud により、さまざまなシステムのデータを統合して、パーソナル化された顧客体験を提供したり、データ主導のワークフローを開始したりできます。
Data Cloud を使用すると、次のことが可能になります。
- 事前定義されたコネクターを使用して、Heroku Postgres などの外部システムとの統合をセットアップできます。
- 統合プロファイルを作成し、顧客の全体像を把握できます。
- Salesforce 自動化ツールを使用して、データに基づいてアクションを実行できます。
- 顧客エンゲージメントデータのメトリクスを収集して分析できます。
この統合についての詳細は、「Heroku Postgres を Salesforce Data Cloud に接続する」を参照してください。