CData Software Blog

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

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

本記事で実現すること

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

Boomi AtomSphereとは

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

boomi.com

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

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アプリストアからダウンロードできる顧客リストを利用します。

手順

Boomi Atom へのアクセス

ブラウザでBoomi Atomにログインします。 https://platform.boomi.com/

ログインするとBuild タブのWelcomページが開きます。

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

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

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

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

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

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

on-Premise Atom deployment の作成

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

https://help.boomi.com/bundle/connectors/page/c-atm-Custom_Library_components_8844439e-657e-43eb-ab44-27568c52abed.html

ブラウザからBoomi Atom のManage > Atom Managementのタブを開きます。

+New > Atomを開きます。

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

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

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

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

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

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

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

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

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 ライセンス

コピー元 コピー先
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)してください。

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

Connectionの作成

Boomi Atom Users Guide - Connection components

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

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

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

パラメータ
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を選択します。

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

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

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

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

パラメータ
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の作成は完了です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mapの作成

Boomi Atom Users Guide - Map components

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

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

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

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

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

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

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

Processの作成

Boomi Atom Users Guide - Process components introduction

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

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

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

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

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

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

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

Processのテスト実行

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

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

実行結果の確認

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

まとめ

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

www.cdata.com