LoginSignup
7
8

More than 3 years have passed since last update.

SalesforceのCDCとMuleSoft Anypoint Platformを組み合わせたイベント駆動型のシステム連携

Last updated at Posted at 2019-05-13

この記事では「 Event-Driven Architecture with Salesforce and MuleSoft Anypoint Platform」の内容を参考に、SalesforceのCDC(Change Data Capture)とMulesoftのAnypoint Platformを組み合わせて、イベント駆動アーキテクチャによる外部システムとの(ほぼ)リアルタイムな同期機能を試作します。

前提

  • SalesforceのDeveloper Edtion環境を持っていること
  • Mulesoft Anypoint PlatformのFree Trialアカウントを持っていること
    ※ Design Centerで開発を行うため、ローカル環境へのAnypoint Studioのインストールの必要はありません。

SalesforceでCDC(Change Data Capture)を設定する

まずはSalesforceのDeveloper EdtionでCDC(Change Data Capture)の設定を行います。

  1. 設定画面で「キャプチャ」で検索して「変更データキャプチャ」を選択します。
    設定画面検索.JPG

  2. 変更データキャプチャ画面で、「取引先(Account)」を追加して保存します。
    変更データキャプチャ.JPG

SalesforceでのCDCの設定はこれだけです。これで取引先(Account)オブジェクトのCRUDの変更が公開された状態となります。

通知を受け取るAnypoint Platformのアプリケーションを作成する

次にMulesoftのAnypoint Platformに先ほど設定したSalesforceのCDC通知を受け付けるアプリケーションを作成します。

  1. Anypoint Platformで「Design Center」→「Create」→「Create New Application」を選択します。
    アプリ作成JPG.JPG

  2. 適当なアプリケーション名を入力して「Create」ボタンを押下。アプリケーションを作成してください。
      ※ 初期設定は行わず「Go straight to canvas」リンクでキャンバスを表示してください。
    キャンバス.JPG

  3. Triggerを選択し、以下を設定します。

    • Trigger:Salesforce Connector
    • Operation:Replay Channel
  4. 次にConfigurationで以下の設定を行ってください。

    • Streaming Channel:/data/AccountChangeEvent ※ 参考
    • Replay Option:From Replay Id
    • Reply Id:-1
      Config.JPG
  5. 「Click here to set it up」リンクを押下して、Salesforceの共通設定を行います。

    Connection → Connection typeで「Basic Username Password」を選択したのち、Developer EditionのUsername、Password、Security Tokenを設定してください。
    Selesfroce共通設定.JPG

  6. Salesforce Connectionの右横の「+」ボタンを押下してLoggerを追加します。
    Logger.JPG

これでMuleのアプリケーションの作成が完了しました。最後に右上の「Run」ボタンを押下してアプリケーションを起動します。

動作確認

では、動作確認をしてみましょう。Salesforceで取引先を更新してみてください。
Account Update.JPG

Anypoint PlatfromのDesign Centerに戻ってください。フローにグリーンのラインが入れば正常に動作しています。
※ 多少タイムラグが発生する場合があります。
green.JPG

SalesforceコネクタのOutputを確認してみましょう。変更されたデータが連携されていることが確認できます。
output.JPG

まとめ

SalesforceのCDC(Change Data Capture)とMulesoftのAnypoint Platformを組み合わせた簡単なイベント駆動型のデータ連携の方法を説明しました。今回のサンプルはとても簡単なサンプルになっていますが、Anypoint PlatformのExchangeで提供する様々なモジュールを利用することで、Salesforceと外部システムとのイベント駆動型の(ほぼ)リアルタイム連携を、コーディングを最小限に抑えた形で実現できることが想像できるかと思います。

おしまい

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8