コラム詳細
はじめに
セラクCCCのSalesforce推進部のAです。セールスフォース社の『Heroku(ヘロク)』を利用してユーザに提供されるアプリは、Heroku Connect(ヘロクコネクト)というアドオンで、HerokuアプリとSalesforceの連絡先や取引先、カスタムオブジェクトなどのデータを同期できます。本記事では、Salesforceユーザ向けのアプリ開発を考えている方やWebアプリ活用を考えているSalesforceユーザ向けに、Heroku Connectについてご説明します。
<Heroku ConnectでアプリとSalesforceを同期させる>
Heroku Connect(ヘロクコネクト)は、Heroku PostgresデータベースとSalesforceを同期できるHerokuアプリのアドオンです。Heroku Postgres のインターフェイスは標準SQLのため、独自の Salesforce APIではなく使い慣れたクエリ言語でSalesforceにアクセスできます。同期にはSalesforce APIを使用しますが、SalesforceのAPI呼び出し制限にはカウントされません。
データベースの各テーブルはSalesforce の各オブジェクトに対応しており、オブジェクト単位でSalesforceからHerokuアプリへ、または双方向の同期ができます。
オフィシャルから提供されているアドオンであり安心して使えるのも魅力です。
HerokuアプリとSalesforceのデータを同期することで、どのようなメリットがあるのか見ていきましょう。
<データベースを同期しないと、二重管理になってしまう>
社内担当者のデータベースへのアクセス経路に注目してください。社内データベースとアプリデータベースが同期できていない場合、二重管理になってしまいます。また、それぞれのデータベースに同じ顧客のデータがあれば、社内担当者は片方の情報が更新された時に、もう1つのデータベースに手作業で反映する必要があります。そのため、工数が多く負担になるだけでなく入力ミスのリスクも増えてしまいます。
<HerokuとSalesforceを連携させ、管理を一元化>
Herokuで作成したアプリとSalesforceの顧客関係データをHeroku Connectで同期すれば、社内担当者のアクセスするデータベースが1つに絞られ、効率的でミスの少ない運用が可能になります。
<Salesforceからデータベース操作をすれば、バックエンド用のUIが不要>
データベースを同期させるメリットは効率的なデータ管理ができるだけではありません。バックエンドの管理用インターフェイスをSalesforce上で実装すれば、アプリ開発時にゼロからインターフェイスを作るより、開発コストを抑えてローコードで実装できます。
また、Salesforce側からデータベースを管理することは、担当者が新たにアプリのインターフェイス運用を学ぶよりも、学習コストを抑えるメリットもあります。
Salesforceとの連携を活用しているHerokuアプリ開発事例をご紹介します。
<Heroku Connectを活用したデータ管理事例>
ある企業は不動産管理企業向けに、リードやサービスリクエストなどの管理を支援し、多くの一般的なタスクを自動化するアプリを開発しました。
このアプリは当初Herokuではなく他のサービスを利用して運用を始めましたが、ユーザが増えてAPI 連携で取得するデータが増加したため、アプリのパフォーマンスが低下してしまいました。これを軽減するために、開発チームはアプリをHerokuプラットフォームに移行することにしました。Heroku Connectを使用して、アプリとSalesforceバックエンドの間でデータがシームレスに流れるように改善。アプリデータをHeroku Postgresデータベースに移行し、低負荷でのデータ統合を実現しました。
<Heroku Connectを活用した画像管理例>
ある建設会社のソフトウェアエンジニアのチームは、自社の社員だけでなく協力企業も作業現場の写真をアップロードし管理できるように、同社のSalesforceとデータ同期できるHeroku Connectを使ったアプリ開発を行いました。
Heroku Connectは画像や映像などのバイナリデータを直接扱うことができません。そこでAmazon Web Services(AWS)S3に画像データを保管して画像のURIを含む単純なテキストデータを同期することで、Salesforceとアプリの両方から画像の編集や共有を可能に。プラットフォーム間のデータ同期作業は不要となり、ユーザエクスペリエンスに遅延が発生する可能性も低減できました。
Heroku とSalesforceのデータベースを連携させる場合にはHeroku ConnectとAPI連携を使い分けるとよいでしょう。
Heroku Connectは、SalesforceからHeroku Postgresには2~60分の設定間隔でポーリングし、Heroku PostgresからSalesforceには最小間隔10秒でポーリングするNear real-time syncです。そのため、フロントエンドの開発で「POSTしたリPUTしたりした時に登録が成功したものはレスポンスを返す」というような完全なリアルタイム同期をしたい場合はAPI連携のほうが向いています。
また、Salesforce側の状況も考慮する必要があります。入力規則やワークフローが複雑に実装されている場合、Heroku Connect側からの書き込みが失敗するケースがあります。Heroku ConnectはDB連携のため、オブジェクトに直接レコードを書き込むと、その後にワークフローや入力規則が動作する場合があるからです。そのため、Salesforceの設定やHeroku Connectがエラーせずに動作するかを確認し、エラーが発生した場合のために、手動での不整合解除対応の手順を明確化しておきましょう。
Heroku Connectには、効率的なデータ管理や省コストでの開発、ユーザの学習コスト低減といったメリットがあります。しかし、Heroku Connect での同期には、Salesforce側の設定を把握していないと、想定外の問題が起こるといった可能性もあります。そこでWebアプリの開発時に、Salesforceの導入や定着サービスを行っているパートナー企業と協力するのも効果的です。「Salesforceユーザ向けのアプリ開発を考えている」「社内アプリ開発を考えているが、Salesforceとアプリでデータの二重管理になりそうで、悩んでいる」といったことがございましたら、セラクCCCの無料相談からお問い合わせください。セラクCCCにはHerokuとSalesforceの連携に関するサポートの実績があり、300名(23年5月時点)を超えるSalesforce専門コンサルタントが在籍しています。
Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください
Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください