CData Software Blog

クラウド連携のCData Software の技術ブログです。

Dell Boomi のiPaaS「Boomi AtomSphere」を使ってSansan の名刺データをkintone の顧客リストアプリに連携してみた

本記事で実現すること

CData Japan技術ディレクターの桑島です。本記事ではBoomi Atom のDatabaseコネクタ(JDBCインタフェース)経由で CData JDBC Driversを利用することで名刺管理サービスのSansanからサイボウズ社の業務アプリ構築クラウドサービスkintoneに名刺データを連携します。

f:id:kuwazzy:20200127171139p:plain

Boomi AtomSphereとは

Boomi AtomSphere(以下、Boomi Atom)とは、Dell Technologies社傘下のDell Boomi社が提供するシングルインスタンス、マルチテナントアーキテクチャを特徴としているデータ統合サービス(iPaaS)です。データ統合機能だけでなく、マスターデータのハブ機能、EDI、APIManagement、WorkFlowといったビジネスユースに必要なデータ連携のすべてを実現する機能をシングルプラットフォームで提供しており、グローバルのリサーチ会社の調査ではiPaaS分野のLeadersとしてポジショニングされています。

f:id:kuwazzy:20200127164210p:plain

boomi.com

Boomi Atom は、標準で様々なデータソースに接続するコネクターを装備しています。ユーザーズガイドによると、SaaSなどのApplicattion、MQなどのEvent-driven、EDI / FTP / HTTP / LDAP / MAILなど通信プロトコルベースのTechnology、そして利用者がSDKをもとに自身が利用したいコネクターを開発できるCustomの4つに分類されるようです。特にiPaaSプラットフォームとして重要なSaaSなどのApplicationコネクターだけでも150を超えるデータソース に対応しています(2020/01現在)。

f:id:kuwazzy:20200127165047p:plain

boomi.com

前提

  • Boomi Atom のアカウント(30日のFree Trial あり)
  • Sansanのアカウント、および、APIKey
  • kintoneREST APIを利用できるスタンダードコース以上のアカウント(30日間のお試しあり)
  • CData JDBC Driver for Sansan (30日間の評価版あり)
  • CData JDBC Driver for Kintone (30日間の評価版あり)
  • on-premise Atom deployment(onPremise連携用のゲートウェイ製品)、および、CData JDBC Driversをインストール可能なWindowsマシン(CloudのAtomSphere platform、および、Sansan、kintoneのWebAPIにアクセスできる環境であること)
  • JRE(Boomi Atom バンドルのJREを利用)

名刺データを取り込むkintoneアプリは、kitoneアプリストアからダウンロードできる顧客リストを利用します。

f:id:kuwazzy:20200128141151p:plain

手順

Boomi Atom へのアクセス

ブラウザでBoomi Atomにログインします。 f:id:kuwazzy:20200127172359p:plain https://platform.boomi.com/

ログインするとBuild タブのWelcomページが開きます。 f:id:kuwazzy:20200127172511p:plain

Boomi Atom Trial版での制約事項(注意

Boomi Atom の下記ヘルプを参照するとSaaS連携だけであればクラウドポンチ絵の左側)だけで完結するアーキテクチャになっています。

f:id:kuwazzy:20200128142612p:plain

クラウドのAtomSphre PlatformへのJDBCのJarファイルは、下記Account Librariesという画面からアップロードできる仕組みになっているようです。 f:id:kuwazzy:20200127182353p:plain https://help.boomi.com/bundle/connectors/page/c-atm-Custom_Library_components_8844439e-657e-43eb-ab44-27568c52abed.html

アップロードされたJDBCのJarファイルは、Custom Libraryから呼び出すことができます。 f:id:kuwazzy:20200127182753p:plain

ただし、Boomi Atom のTrial環境だとクラウドのデプロイ環境で利用使用しようとすると View Edition&Pricingのダイアログが表示されてそれ以上進めることができないようです。 f:id:kuwazzy:20200127182913p:plain

