4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MuleSoftのAnypointテンプレートを使ってインテグレーション開発を加速

Last updated at Posted at 2014-12-23

##始めに

企業は顧客対応業務を支えるためCRMソリューションを導入しました、但し単なる顧客管理アプリケーションはビジネスに足りない。多数システムから顧客データを集めてCRMを通して適切に呈するのは求めているアーキテクチャです。わたし前勤めていた会社は顧客データを集まるため17個のシステムと連携しました、のそためODSプラットフォームで ECIF (Enterprise Customer Information Facility)も作りました。多数システムで顧客データが持ってない企業様もありますが、施策やレガシー、買収などのケースによって複数CRMシステムを持っているかもしれません。企業全体の顧客データの統合は主要な課題です。

この場MuleSoft (ミュールソフト)をご紹介します。MuleSoftは世の中のアプリ、データ、デバイスのコネクターです。MuleSoftのdataloder.ioはUSのAppExchangeの人気ランキング1位のデータツールですし、Anypoint プラットフォームを使って簡単にSaaS、SOAおよびAPI連携できるインテグレーションプラットフォームです。

現在様々な要因により企業は複数のSalesforceインスタンスを持つのは普通に見えてます。組織と組織間が連携の課題を解けるよう、MuleSoftは一般的利用できるAnypoint テンプレートを用意されてる。こちらのテンプレートを使って簡単に設定すれば素早くアプリケーションが連携できます。さらにAnypoint スタジオの拡張でそれ以上のSalesforceと外部システムのインテグレーションもサポートしています。

##使用例
Salesforce to Salesforceの連携シナリオを想定して、リアルタイムで商談の双方向同期を実装します。

1、Anypoint スタジオをインストールします。
完了しましたらこのようの見えます。
スクリーンショット 2015-09-10 17.26.37.png

2、テンプレートを導入
スタジオでツールバーの二番目"library"スクリーンショット 2014-12-15 17.09.56.pngボタンをクリックします。ライブラリーで様々なテンプレートあります、今回は"Salesforce Org to Org Opportunity"を検索して"Salesforce Org to Org Opportunity Bi-Directional Sync"を選びます。(Webからもダウンロードできます)
スクリーンショット 2014-12-15 16.00.15.png

Open in Studio をクリックして導入完了です。画面はこの感じです。
スクリーンショット 2014-12-15 16.13.56.png

コンパイルエラーの場合Javaコンパイルバージョンを1.5以上設定します。

3、コンポーネント説明
・enpoints.xml
二つのフォローで各自組織から商談をプルします。毎回一方向のみというインテグリティを保証するためexpressionコンポーネントを使って商談の同期をロックします。Salesforceコネクターに目的組織とQuery用SOQLが設定しています。
スクリーンショット 2014-12-15 17.39.23.png

・businessLogic.xml
こちらも二つフォローあります、一つ目は組織Aから組織Bへの処理で、二つ目はその逆組織Aから組織Bへの処理です。両方のフォローはバッチモジュールに含まれるので大量データも簡単に処理できます。一つ目のフローの左側見ると、"query opportunity from B"という組織Bから商談を取得するのSalesforceコネクターがあります、両組織では商談名でレコードをマッチしてます。そして組織Bで取引先を探して、ないの場合は取引先を作成します。それから商談のデータを用意して組織BにUpsertします。最後にロックを解除して処理が終わります。二つ目フォローはロジックが同じでただ方向が逆になります。
スクリーンショット 2014-12-15 18.15.57.png

・mule.[env].properties
組織の認証情報はpropertyファイルに保存されてます、環境によって複数ファイルにわけます。

4、実装
今度の手直しの部分は"mule.dev.properties"ファイルに認証情報を入れるだけで、それ以外の部分は編集不要です。
その中のurlプロパティーは、SOAP API用のurlです。
スクリーンショット 2014-12-16 9.13.04.png

5、デプロイ (オプション)
MuleSoftの運用環境はCloudHubというクラウドサービスだけでなく、MuleESBを通じてオンプレミスシステムも使用可能です。今回はCloudHubにデプロイします。
cloudhub.ioでフリーアカウントを登録します。
・プロジェクトを右クリック > "CloudHub" > "Deploy to CloudHub"。
・認証情報、ドメイン情報を入れて"Finish"をクリックしてデプロイ完了です。
スクリーンショット 2014-12-18 11.17.52.png

6、検証
デプロイせずローカルで検証すると、プロジェクトを右クリック > "Run as" > "Mule Application"をクリックすると実行始まります。
CloudHubにデプロイした場合は、アプリは自動で開始します。"Settings"メニューで開始と停止がコントロールできます。
コンソールや"Logs"メニューから以下のログが見えますとプログラムが正しく動いてます。
スクリーンショット 2014-12-18 11.36.11.png

例え"Edge SLA"という名前の商談をテストすると、左側組織の金額を7万円に修正して、右側組織の金額も自動更新されます。
スクリーンショット 2014-12-15 20.17.20.png

ログで処理している商談Idや結果が見えます。
スクリーンショット 2014-12-18 11.43.29.png

これは商談の双方向同期の実装です、1週間や1日にもかからず5分でを完了しました。

##最後に
現在MuleSoftはSalesforce対応するテンプレートが50個以上用意されて、取引先、取引先責任者、商談、リードなどの標準オブジェクトを中心としてSalesforce to Salesforce、Salesforce to SAP、Salesforce to Siebelなどの連携シナリオをサポートしています。開発者に対してすぐ使える、参考してすぐ作れるのテンプレートの存在は、開発時間も月単位ではなく週単位で大幅削減できます。

テンプレートについて簡単にご紹介しましたが、カスタマイズとか開発などの内容は今後パソナテキーラのブログに書きます!

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?