今日のブログでは、その方法を紹介したい。 Marketoを主要なCRMやERPと同期させる 好む Dynamics CRM、Salesforce、SugarCRM、Dynamics AX、NAV.Marketoと他の業務システムを統合するメリットについては、以前のブログでご紹介しました。今回は、2つの異なるターゲットシステム(MarketoとDynamics CRM)間のショーケースを使って、簡単なSQL文を使った同期化のデモを行います。この目的のために使用するのは Connect Bridge と、そのMarketoとDynamics CRMのコネクタを使用しています。
なぜConnect Bridgeを使うのか?
通常、2つの異なるターゲットシステム(ここではMS Dynamics CRMサーバーとMarketo)と通信するためには、それぞれのターゲットシステムのAPIを知っておく必要があります。そのためには、APIの仕組みやソースコードの書き方を理解するための勉強が必要になります。
Connect BridgeとそのMarketoとCRMのコネクタを使用することで、ソリューションを理解し、うまく実装できるようになるまでに必要な時間を大幅に短縮することができます。主な違いは、Connect Bridgeを使用することで、開発者は簡単なSQL文を使用して各ターゲットシステムとの通信を行うことができるようになります。これは、ターゲットシステムの開発に使用されるスキーマやアーキテクチャが異なるため、ターゲットシステム自体のAPIを使用する場合には不可能です。Connect Bridgeでは、利用可能なコネクタを利用して、複数のターゲットシステムと同時に接続することも可能です。Connect Bridgeの詳細はこちら ホームページを見る.
何が必要なの?
まず、MS Dynamics CRMとMarketoに接続するための認証情報が必要です。Connect Bridgeを使用するため、CRMとMarketoのコネクタを備えたConnect Bridgeサーバーが必要です。
このデモでは、Marketo と Dynamics CRM のアカウントが Connect Bridge サーバに作成されていると仮定します。Connect Bridgeは、ターゲットシステムとの通信時に使用する認証情報(Dynamics CRMとの通信にはDynamics CRM認証情報、Marketoとの通信にはMarketo認証情報)を認識できるように、各アカウントのセットアップ時に各ターゲットシステムのユーザー認証情報を使用します。.
デモのためにVisual Studioを使用して、同期を行うシンプルなコンソールアプリケーションを作成します。
Connect Bridgeクエリアナライザツールを使って、SQL文とConnect Bridgeサーバから返される出力をデモしてみます。
解決策
コンソールアプリケーション
まず、コーディングを行う新しいコンソール・アプリケーションを作成する必要がある。ファイル」-「新規作成」-「プロジェクト」でコンソール・アプリケーションを選択する。.

次のステップは、Connect Bridgeサーバーにサービスリファレンスを追加することです。参照]を右クリックして、サービス参照を追加します。

Connect Bridgeサーバーがリッスンしているアドレスを入力し、サービス名前空間名を “CB ”に入力します。.

Connect Bridgeサーバサービスへの参照を追加したら、コードを書き始めることができます。
最初に、Connect Bridgeサーバで認証するために同期中に使用する資格情報とアカウント名を準備します。
public static string userName = "administrator". public static string password = "1234"; public static string password = "1234 public static string CRMAccountName = "CRMConnector"; public static string CRMAccountName = "CRMConnector public static string MarketoAccountName = "MarketoConnector"; public static string MarketoAccountName = "MarketoConnector
メインアプリケーションの本体に、ターゲットシステムへの接続を作成し、同期を行うためのコードを以下の行に記述します。
WsDriverClient MarketoClient = new CB.WsDriverClient("CBWsBasicBinding_IWsDriver").
WsConnection MarketoConnection = MarketoClient.CreateConnection(userName, password, MarketoAccountName, null).
WsDriverClient CRMClient = new CB.WsDriverClient("CBWsBasicBinding_IWsDriver").
WsConnection CRMConnection = CRMClient.CreateConnection(userName, password, CRMAccountName, null).
string selectSQL = "select priority, relativeScore, urgency, email, firstName, lastName from Lead;"。
WsResultSet resultMarketoLeadSelect = MarketoClient.Execute(MarketoConnection, new WsStatement() { SqlStatement = selectSQL })。
if (resultMarketoLeadSelect.IsSuccess)
{
//返された行を処理する
foreach (var row in resultMarketoLeadSelect.Row)
{
string insertSql = string.Format("insert into Lead(firstName, lastName, emailaddress1) values ('{0}', '{1}', '{2}')", row[4], row[5], row[3]).
var result = CRMClient.Execute(CRMConnection, new WsStatement() { SqlStatement = insertSql }).
}
}
上記のコードを入力したら、同期を行う準備ができました。コードが何をするのかを説明すると、主に3つの部分があります。
最初の部分はMarketoClientとMarketoConnectionです。このコードは、MarketoConnector、つまりMarketoターゲットシステムとの接続とステートメントの実行に注意を払っています。
2番目の部分はCRMClientとCRMConnectionです。このコードは、CRMConnectorとMicrosoft Dynamics CRMシステムとの接続とステートメントの実行を行います。
コードの3番目の部分は、同期化プロセスです。Marketo Connectorを使用して実行されるSELECT文を作成し、同期したいリードに関するデータを取得します。そして、返されたデータを繰り返し処理し、各レコードの挿入文を実行して、Dynamics CRMにリードを挿入します。デモでは、Marketoからメール、firstName、lastNameのみを取得し、Dynamics CRMに同期させています。
同期化
下のスクリーンショットからもわかるように、MarketoにはDynamics CRMに同期させたいリードが10件あります。
Query Analyzerツールを使用してリードを表示するには、Marketo接続を選択し、以下のSQL文を入れてクエリを実行します。
select priority, relativeScore, urgency, email, firstName, lastName from Lead.

同期したいリードを確認したら、前章で作成したコンソールアプリケーションを実行します。アプリケーションが同期の処理をしてくれます。
コンソールアプリケーションを実行した後、クエリアナライザツールとGUIを使ってリードが同期されたかどうかを確認することができます。
クエリアナライザーツールで結果を確認するには、CRM接続を選択し、以下のSQL文を実行します。
select leadid, emailaddress1, firstName, lastName, createdon from Lead order by createdon desc limit 10.

上のスクリーンショットを見ると、同期が成功し、MarketoからのリードがMS Dynamics CRMに同期されていることがわかります。
概要
この短いデモから、最小限の労力でいかに速くデータにアクセスできるかがわかります。このように、Marketoは 主要なCRMやERPだけでなく、CMS、DMS、電子メールなども利用可能.統合プロセスを完全に制御できるのは開発者であり、どのエンティティをどのように同期させるかは開発者が決定します。開発者は、あらゆる種類のコーディング言語を使用し、ODBC、JDBC、またはWebサービスを使用してConnect Bridgeサーバと通信することができます。複数のターゲットシステム間でSQL文をシンプルに使用することで、ターゲットシステムの直接APIを使用するよりも開発プロセスを効率的かつ迅速に行うことができます。熟練した開発者は、異なるターゲットシステム用の様々な同期スクリプトを作成し、強力なクロスターゲットシステム同期ツールを開発することができます。
また、お声をかけていただけると嬉しいです。 お問い合わせ 貴社のシステム環境にMarketoを簡単に統合する方法をご覧ください。.