この状態でConnectionを作成してSansanなどのデータソースに接続しようとしても下記のようにJDBCドライバが見つからない旨のエラーが発生するようです。 f:id:kuwazzy:20200127183138p:plain

on-Premise Atom deployment の作成

上記Trialの制約があるので、今回は、下記ポンチ絵の on-Premise Atom deployment (右上の青部分)を利用する構成としました。この機能を利用することでOn-Premise側に配置したCData JDBC Driver経由でのSaaS連携を実現します。

f:id:kuwazzy:20200128143036p:plain https://help.boomi.com/bundle/connectors/page/c-atm-Custom_Library_components_8844439e-657e-43eb-ab44-27568c52abed.html

ブラウザからBoomi Atom のManage > Atom Managementのタブを開きます。 f:id:kuwazzy:20200127172629p:plain

+New > Atomを開きます。 f:id:kuwazzy:20200127180802p:plain

Atom Setupダイアログが開くので、ブラウザを開いているマシンのOS(本例ではWindows10Pro 64bit)のSetupファイルをダウンロードします。 f:id:kuwazzy:20200127180841p:plain ダウンロードした「atom_install64.exe」を実行するとインストーラが起動します。 f:id:kuwazzy:20200127181028p:plain Setup Wizardを進めます。 f:id:kuwazzy:20200127181047p:plain ブラウザからBoomi Atomへのログインする時のUser・Passwordをセットして、Atom Nameはデフォルトのまま、次に進みます。 f:id:kuwazzy:20200127181104p:plain on-Premise Atom deploymentのインストールディレクトリ(デフォルト)を指定して次に進みます。 f:id:kuwazzy:20200127181121p:plain Setup Wizardを終了(Finish)します。 f:id:kuwazzy:20200127181135p:plain ブラウザからBoomi Atom のManage > Atom Managementのタブを開いて、上記で作成したon-Premise Atom Deploymentが起動していることを確認します。なお、Windowsマシンの場合、サービスからも起動を確認できます。 f:id:kuwazzy:20200127181200p:plain

on-Premise Atom deploymentの作成は以上です。

CData JDBC Drivers for Sansan / kintone のインストール

on-Premise Atom deploymentを作成したマシンに、CData JDBC Drivers製品をインストールします。

まずはじめに、Sansan用のJDBC Driverをインストールします。こちらのサイトから製品(評価版も同リンク)をダウンロードしてください。

f:id:kuwazzy:20200127202959p:plain

ダウンロードしたSansanJDBCDriver.zip の中にsetup.jar が含まれているのでインストーラを実行します。 f:id:kuwazzy:20200127203209p:plain

ウィザードに従ってインストールを完了します。途中オンラインアクティベーションのためCData社のライセンスサーバーへの通信が発生します。外部ネットワークに接続するのにプロキシサーバーなどがあり通信出来ない場合はエラーとなりますので、その旨、CData社のサポートまでお問い合わせください。

f:id:kuwazzy:20200127203301p:plain

同様に、kintone用のJDBCドライバもインストールを完了させます。こちらのサイトから製品(評価版も同リンク)をダウンロードしてください。

f:id:kuwazzy:20200127203328p:plain

on-Premise Atom deployment モジュールへのJDBCドライバの配置

以下のJDBC DriversファイルをCData製品のインストールフォルダからon-Premise Atom deploymentインストールパス配下のパスにコピーします。

ファイル 備考
cdata.jdbc.kintone.jar Kintne JDBC Driver 本体
cdata.jdbc.kintone.lic Kintne JDBC Driver ライセンス
cdata.jdbc.sansan.jar Sansan JDBC Driver 本体
cdata.jdbc.sansan.lic Sansan JDBC Driver ライセンス

f:id:kuwazzy:20200127190055p:plain

コピー元 コピー先
C:\Program Files\CData\CData JDBC Driver for Kintone(or Sansan) 2019J\lib C:\Boomi AtomSphere\Atom - 10.211.55.9\lib

コピーしたらBoomi Atomをブラウザからリスタート(Restart Atom)してください。 f:id:kuwazzy:20200127190129p:plain

