本記事で実現すること
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 Atom は、標準で様々なデータソースに接続するコネクターを装備しています。ユーザーズガイドによると、SaaSなどのApplicattion、MQなどのEvent-driven、EDI / FTP / HTTP / LDAP / MAILなど通信プロトコルベースのTechnology、そして利用者がSDKをもとに自身が利用したいコネクターを開発できるCustomの4つに分類されるようです。特にiPaaSプラットフォームとして重要なSaaSなどのApplicationコネクターだけでも150を超えるデータソース に対応しています(2020/01現在)。
前提
- Boomi Atom のアカウント(30日のFree Trial あり)
- Sansanのアカウント、および、APIKey
- kintoneのREST 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連携を実現します。
ブラウザから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 | 部署名 |
メールアドレス | |
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)のデータソース とのデータ連携が必要となる場合は是非お試しください。