Trailheadを見ながらMuleSoftを試してみました。
Trailheadのモジュールについては日本語翻訳はまだですが、日本語翻訳すればだいたい内容の確認はできる感じです。
MuleSoftはSalesforce社の製品の一つでシステム連携に関する仕組みを構築できるものです。なかなか触る機会の無い製品の一つだと思っていましたが、専用のDeveloper Edtion組織が用意されていて開発者がさわってみることができるようになっていました。(※30 日間無料のトライアル組織とのことです。)
ちなみにMuleSoftのユーザはSalesforceアカウントと違い、メールアドレス形式ではありませんでした。
サインアップページで必要事項を入力するとすぐに組織が用意されます。
アカウントを作成すると認証コードがメールで届きます。それを画面に入力すればアカウントの作成が完了となります。
Trailheadチャレンジの組織認証ですが、MuleSoftの組織を紐つけるための専用ボタンとなっていました。
これでTrailheadにMuleSoftの組織を紐つけてチャレンジを進めることができました。
API仕様の作成
Design CentertのStart Designボタンをクリックします。
これがAPI仕様を作成するための画面とのことです。
Craete+ボタン→New API specificationを選択します。ポップアップが表示されるので必要事項を入力するのですが、GitHub連携もできるようです。(GitHub連携は省略可)
作業用の画面が作成されます。
MuleSoftではブランチ管理の仕組みもあるようです。
中央のテキストボックス、ここがAPIの定義する箇所とのこと。デフォルト値を削除してTrailheadのコードを貼り付けました。保存ボタンは特に無いようです。
API仕様をテストする
画面右側のアイコンから操作できるとのこと。
Mocking Serviceのpublicボタンでテスト用にAPIを公開できます。
Documentアイコンを選択します。
GETのラベルをクリックするとテスト実行の画面が表示されます。
画面上で必要なパラメータを指定できます。
SendボタンをクリックするとAPIが実行されて結果が帰ってきます。
API仕様を公開する
最初にテストのために公開したモッキングサービスのAPIを無効化します。
次に画面右上のpublishボタンからAPI仕様を正式に公開します。
必要事項を入力して公開ボタンをクリックすれば設定完了です。
ここまででTrailheadの「MuleSoft の Anypoint プラットフォームで API 仕様を構築、テスト、共有」の操作を試せた感じとなりました。
複数の Salesforce 組織を MuleSoft Anypoint Platform と統合する
ここからは次のTrailheadコンテンツです。MuleSoft組織とSalesforce組織を紐つけます。
2 つの新しい Trailhead Playgroundを作成します。Salesforce×2とMuleSoftで統合を試してみる話となります。Trailhead playgroundの作成はいつもの手順なので省略。作成後はパスワードを設定して準備完了です。
ログインIPアドレスの設定
システム管理者プロファイルを対象に指定の設定をします。(全部許可する感じ。)
Anypoint Platform での統合のデプロイ
最初に完成されたサンプルアプリケーションを取得します。
Anypoint Runtime Managerを起動します。
ProductとSandboxが選択できるのでSandboxを選択します。
これがRuntimeの操作画面です。
Application Deployボタンでアプリケーションの設定画面が表示されます。
アプリケーション名の入力を行い、先程ダウンロードしたJavaファイルをアップします。
プロパティタブを選択します。
このように接続するSalesforce組織の認証情報を設定します。
protectボタンをクリックすることで設定された情報は保護されます。運用時にはこれで保護します。今回はハンズオンチャレンジでTrailheadが内容を確認するため保護しないで進めるようにと記載がありました。
必要事項を入力できたらDeployボタンをクリックして作業完了です。アプリケーションのデプロイに少し時間がかかります。
アプリケーション作成後も裏ではまだ処理が続いています。
StatusがRunningになったら準備完了となります。
今回しようしたJavaのサンプルアプリケーションですが、もし内容を見てみたい場合はAnypoint Studioを使用するようにとTrailhead内でリンクが紹介されていました。
Salesforce での統合をテストする
1つ目のSalesoforce組織でケースを作成します。
作成後、2つ目のSalesforce組織を見てみるとケースのデータが連携されていることを確認できます。
Salesforce組織→MuleSoft→Salesforce組織のデータ連携を見ることができました。
Salesforce と外部データベースを MuleSoft Anypoint Platform と統合する
最後にSalesforceと他システムのデータ連携の話です。
Amazon DynamoDB から Salesforceに連携する感じとのこと。
今回もMuleSoftのサンプルJavaアプリケーションが用意されているのでそれを使います。
手順は先程と同じでRuntime Managerの画面で設定します。
プロパティで認証情報を定義しますが、Trailheadチャレンジを進める分にはSalesforce側の定義のみで進められるとのこと。(AWS側は用意しなくてもOK)
DeployボタンでアプリケーションをデプロイしてStatusが緑になったらOKです。
AWS→Salesforce連携の動作確認
デプロイしたアプリケーションの詳細ページにアクセスします。
public endpointのリンクをクリックすると何か処理が動きます。
Salesforceを見に行くとリードが作成されていることを確認できます。
これが他システムとSalesforceのデータ連携の設定イメージです。Javaアプリケーションの用意が別途必要になりますが、MuleSoft側の設定は非常にシンプルでした。Javaアプリケーションの中身をAnypoint Studioで確認してそれをベースに開発していけばMuleSoftをつかったデータ連携の実現が進められるのかなと思います。