作成したon-Premise Atom deployment のInstalledLibraries にJDBCのJarファイルが表示されれば成功です。

f:id:kuwazzy:20200127203659p:plain

Connectionの作成

Boomi Atom Users Guide - Connection components

Boomi Atom からデータソースに接続するためのConnectionを作成します。BuildタブのWelcom画面の「Component > Connetion」を選択するとCreate Componentウィザードが開きます。 f:id:kuwazzy:20200127203538p:plain

Sansanへの接続用のConnection設定として以下の値をセットします。

パラメータ
Type Connection
Component Name ConnectionCDataSansan
Folder 任意のパス(本例ではデフォルト)
Connector Database

f:id:kuwazzy:20200127205008p:plain

パラメータ
Driver Type Custom
Class Name cdata.jdbc.sansan.SansanDriver
User Name 本来であれば不要ですが、空のままだと後の手順でバリデーションエラーが発生するので適当な値をセットします
Password 本来であれば不要ですが、空のままだと後の手順でバリデーションエラーが発生するので適当な値をセットします
Connection URL jdbc:sansan:APIKey=XXXXXXXXXXXXXXXXXXX;
  • APIKeyは実際の値をセットしてください。
  • Connection URLに、Range=me;を追加すると自身の登録した名刺データのみアクセスできるようになります。

Connection URLの詳細は、CData JDBC for Sansanの製品マニュアルをご覧ください。

Connectionの値を設定したら接続テストを行います。右上のTest Connectionボタンをクリックします。実行するAtomを選択する画面が表示されるので、上記手順で作成したon-Premise Atom deploymentを選択します。

f:id:kuwazzy:20200127203624p:plain

テスト接続が成功することを確認してFinishボタンでウィザードを閉じます。

f:id:kuwazzy:20200127203841p:plain

作成した Sansanへの接続Connectionを保存(Save)します。

f:id:kuwazzy:20200127203858p:plain

続いてkintone接続用のConnectionをSansanと同じ手順で作成します。

f:id:kuwazzy:20200127203917p:plain

パラメータ
Type Connection
Component Name ConnectionCDataKintone
Folder 任意のパス(本例ではデフォルト)
Connector Database

f:id:kuwazzy:20200127203932p:plain

パラメータ
Driver Type Custom
Class Name cdata.jdbc.kintone.KintoneDriver
User Name 本来であれば不要ですが、空のままだと後の手順でバリデーションエラーが発生するので適当な値をセットします
Password 本来であれば不要ですが、空のままだと後の手順でバリデーションエラーが発生するので適当な値をセットします
Connection URL jdbc:kintone:User=XXXXX;Password=XXXXX;URL=https://XXX.cybozu.com/;
  • User, Password, URL内のサブドメインは実際の値をセットしてください。

Connection URLの詳細は、CData JDBC for Kintoneの製品マニュアルをご覧ください。

Sansanとkintone接続用の2つのConnectionが作成できたことを確認してConnectionの作成は完了です。

f:id:kuwazzy:20200127203951p:plain

Profileの作成

Boomi Atom Users Guide - Profile components

ProfileとはSQL(SELECT/INSERT/UPDATE/DELETE)実行時のフィールド定義です。はじめにSansanのBizcard(名刺情報)からSELECTするProfileを作成していきます。

パラメータ
Type Profile
Component Name ProfileCDataSansan
Folder 任意のパス(本例ではデフォルト)
Profile Format Database

f:id:kuwazzy:20200128063222p:plain

以下のパラメータをセットしたら右上のImportボタンをクリックします。

パラメータ
Display Name デフォルトのまま
Type Select

f:id:kuwazzy:20200128064028p:plain

Database Import Wizardが開くので、以下のパラメータをセットして次に進みます。

パラメータ
Browse in 上記手順で作成したon-Premise Atom deployment
Connection 上記手順で作成したSansanへの接続Connection(本例ではConnectionCDataSansan)

f:id:kuwazzy:20200128064219p:plain

