本記事ではCData Arcを利用し、SalesforceからGaroonへデータを読み込む方法を紹介します。
Garoon
サイボウズ社のGaroonは中堅・大規模組織向けのグループウェアで、5200社を超える導入実績があります。
garoon.cybozu.co.jp
シナリオ
今回はSalesforceのスケジュールデータをGaroonに取り込みます。 Salesforceのスケジュールデータを下に示します。
構成
今回のシステム構成を以下に示します。
CDataのCData Arcを使いSalesforceとGaroonとの連携を実現します。 CData ArcはノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。
事前準備
必要なもの
- Garoon
- Salesforce
- CData Arc
- CData Garoon ADO.NET Provider
- CData Salesforce ADO.NET Provider
CData Arcのインストール
CData Arcダウンロードページから、CData Arcの本体を入手できます。 必要に応じて、Windows、Java/Linux、Cloud Hostedのバージョンから選択してください。 ダウンロードしたインストーラを起動し、インストールウィザードに従ってインストールしてください。
CData ADO.NET Providerのインストール
CData ArcがSalesforce、Garoonとの接続を行うライブラリとしてCData ADO.NET Providerをインストールします。 それぞれ以下からダウンロードし、インストールウィザードに従ってインストールしてください。
CData Arcのフロー作成手順
コネクタの配置
今回は以下3つのコネクタを使用します。
- CDataコネクタ (Salesforceからのデータ入力用)
- CDataコネクタ (Garoonへのデータ出力用)
- XML Mapコネクタ
以下のようにコネクタを配置して接続してください。 コネクタを配置する際に名前を設定します。 今回はSalesforce接続用CDataコネクタを「Salesforce」、Garoon接続用CDataコネクタを「Garoon」、XML Mapコネクタを「SFtoGaroon」としました。
CData Salesforceコネクタの設定
CDataコネクタ「Salesforce」をクリックし設定画面を開きます。 「Data Source」で「CData Salesforce」を選択してください。
接続情報の設定
Salesforceへの接続情報を設定してください。 Salesforceへの接続にはUser, Password, SecurityTokenの設定が必要です。
「Test Connection」を押すと接続をテストできます。
データの選択
Salesforceから出力するデータを選択します。 設定画面下の「Mappings」で「Output」を選択してください。 「+」(Add Mapping)ボタンを押し、「Table or View」をクリックするとテーブル一覧が表示されます。
今回はSalesforceのスケジュールデータの「予定の名前(Subject)」、「予定開始日(StartDateTime)」、「予定終了日(EndDateTime)」をコピーします。 まずスケジュールデータが格納されている「Event」テーブルを選択し「Next」をクリックします。
フィールドの選択画面でSubject, StartDateTime, EndDateTimeの3つをチェックします。
チェックが完了したら「Save」をクリックして画面を閉じてください。
CData Garoonコネクタの設定
CDataコネクタ「Garoon」をクリックし設定画面を開きます。 「Data Source」で「CData Garoon」を選択してください。
接続情報の設定
Garoonへの接続情報を設定してください。 Garoon APIへの接続にはUser, Password, URLの設定が必要です。
二段階認証でBasic認証を設定している場合はBasic Auth PasswordとBasic Auth Userも設定してください。 Basic認証の設定項目は「Advanced」タブの「Authentication」セクションにあります。
ここでも「Test Connection」を押すと接続をテストできます。
データの選択
Garoonへ入力するデータを選択します。 設定画面下の「Mappings」で「Input」を選択してください。 「+」(Add Mapping)ボタンを押し、「Table or View」をクリックするとテーブル一覧が表示されます。
スケジュールデータが格納されている「Event」テーブルを選択し「Next」をクリックします。
Salesforceから読み込む「予定の名前(Subject)」、「予定開始日(StartDateTime)」、「予定終了日(EndDateTime)」に加え、 Eventテーブルへのレコード挿入時の必須項目であるStartTimeZone, EndTimeZone, EventTypeをチェックします。 また、Attendeesも必須項目ですが、ここではチェックしません。
チェックが完了したら「Save」をクリックして画面を閉じてください。
特殊項目の設定
GaroonのAttendees(出席者)はJson形式の値を要求します。 今回はAttendeesに固定値として以下のユーザを設定します。
[
{
"id": "2",
"name": "admin",
"type": "USER",
"code": "admin"
}
]
しかし、後述するXML MapではJson形式の固定値を設定できません。 そのため、ここでは出力フォーマットを直接書き換えて固定値を設定します。
Eventテーブルの「>
」(Code)をクリックしてください。
ここで出力フォーマットを設定します。 以下のように項目を加えて、上記のユーザデータを設定してください。
編集が完了したら「Save」をクリックして画面を閉じてください。
XML Mapコネクタの設定
フローの右端にある保存ボタンを押すとフローが保存されます。 フローを保存した後にXML Mapコネクタを開くと、下図のようにデータ入力元の「Source File」とデータ出力先の「Destination File」が設定された状態になります。
「Mappings」では入力項目と出力項目とのマッピングを設定します。 今回は以下の通りマッピングを設定します。 StartTimeZone, EndTimeZone, EventTypeはGaroonのEventテーブルへのレコード挿入時に必須のフィールドなので、何らかの値をマッピングする必要があります。 ここではそれぞれ固定値を設定します。
出力データ(Garoon) |
値 |
StartDateTime |
SalesforceのStartDateTime |
EndDateTime |
SalesforceのEndDateTime |
Subject |
SalesforceのSubject |
StartTimeZone |
"Asia/Tokyo" |
EndTimeZone |
"Asia/Tokyo" |
EventType |
"Regular" |
各項目をマウスオーバーしたときに表示される「Expression」ボタンをクリックすると値を入力する画面が表示されます。
固定値を指定する場合はその値を入力します。入力項目の値を反映させる場合は「Dynamic Content」の項目名をクリックします。
ここでは上のマッピングに従って下図の通り設定してください。
データの送信
CData Salesforceコネクタの「Output」タブにある「Recieve」を押すとフローが起動します。
結果の確認
データ取り込み前のスケジュール画面は下図の通りです。
データ取り込み後の画面を表示します。 SalesforceのスケジュールデータがGaroon上に反映されていることが確認できます。
おわりに
今回はCData Arcを使ってSalesforceからGaroonへスケジュールデータの取り込みを行いました。 CData Driversと組み合わせることで、Garoonと200を超えるクラウドサービスとのデータ連携がノーコードで実現できます。
Garoonのデータ連携をお考えの方はぜひご検討ください。
関連コンテンツ