- コネクションの説明
- Heroku Postgresのコネクション作成
- MySQLのコネクション作成
今回はHerokuマーケットプレイスで利用可能な3つのAdd-onを使って、外部データをSalesforceにカンタンにほぼリアルタイムで連携する方法についてご紹介します。
以下のデモ動画で実際の連携方法をご覧いただけます。
- デモで使用した3つのAdd-onについて
- デモ概要
- Heroku connect + Integrate.ioを利用した事例1:7-Eleven
- Heroku connect + Integrate.ioを利用した事例2:Zoetis
- Heroku Connect + Integrate.ioのメリット
デモで使用した3つのAdd-onについて
今回使用する以下の3つのAdd-onはHeroku Elements Marketplaceでインストールすることが可能です。
3つのAdd-onについてそれぞれ詳しく見ていきます。
1. Heroku Connect
Heroku Connectは、SalesforceとHeroku Postgresデータベース間でデータを同期するAdd-onです。Heroku ConnectとHeroku Postgresを使用すると、Herokuがサポートするすべての言語やフレームワークを含む、お気に入りのツールを使用して Salesforceデータを双方向でほぼリアルタイムにやりとりするアプリケーションを構築することができます。
Heroku Connectでは、Salesforceとのデータ連携について大きく分けて2種類の接続方法を提供しています。
データ同期(双方向かつほぼリアルタイムに)
Heroku Connect を使用すると、管理者は、Heroku Postgresデータベース内のテーブルとSalesforce内のオブジェクトとの間に単一または双方向の同期を作成することができます。 一方向の同期の場合、Heroku Connect は、Salesforce データベースに加えられた変更を Heroku Postgres データベースに複製します。双方向同期の場合は、Postgres データベースの列に加えられた更新が、Salesforce オブジェクトインスタンスの対応するフィールドにレプリケートされます。それ以外は、単一方向同期と同じように機能します。 レプリケーションの速度は、多くのシステム要因によって異なりますが、ほぼリアルタイムであり、通常は数分で更新が行われます。Heroku Connectを使用すると、管理者は、どのAPIを使用してSalesforceへの書き込みを行うかやデータベースの変更をポーリングする頻度を制御することができます。
Heroku Connectは、1クリックでHerokuインスタンスにデプロイされます。 デプロイされると、すべての設定はHerokuダッシュボード上で行われます。同期設定の詳細は、Heroku Connectダッシュボードで管理されているオブジェクトマッピングを使ってコントロールします。 このマッピングにより、Salesforceと同期するフィールドを選択することができます。 フィールドを選択する機能により、ストレージとAPIのオーバーヘッドを最小限に抑えることでコストを抑え、Postgresデータベースで使用されないフィールドを同期することでHeroku Connectのパフォーマンスが損なわれないようにします。
外部オブジェクト
Heroku ConnectはSalesforce Connectにも対応しており、Salesforceが外部データベースのデータについてSalesforceのネイティブデータと同じように表示することができます。この機能は、大量のデータを持つシステムや、データの更新が頻繁に行われるシステムとの統合に利用されます。 外部データベースのデータは、データを関連するSalesforce オブジェクトに関連付けるために、Salesforce オブジェクトと共通のキー列を持つ必要があります。この関係が確立されると、外部システムのデータは、表示、クエリ、および検索に利用することができます。 例えば、外部データベースのデータを更新するプロセスでは、InsertやUpdate処理の前に直接Salesforceではなく、同期されたHeroku Postgresテーブルでレコードを検索して、データの整合性を担保することができます。
Salesforce Connect を介した外部データベースの接続は、複雑になることがあります。 Heroku Connectには、SalesforceとHeroku Postgresデータベース間を簡単に接続できるように事前に設定されたHeroku 外部オブジェクトが含まれています。
もちろん、Heroku ConnectはHerokuがホストしているので、Heroku Add-OnのすべてがHeroku Connectのコンテナ上で利用することができます。 例えばPapertrailを介した強化されたロギング機能などがこれに含まれます。 これらのアドオンは基本的には、Herokuコンソールの設定ページでワンクリックでインストールできます。
関連記事:
Integrate.ioとHeroku Connect:完璧なSalesforce統合ソリューション
Salesforceのデータ統合にHeroku Connectを利用するメリット
2. Heroku Postgres
Heroku Postgresは、Herokuが直接提供するマネージドSQLデータベースサービスです。PostgreSQLドライバがあれば、Herokuが公式にサポートしているすべての言語を含め、どの言語からでもHeroku Postgresデータベースにアクセスできます。
Heroku PostgresはHerokuプラットフォームに特有の強力な機能を持っています。1つのコマンドでデータベースをフォーク(クローン)することができます。 読み取り専用のレプリケートされたデータベースコピー(Herokuではフォロワーと呼ばれています)は、簡単なコマンドで設定することができます。 Heroku Postgresには、複数のバックアップサーバ上のデータベーストランザクションをログに記録し、Heroku dynoのハードウェアに問題が発生した場合に再生することができる継続的なデータ保護機能など、多くのデータセーフティ機能があります。さらにHerokuは自動化されたヘルスチェックを使用してPostgresインスタンスを監視し、本番環境に影響を与える前に問題を発見します。高可用性が必要な場合、Herokuはデータベースインスタンス間の自動フェイルオーバーを提供するプレミアム層を用意しています。
Heroku Postgresでは、インターネットに触れることのないプライベートネットワーク上でHerokuアプリケーション間のトラフィックを分離することもできます。また、Herokuは定期的にセキュリティ監査を実施し、さまざまなセキュリティ基準に準拠しています。
HerokuがPostgresに提供するビルトイン機能やHeroku固有の機能に加え、エンタープライズグレードのセキュリティ機能を備えているため、Heroku Connectと一緒に利用する最適なデータベースの選択肢であることがお分かりいただけると思います。
3. Integrate.io
Integrate.ioは、ローコード/ノーコードのクラウドベースのETL(抽出、転送、ロード)データ統合プラットフォームです。ユーザーは、100以上のデータソースとデスティネーション間で簡単にデータパイプラインを構築することができます。Integrate.ioは、データ変換プロセスを簡素化するために、汎用的な機能、カスタマイズ、および事前に構築された統合機能を提供しています。
Integrate.ioの詳細については、こちらのブログを参考ください。
デモ概要
デモをご覧になる際に必要な部分だけを見たい場合は、以下のリンクを使ってナビゲートしてください。
- データソースの設定
- データの結合
- データ加工
- デスティネーション(ロード先)の設定とジョブの保存および実行
- パッケージの保存および実行
- スケジュール画面の説明
- ジョブモニターにてジョブのステータスを確認
ジョブ実行後のデータ確認:Heroku Postgres + Salesforce(9:45)
- Postgresデータベース側のAccountテーブルの値が正しく更新されていることを確認
- Salesforce側のAccountオブジェクトの値が正しく更新されていることを確認
Heroku connect + Integrate.ioを利用した事例1:7-Eleven
7-Elevenは国際的なコンビニエンスストアチェーンです。テキサス州ダラスに本社を置き、現在17カ国で68,236店舗を運営、フランチャイズ、ライセンス供与しています。
7-Elevenが抱えていた課題
- 7-Elevenは、コーポレートオフィス、オペレーション、店舗間のコミュニケーションを強化するために、SalesforceとHerokuを使って2つの新規プロジェクトを実施していました。
- 7-Elevenのガバナンスでは、SFTPとRest APIを介してバックエンドシステムからデータを抽出する必要がありました。
- Salesforceは、変換のためのETLレイヤーを兼ね備えたネイティブSFTPソリューションを提供していませんでした。
ソリューション
- Integrate.ioは、SFTPからの抽出をネイティブコネクタでサポートしており、Heroku postgresやSalesforceをデスティネーションとしてロードする機能を備えています。
- Integrate.ioの変換レイヤーを使用することで、7-Elevenは、Heroku PostgresとSalesforceへロードする前に、ビジネスロジックとデータ変換処理をデータに適用することができました。.
導入の効果
- 7-Elevenのフランチャズ店舗、フィールドコンサルタント、マーケットマネージャーは、地域のイベント情報、気象情報、店舗データ、各店舗の業績などの分析データにアクセスすることができるようになりました。
Heroku connect + Integrate.ioを利用した事例2:Zoetis
Zoetisは、ペットや家畜のための医薬品や予防接種の世界最大のメーカーです。
Zoetisが抱えていた課題
- アメリカとインターナショナルチームの2つの分断されたSalesforce組織。
- 信頼できる唯一の情報源に統一し、Lightningに移行したいと考えていました。
- 既存データを統一スキーマに変換するとともに、移行前に過去のレコードをアーカイブする必要がありました。
ソリューション
- Heroku Postgres、Heroku Connect、Integrate.ioの組み合わせにより、ZoetisチームとSlalomコンサルティングは、スケーラブルなリソースを使用してワークフローを作成し、データをスピーディに変換、マッピングすることで統合先となるSalesforce組織への移行を行うと同時に、古いレコードをバックアップすることができました。.
導入の効果
- グローバルな組織のための信頼できる唯一の情報源。
- ユーザーのダウンタイムを最小限に抑え、Salesforce 内の既存のワークフローやトリガーへの影響を軽減。
- 移行後の特定のSalesforceオブジェクトを更新するため、外部のオンプレミスリソースからの継続的な差分更新を自動化。
Heroku Connect + Integrate.ioのメリット
Salesforceとのデータ連携対象となるデータソースやディスティネーションの種類によって、どう連携を構築し、管理するかは大きな課題になります。こうした課題に対して、さまざまなデータソースおよびディステイネーションへのコネクションおよび豊富な変換機能をドラッグ&ドロップインターフェースで設定できるIntegrate.ioとリアルタイムでSalesforceとの双方向のデータやり取りをほぼリアルタイムでサポートするHeroku Connectを組み合わせることで、シンプルで柔軟なデータパイプラインの構築および管理を実現することができます。
Heroku ConnectとIntegrate.ioがどのように完全なSalesforce統合ソリューションになるのかについて詳しく知りたい方は、ぜひ画面右上のボタンからオンラインデモにお申し込みください。