Heroku プラットフォームは、マルチクラウドアプリケーションプラットフォームである Salesforce Platform の一部ですちょっと分かりづらいかも知れませんね。簡単に言えば、Salesforce Platform は多数のツールとサービスが密に統合された 1 つのプラットフォームにまとめられているため、貴重なアプリケーションを構築できる、ということです。Heroku は、そのツールセットの一部です。優れたカスタマーエクスペリエンスを促進するカスタムアプリケーションを構築できます。
ご存知かもしれませんが、Lightning Platform では従業員向けアプリケーションを構築し、Salesforce CRM のカスタマイズと拡張を行うことができます。Heroku ではさらに、Java、Ruby、Python、PHP、JavaScript、Go などのオープンソース言語で顧客向けのピクセル単位まで完璧なアプリケーションを構築できます。
この記事では私個人の開発過程を記録するものとなります。heroku開発入門に関する以下内容が分かるようになります。
・Herokuアカウントの作成
・Heroku Connect
・Salesforce Connect
1.Herokuアカウントを取得
Heroku開発の下準備としてHerokuアカウントの取得が必要となります。
実際に公式ホームページに入って新規登録をクリックしましょう。
https://jp.heroku.com/free

必須項目を入力しましょう。

記入した自分のメールを確認しましょう。

メール内のアドレスをクリックしましょう。

パスワードを入力しましょう。

クリックして次へ進みましょう。

承認ボタンをクリックしましょう。

これで無事にアカウントの作成できました。

2.Heroku Connectの活用
このセクションでHerokuを使うアプリ開発する方法及びローカル環境での動作などを一通り紹介します。
2-1.Herokuでのアプリ作成
herokuを使うアプリ開発は色々ありますが、今回はjames wardさん開発したPhone changeを用いて開発を行います。herokuにログインした状態でdeployをクリックしましょう。
https://github.com/jamesward/heroku-connect-phone-change

アプリ名を決めてDeploy appをクリックしましょう。

アプリの環境は自動的に整えますので終わりましたらManage Appをクリックしましょう。

このように最初のアプリが作成できました。

Open appをクリックしましょう。

これがアプリの内容です。またsalesforceと連携してないので動作しません。

2-2.HerokuアプリにpostgresとHeroku Conectを加えよう
manage画面に戻ってResourcesタブをクリックしましょう。

Add onsの検索欄にpostを入力し「Heroku postgres」を選択しましょう。

Submit Order Rormをクリックしましょう。

これでpostgresqlがデータベースとしてセットされました。

次はHeroku Conectを加えよう


Heroku Conectをsalesforceと連携しましょう。

nextをクリックしましょう。


ログインしましょう。


データベースが無事に接続しました。

Mappingタブを開いてCreate Mappingをクリックしましょう。

Contactをクリックしましょう。

Phone,HomePhone,MobilePhone,LastName,FirstName,Emailにチェックしましょう。Databaseからsalesforceに書き込みできるよにチェックする

saveをクリックしましょう。


アプリのページに戻ってOpen appをクリックしましょう。

salesforceに実在する取引責任者を選んで更新してみましょう。

入力した通りに電話番号が書き換えました。

2-3.Herokuアプリのローカル環境を整えよう
まずはsamplephonechangetest1のActivityをクリックしましょう。

次は環境構築の情報を確認しましょう。



Herokuアプリを実行できるローカル環境を整えましょう。先ずはバージョンが一致するNode.jsをインストールしましょう。
https://nodejs.org/ja/download/releases/

pgもインストールしましょう。
npm install pg@4.5.7
次はHeroku toolbeltをインストールしましょう。
https://devcenter.heroku.com/articles/heroku-cli


最後はgitをインストールしましょう。
https://gitforwindows.org/

ダウンロードした後にインストールしましょう。

cmdを開いて確認しましょう。
heroku --version
node --version
git --version
2-4.ローカル環境でのアプリ実行
まずはCMDを使いログインしましょう。
heroku login




次はgitでphone changeアプリをローカルにクローンしましょう。
git clone https://github.com/jamesward/heroku-connect-phone-change 自分が決めた名前

publicフォルダのindex.htmlを開きましょう。


クローンしたフォルダに入りherokuでリモートにしましょう。
cd 自分が決めた名前
heroku git:remote -a 自分が決めた名前
npm update
herokuを開いてアプリのセットを開きましょう。


Reveal Config Varsをクリックしましょう。

この値をコピーして以下命令を実行しましょう。

SET DATABASE_URL=`heroku config:get DATABASE_URL`
次はPGSSLMODEの命令を実行しましょう。
SET PGSSLMODE=require
npm start
3.Salesforce Connectの活用
Salesforce Connect では、ユーザが Salesforce 組織外に保存されているデータを表示、検索、および変更できるようにすることで、システムの境界を越えてデータをシームレスに統合できます。このセクションでは外部データソースを作成して実践を行います。
3-1.Lightning Connect Quickstartをインストールしましょう。
まず、Lightning Connectを行うためのパッケージをインポートしましょう。
https://developerforce.github.io/lightning-connect-tutorial/install-schema-package.html

以下内容を選択してインストールしましょう。

Set Customer IDsをクリックしましょう。

最後は完了をクリックしましょう。


アプリケーションマネージャーでlightningにアップグレードしましょう。

3-2.外部データソースを作成
まず、salesforce組織にログインした後にホーム画面に入ります。

検索欄から検索して外部データソースを選択しましょう。新規外部データソースをクリックしましょう。

外部データソースの名前をOrderDB、種別をSalesforce Connect:O Data 2.0、URlはhttps://orderdb.herokuapp.com/orders.svc/とする。保存ボタンを押しましょう

検証して同期を押しましょう

今回同期するのがOrderDetailとOrder、同期を押しましょう

外部オブジェクトを選択して同期成功したかを確認しましょう。

外部オブジェクトを一つ選んで確認しましょう。外部オブジェクトは基本的に__xで終わる

3-3.外部オブジェクトがデータアクセス用のタブを作成
まず、ホームの検索欄にタブを検索してクリックしましょう。次は新規を押しましょう。

まずはOrderのタブを作成しましょう。


3-4.外部参照関係のリレーションを作成
まずはOrderDetailを開いて

次はorderIDを開いて編集をクリック


データ型の変更をクリック

外部参照関係を選択する

関連先はOrderに変更する

文字数を18とする

参照可能にチェックしましょう。

保存しましょう。

orderタブから参照関係を確認しましょう。

適当に開いて関連性が着いたかを確認しましょう。


3-4.外部オブジェクトと標準オブジェクトに間接参照関係を作成
まずは外部オブジェクトを開きましょう。Orderをひらいてレコードを編集

カスタム項目customerIDを編集する



間接参照関係を選択する

関連先を取引先と選択する

Customer_ID_cを選択する


参照可能にチェックしましょう。


Orderタブを開いて詳細ページで確認しましょう。









