ソフトウェアロボット BizRobo! で CData JDBC Driver を使う方法:Google Spreadsheet からデータを取得する

f:id:sugimomoto:20220307171349p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回は国内で数多くの導入実績を誇るソフトウェアロボット BizRobo! と CData JDBC Driver を組み合わせて、様々なクラウドサービスのデータを取得・自動化するための方法を紹介したいと思います。

BizRobo! とは?

BizRobo! はRPAテクノロジーズ株式会社が提供する低コストかつスモールスタートで利用できるRPAツールです。

rpa-technologies.com

f:id:sugimomoto:20220307164931p:plain

ノンITでもスムーズにロボットが開発できるローコードなインターフェースが特徴的ですね。

f:id:sugimomoto:20220307164937p:plain

ロボットは様々なアクションを組み合わせて構成していきます。RPAツールの特徴でもあるUIベースの操作はもちろんのこと、Webサービスの呼び出しやファイルシステム操作など多様なアクションが備わっています。

そんなアクションの中にはJDBC経由でデータベースに接続できるものも提供されており、CData JDBC Driverと組み合わせることで、CData が対応している様々なデータソース と手軽に連携ができるようになります。

f:id:sugimomoto:20220307164942p:plain

今回の記事ではこのBizRobo!のデータベースアクションとCData JDBC Driver を使って、BizRobo! から Googleが提供する表計算サービス「Google Spreadsheet」を連携する方法を紹介したいと思います。

www.cdata.com

シナリオ

今回は前述の通り、シンプルな連携方法として、Google Spreadsheet から CData JDBC Driver経由でデータを取得するロボットを作成します。

最終的に作成するフローは以下のようなイメージとなります。

f:id:sugimomoto:20220307165212p:plain

BizRobo! はRPAなので、Google Spreadsheet の UI上からデータを取得して処理するといったことも考えられますが、Google Spreadsheetは単純なHTMLで構成されていないことから、結構アクセスするのが大変ですよね。

また、REST APIで接続する方法もあるかと思いますが、それぞれのAPI仕様の把握および認証方法への対応やAPI Updateへの追従なども含めて考える必要があり、非開発者にとっては敷居が高い部分があると思います。

しかしながら、CData JDBC Driverを利用することで上記API固有のハンドリングを委任し、BizRobo! からシームレスに呼び出すことができるようになります。

また、今回のシナリオでは Google Spreadsheet を例に紹介していますが、CData で提供するkintone やMarketo・Amazon Marketplace などのJDBC Driver も同様に接続が可能です。

www.cdata.com

手順

BizRobo! 環境の構成

今回は検証にあたって、BizRobo! Basicを利用しました。

JDBC Driverのアップロードに「BizRobo! Management Console」を利用するためです。

f:id:sugimomoto:20220307165323p:plain

「BizRobo! Management Console」にアクセスするために、予め BizRobo! Basic がインストールされたサーバー上で「Start Management Console」を実行しておきましょう。

f:id:sugimomoto:20220307165332p:plain

CData JDBC Driverのインストール

BizRobo! 側の環境構成と併せて、CData JDBC Driver もセットアップします。トライアルは以下のURLから入手できます。

www.cdata.com

f:id:sugimomoto:20220307165337p:plain

ダウンロード後、exeファイルを実行し、セットアップを進めます。

f:id:sugimomoto:20220307165354p:plain

インストール完了後、「C:\Program Files\CData」にCData JDBC Driverのフォルダが作成され、JDBCのjarファイルがSalesforceのフォルダのlib配下に作成されます。

f:id:sugimomoto:20220307165410p:plain

JDBC Driver の接続テスト

続いて、接続用の文字列を取得するために、CData JDBC Driverの接続ユーティリティを利用しましょう。

「C:\Program Files\CData\CData JDBC Driver for Google Sheets 2021J\lib」フォルダにある「cdata.jdbc.googlesheets.jar」を実行します。

f:id:sugimomoto:20220307165414p:plain

以下のような接続テストツールが立ち上がるので「InitiateOAuth」を「GETANDREFRESH」に指定して、「接続テスト」を実行します。

f:id:sugimomoto:20220307165420p:plain

するとブラウザが立ち上がり、認証・認可のプロセスが進みます。確認の上、以下のようなメッセージが表示されればOKです。

f:id:sugimomoto:20220307165424p:plain

入力した「接続文字列」はあとで利用するのでコピーしておきましょう。

また、事前に DbVisualizer のようなJDBCの接続ツールでどのようなデータが取得できるか確認しておくのがおすすめです。

f:id:sugimomoto:20220307165557p:plain

www.cdata.com

BizRobo! にJDBC Driverをアップするために lic ファイルを調整

併せてCData JDBC DriverのライセンスファイルをBizRobo!にアップロードするために少し追加の作業を実施します。

「lib」フォルダに存在する「cdata.jdbc.googlesheets.lic」ファイルをZIPに圧縮し

f:id:sugimomoto:20220307165431p:plain

名前を「cdata.jdbc.googlesheets.lic.jar」に変更しておきます。これでBizRobo! にアップロードできるようになります。

f:id:sugimomoto:20220307165435p:plain

BizRobo! Managmenet Console にJDBC Driver をアップロード

それでは「BizRobo! Managmenet Console」でCData JDBC Driverを利用できるように設定を進めていきましょう。

「設定」→「データベース ドライバー」から「cdata.jdbc.googlesheets.jar」「cdata.jdbc.googlesheets.lic.jar」2つのファイルをアップロードします。

f:id:sugimomoto:20220307165440p:plain