Sansan内のオブジェクトがテーブル一覧として表示されます。今回は名刺データを取得したいのでBizcardsのチェックをオンにして次に進みます。

f:id:kuwazzy:20200128064527p:plain

Bizcardsテーブル内のカラム一覧が表示されます。今回は全ての項目のチェックをオンにして次に進みます。

f:id:kuwazzy:20200128064805p:plain

Importウィザードが完了します。

f:id:kuwazzy:20200128064937p:plain

DataElementsのFieldアイコンをクリックするとBizcards内のカラムが定義されていることを確認できます。また、SQL Scriptには取得時のSQL(SELECT)が表示されています。作成したProfileを保存します。

f:id:kuwazzy:20200128065129p:plain

続いて、kintoneの顧客リスト にINSERTするためのProfileを作成します。

パラメータ
Type Profile
Component Name ProfileCDataKintone
Folder 任意のパス(本例ではデフォルト)
Profile Format Database

SansanのProfileと同様にWelcomeの画面からProfileを選択します。kintone側は書き込み(INSERT)なので、Profile画面のOptionsタブを開き、Execution TypeをWriteに変更します。

f:id:kuwazzy:20200128065514p:plain

以下のパラメータをセットしたら右上のImportボタンをクリックします。

パラメータ
Display Name デフォルトのまま
Type Dynamic Insert

f:id:kuwazzy:20200128065756p:plain

Database Import Wizardが開くので、以下のパラメータをセットして次に進みます。

パラメータ
Browse in 上記手順で作成したon-Premise Atom deployment
Connection 上記手順で作成したkintoneへの接続Connection(本例ではConnectionCDataKintone)

kintone内のアプリがテーブル一覧として表示されるので、今回は顧客リストに名刺データを取り込みたいので顧客リストのチェックをオンにして次に進みます。

f:id:kuwazzy:20200128070119p:plain

顧客リストテーブル内のカラム一覧が表示されます。今回は全ての項目のチェックをオンにして次に進みます。

(注意) テーブル名や項目名にかっこ()が含まれる場合、ジョブ実行時に構文エラーとなってしまうようです。今回は、kintone側の顧客リストアプリのフィールド定義にカッコが含まれる「FAX(数字のみ) / TEL(数字のみ) / 郵便番号(数字のみ)」3つの項目のフィールド名を「FAX数字のみ / TEL数字のみ / 郵便番号_数字のみ」アンダーバーに変更しています。

f:id:kuwazzy:20200128070755p:plain

Importウィザードが完了します。DataElementsのFieldアイコンをクリックすると顧客リスト内のカラムが定義されていることを確認できます。また、Table Nameに顧客リストがセットされています。作成したProfileを保存します。

f:id:kuwazzy:20200128070908p:plain

Connector Operationの作成

Boomi Atom Users Guide - Connector Operation components

Connector Operationは、Connectionによって定義されたアプリケーションまたはデータソースに対する特定のアクションまたはAPI呼び出しを表します。まずは、SansanからGet(SELECT)するOperationを作成していきます。

パラメータ
Type Connector Operation
Component Name OperationCDataSansanSelect
Folder 任意のパス(本例ではデフォルト)
Profile Format Database

f:id:kuwazzy:20200128092116p:plain

以下のパラメータをセットしたら保存します。

パラメータ
Connector Action Get
Profile 上記手順で作成したSansanのProfile(本例では、ProfileCDataSansan)
Link Element デフォルトのまま
Batch Count デフォルトのまま
max Rows デフォルトのまま

f:id:kuwazzy:20200128092448p:plain

続いて、kintoneにSend(INSERT)するOperationを作成します。Connector ActionはSendになりますのでご注意ください。

パラメータ
Connector Action Send
Profile 上記手順で作成したkintoneのProfile(本例では、ProfileCDataKintone)
Commit Option デフォルトのまま
Batch Count デフォルトのまま
JDBC Batching オン(JDBCのBatch processingで動作)

f:id:kuwazzy:20200128094011p:plain

作成したOperationを保存します。

Mapの作成

Boomi Atom Users Guide - Map components

