SaaSベンダーがAppExchangeアプリを作るときの連携パターン

2020年12月11日にSaaS x Salesforce Developersというイベントで、「SaaSベンダーがAppExchange アプリを作るときの連携パターン」のタイトルで発表をしてきました。その時の発表資料を共有します。

動画もアーカイブ配信されていますので、お時間あればそちらもご覧ください。私の発表は42分頃からです。https://youtu.be/Pbhi2IFchXI?t=2531 から行くと私の発表のところからご覧いただけます。

一部抜粋して以下に解説を書いておきます。お時間のない方は以下の解説ご覧ください。全編は上の動画やスライドをご覧ください。

はじめに

AppExchangeアプリは一般的なSaaSと仕組みが違います。ここがSaaSベンダーがAppExchangeアプリを作ろうとしたときにまず戸惑うところだと思います。動画でも言っていますが、自動アップグレード機能のあるオンプレ(orASP)パッケージがイメージに近いと思います。

自社サービスとSalesforceを連携するには4つの方法があります。

1. Salesforce→自社API

普通にSalesforceにインストールされたAppExchangeアプリから自社サービスのAPIをコールする方法。

認証方法はいろいろありますが、自社サービスAPIでOpenID Connectを実装し、Salesforceの指定ログイン情報という機能(ノーコードで認証処理を実現)を使う方法がおすすめです。

2. 自社サービス→Salesforce API

逆に自社サービスからSalesforceのAPIをコールする方法。認証はOAuth 2.0 認可コードフローがおすすめです。

3. 自社サービスの画面埋め込み(Canvas)

3番目にCanvasという方法があります。これはWebアプリをSalesforceの画面にiframeで埋め込むことができます。ただし、Salesforceが近年推奨している雰囲気がないので、使うかは悩みどころです。

4. プラットフォームイベント

4番目はプラットフォームイベントです。こちらはPubSub型のメッセージングアーキテクチャで、自社サービスでイベントを購読していると、Salesforceから送信したイベントをリアルタイムに受信できます。こちらは弊社もあまりノウハウがありませんが、制限を考えるとAppExchangeでは優先度の下がる選択肢だと考えています。

おすすめの連携方法

おすすめの連携方法は「Salesforce→自社API」です。この方法が一番Salesforceの組織の制限に引っかかりにくいことがその理由です。ただし、要件的にこの方法では満たせない場合は、他の方法も組み合わせて使うとよいと思います。各方法のメリット/デメリットはスライド/動画で説明していますので、そちらをご覧ください。

 

ABOUTこの記事をかいた人

株式会社co-meeting代表取締役CEO。カレンダーアプリ「Calsket」のなど複数のAppExchangeアプリを開発。顧問Salesforceプログラマとして他社のAppExchangeアプリ開発にも携わる。SWTT登壇3回、Salesforceハックチャレンジ2014最優秀賞。個人では5月にSOQL構築ツール「LWC SOQL Builder」をリリース(ぜひ使ってください)。