CData JDBC Driver のアップロードが完了したら「データベースタイプ」で接続設定を追加しましょう。

「設定」→「データベース タイプ」から「新しいタイプ」として以下の情報を入力し保存します。

プロパティ名 備考
名前 例)CData JDBC Driver 任意の名称を指定します。
JDBC ドライバー cdata.jdbc.googlesheets.GoogleSheetsDriver JDBCドライバーのクラス名を指定します。
接続URLテンプレート jdbc:googlesheets:
FolderName="Sample";
InitiateOAuth="GETANDREFRESH";
接続ユーティリティで生成した接続文字列を指定します。
SQL フレーバー PostgreSQL

f:id:sugimomoto:20220307165445p:plain

続いて対象のクラスタにデータベース接続を追加します。

「管理」→「RoboServer」から対象のクラスタの「クラスタ設定」を開きます。

f:id:sugimomoto:20220307165451p:plain

「新しいデータベース」をクリックし各種情報を指定します。この際、明示的な指定が必要なものは「タイプ」だけです。ここで先程作成したデータベースタイプを入力します。

それ以外の情報は内部的には利用しないので、任意の文字列を入力してもらって構いません。

f:id:sugimomoto:20220307165455p:plain

これで設定を反映させれば対象のクラスタでCData JDBC Driver が利用できるようになります。

データベース設定をプロジェクトに追加

それではDesign Studio を立ち上げて、ロボットを作成するためのプロジェクト側の準備を進めていきましょう。

「BizRobo! Managmenet Console」で追加したデータベース設定は Design Studio のデータベース一覧に表示されるのでここから右クリックで「プロジェクトに追加」から対象の環境に追加します。

f:id:sugimomoto:20220307165500p:plain

任意のマッピング名で追加します。

f:id:sugimomoto:20220307165504p:plain

ちなみにデフォルトでは警告メッセージが表示されてしまうので、追加したデータベース マッピングの「設定」から

f:id:sugimomoto:20220307165509p:plain

「警告を表示」からチェックを外しておくと良いです。

f:id:sugimomoto:20220307165513p:plain

データを格納するためのタイプを追加

続いて、取得したデータを変数に適切に追加するために、「タイプ」を作成しましょう。

今回は以下のような「Products」のSpreadsheetを取得します。

f:id:sugimomoto:20220307165519p:plain

JDBC Driverでは以下のように表現されるテーブルになります。これを元にBizRobo!のタイプを作成していきます。

f:id:sugimomoto:20220307165523p:plain

メニューの「ファイル」→「新しいタイプ」をクリックし

f:id:sugimomoto:20220307165527p:plain

任意のタイプ名で作成します。

f:id:sugimomoto:20220307165532p:plain

あとは下記のように各種項目を定義します。

f:id:sugimomoto:20220307165708p:plain

新しい Web オートメーションロボットを追加

それでは実際にロボットの作成を開始します。

「メニュー」から「新しい Web オートメーションロボット」を選択し

f:id:sugimomoto:20220307165713p:plain

任意の名称で作成します。

f:id:sugimomoto:20220307165717p:plain

これで以下のようにデフォルトのロボットが作成され、フローのデザイン画面が表示されます。

f:id:sugimomoto:20220307165721p:plain

変数の準備

今回はGoogle Spreadsheetからデータを取得してくるので、そのデータを格納する変数を設定します。

以下の変数画面から「+」ボタンをクリックし

f:id:sugimomoto:20220307165726p:plain

先程作成したタイプを元に変数を追加します。

f:id:sugimomoto:20220307165731p:plain

データベース照会アクションを追加

変数を追加したら、実際にCData JDBC Driver 経由でデータを取得するアクションを追加します。

デザイン画面から「アクション ステップ」を追加し

f:id:sugimomoto:20220307165735p:plain

アクションの一覧から「データベース照会」を選択します。

「データベース」で先程登録したデータベースマッピングを選択し、SQLクエリの欄にデータを取得するためのクエリを入力します。

最後に変数マップとして先程登録したタイプ変数にSQLクエリで取得できる各項目をマッピングします。

f:id:sugimomoto:20220307165739p:plain

これだけでGoogle Spreadsheetからデータが取得できるようになります。

CSV出力フローを追加

取得したデータはBizRobo!の機能を使って、自由に処理できます。

今回は試しにCSVデータとして出力を行ってみました。詳細な手順は省略しますが、フローの作成方法は以下の記事を参考に作成しています。

BizRobo! ナレッジベース CSVファイルにデータを書き込む

f:id:sugimomoto:20220307165745p:plain

対象のCSVファイルを読み込むアクションを追加し、LongTextの変数に格納します。

f:id:sugimomoto:20220307165749p:plain

そのCSVファイルデータを元に、レコードを1行づつ追加するファイル出力アクションを設定しました。

f:id:sugimomoto:20220307165753p:plain

デバッグして実際に動かしてみる

これでロボットが完成です。それでは実際に動かしてみましょう。

デバッグ画面に移動して、「実行」ボタンをクリックします。

f:id:sugimomoto:20220307165758p:plain

正常にロボットが動作すると、以下のようにCSVファイルが生成されます。

f:id:sugimomoto:20220307165802p:plain

おわりに

今回はシンプルなデータ取得方法を解説しましたが、CData JDBC Driverでは書き込み・更新・削除もサポートしています。

また、Google Spreadsheet 以外にも様々なクラウドサービス・NoSQLなどのデータを扱えるドライバーを提供しているので、ぜひ自社でお使いのサービスと組み合わせて、ロボットの作成を試してみてください。

www.cdata.com

トライアル・お問い合わせ

関連コンテンツ