Welcomeの画面からMapを選択します。

f:id:kuwazzy:20200128094553p:plain

Map名を設定(本例ではMapSansan2Kintone)して、左右のChooseボタンをクリックして、左側のペインにはSansanのプロファイル(本例ではProfileCDataSansan)、右側のペインにはkintoneのプロファイル(本例では、ProfileCDastaKintone)を選択します。Fieldsアイコンを開くとSansanの名刺データとkintoneの顧客リストのカラムリストが表示されます。 f:id:kuwazzy:20200128094747p:plain

まず、単純な項目レベルでマッピングできる以下の項目をドラッグ&ドロップ操作でマッピングします。

Sansan Kintone
Address 住所
CompanyName 会社名
DepartmentName 部署名
Email メールアドレス
Memo 備考
PostalCode 郵便番号_数字のみ

f:id:kuwazzy:20200128100005p:plain

真ん中のFunctionペインのプラス(+)ボタンからString Append関数を追加してOriginal StringにSansanのLastName(姓), Char to AppendにFirstName(名)、Resultにkintoneの担当者名のマッピングを作成します。

f:id:kuwazzy:20200128100310p:plain

Sansanの名刺データのTEL(電話番号)とFAXはハイフン区切りでデータが格納されていますが、kintoneの該当項目(FAX数字のみ、TEL数字のみ)は数字のみ格納可能なのでStringRemove関数でハイフン(-)を取り除き、以下の通りマッピングします。

f:id:kuwazzy:20200128133817p:plain

作成したMapを保存します。

Processの作成

Boomi Atom Users Guide - Process components introduction

連携フローのメインComponentとなるProcessを作成します。Welcome画面からProcessをクリックします。

f:id:kuwazzy:20200128102859p:plain

Start Shapeのプロパティに以下のパラメータをセットしたらOKをクリックします。

パラメータ
Display Name 任意の名称(本例ではSasanGet)
Connector Database
Action Get
Connection 上記手順で作成したSansanのConnection(本例では、ConnectionCDataSansan)
Operation 上記手順で作成したSansanのOperation(本例では、OperationCDataSansanSelect)

f:id:kuwazzy:20200128133952p:plain

上記で作成したStart Shapeの後続として、上記で作成したMap(本例ではMapSansan2Kintone)をポインタを結合させて配置します。

f:id:kuwazzy:20200128134418p:plain

さらにMapの後続としてDatabase Connectorをドラッグ&ドロップ操作で配置して下記のプロパティをセットしてポインタを結合させます。

パラメータ
Display Name 任意の名称(本例ではKintoneSend)
Connector Database
Action Send
Connection 上記手順で作成したkintoneのConnection(本例では、ConnectionCDataKintone)
Operation 上記手順で作成したkintoneのOperation(本例では、OperationCDataKintoneInsert)

f:id:kuwazzy:20200128140058p:plain

作成したProcessを保存(Save)してください。

f:id:kuwazzy:20200128135123p:plain

Processのテスト実行

それでは、作成したProcessをテスト実行してみます。右上のTestボタンをクリックして実行するAtom(on-Premise Atom deployment)を選択してRun Testをクリックします。

f:id:kuwazzy:20200128135347p:plain

右下にSuccessfullyのメッセージダイアログが表示されれば成功です。

f:id:kuwazzy:20200128135448p:plain

実行結果の確認

kintoneの顧客リストのレコードリストを確認するとSansanの名刺データが追加されていれば成功です。

f:id:kuwazzy:20200128140236p:plain

まとめ

本記事では、Sansanからkintoneへのデータ連携を例にご説明しましたが、同じ方式でCData JDBC Driversが提供する150を超えるデータソース に接続することができます。Boomi Atomがサポートしていないデータソース 、特に日本発のSaaS、PCA Cloud、 スマレジ、クラウドサイン、MoneyForword、ECサイト系(Yahoo SHopping、Lohaco、au Wowma、Ponparemall)のデータソース とのデータ連携が必要となる場合は是非お試しください。

www.cdata.com