RPA ツールBizRobo! でNetSuite に連携したフローを作成する

RPA ツールBizRobo! で NetSuite に連携したフローを作成する方法:CData JDBC Driver。

杉本和也
リードエンジニア

最終更新日:2022-03-24

この記事で実現できるNetSuite 連携のシナリオ

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

BizRobo! はRPAテクノロジーズ株式会社が提供する低コストかつスモールスタートで利用できるRPA ツールです。
この記事では、BizRobo! に備わっているJDBC インターフェースと CData JDBC Driver for NetSuite を組み合わせることによりBizRobo! でNetSuite データを活用した自動化フローを作成する方法を紹介します。

BizRobo! 環境の構成

はじめるにあたりBizRobo! 側の環境を用意しておきます。

  1. 今回は検証にあたって、BizRobo! Basic を利用しました。JDBC Driver のアップロードに「BizRobo! Management Console」を利用するためです。
  2. 「BizRobo! Management Console」にアクセスするために、あらかじめBizRobo! Basic がインストールされたサーバー上で「Start Management Console」を実行しておきましょう。

CData JDBC Driver for NetSuite のインストール

続いてCData JDBC Driver for NetSuite をBizRobo! と同じマシンにインストールします。

  1. 以下のパスにJDBC Driver がインストールされます。
    C:\Program Files\CData\CData JDBC Driver for NetSuite 20xxJ\lib\cdata.jdbc.netsuite.jar
  2. 続いて、接続用の文字列を取得するために、CData JDBC Driverの接続ユーティリティを利用しましょう。対象の「cdata.jdbc.netsuite.jar」を実行します。
  3. 以下のような接続テストツールが立ち上がるので必要なプロパティを指定し接続テストを実行します。入力した接続文字列はあとで利用するので控えておきましょう。
    URL:jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;
  4. また、事前に DbVisualizer のようなJDBC の接続ツールでどのようなデータが取得できるか確認しておくのがおすすめです。
  5. Netsuite への接続

    NetSuite は現在、2つの異なるAPI を提供しています。

    • SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
    • SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。

    NetSuite に接続するには、以下を行う必要があります。

    1. Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
    2. 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)

    Netsuite への認証

    SuiteTalk またはSuiteQL

    NetSuite は3つの形式のOAuth 認証を提供します。

    • トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessTokenOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
    • OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
      • OAuthVersion を使用するAPI に明示的に設定、または
      • SchemaSuiteQL に設定
    • OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、SchemaSuiteQL に設定されている場合にのみ使用できます。

    認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。

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

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

  1. 「lib」フォルダに存在する「cdata.jdbc.netsuite.lic」ファイルをZIPに圧縮し
  2. 名前を「cdata.jdbc.netsuite.lic.jar」に変更しておきます。これでBizRobo! にアップロードできるようになります。

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

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

  1. 「設定」→「データベース ドライバー」から「cdata.jdbc.netsuite.jar」、「cdata.jdbc.netsuite.lic.jar」2つのファイルをアップロードします。
  2. CData JDBC ドライバのアップロードが完了したら「データベースタイプ」で接続設定を追加しましょう。「設定」→「データベース タイプ」から「新しいタイプ」として以下の情報を入力し保存します。
    名前: 例)CData JDBC Driver
    JDBC ドライバー:cdata.jdbc.netsuite.NetSuiteDriver
    接続URL テンプレート:jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;
    SQLフレーバー:PostgreSQL
  3. 続いて対象のクラスタにデータベース接続を追加します。「管理」→「RoboServer」から対象のクラスタの「クラスタ設定」を開きます。
  4. 「新しいデータベース」をクリックし各種情報を指定します。この際、明示的な指定が必要なものは「タイプ」だけです。ここで先ほど作成したデータベースタイプを入力します。
    それ以外の情報は内部的には利用しないので、任意の文字列を入力してもらって構いません。
  5. これで設定を反映させれば対象のクラスタでCData JDBC ドライバが利用できるようになります。

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

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

  1. 「BizRobo! Managmenet Console」で追加したデータベース設定は Design Studio のデータベース一覧に表示されるのでここから右クリックで「プロジェクトに追加」から対象の環境に追加します。
  2. 任意のマッピング名で追加します。
  3. ちなみにデフォルトでは警告メッセージが表示されてしまうので、追加したデータベース マッピングの「設定」から
  4. 「警告を表示」のチェックを外しておくと良いです。

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

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

  1. メニューの「ファイル」→「新しいタイプ」をクリックし
  2. 任意のタイプ名で作成します。
  3. あとは下記のように各種項目を定義します。

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

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

  1. 「メニュー」から「新しい Web オートメーションロボット」を選択し
  2. 任意の名称で作成します。
  3. これで以下のようにデフォルトのロボットが作成され、フローのデザイン画面が表示されます。

変数の準備

取得したデータを格納する変数を設定します。

  1. 以下の変数画面から「+」ボタンをクリックし
  2. 先ほど作成したタイプを元に変数を追加します。

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

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

  1. デザイン画面から「アクション ステップ」を追加し
  2. アクションの一覧から「データベース照会」を選択します。「データベース」で先ほど登録したデータベースマッピングを選択し、SQL クエリの欄にデータを取得するためのクエリを入力します。
    最後に変数マップとして先ほど登録したタイプ変数にSQL クエリで取得できる各項目をマッピングします。

CSV 出力フローを追加

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

  1. 今回は試しにCSV データとして出力を行ってみました。詳細な手順は省略しますが、フローの作成方法はBizRobo! のマニュアルを参考に作成しています。
  2. 対象のCSV ファイルを読み込むアクションを追加し、LongText の変数に格納します。
  3. そのCSV ファイルデータを元に、レコードを1行づつ追加するファイル出力アクションを設定しました。

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

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

  1. デバッグ画面に移動して、「実行」ボタンをクリックします。
  2. 正常にロボットが動作すると、以下のようにCSV ファイルが生成されます。

このようにCData JDBC Driver for NetSuite とBizRobo! を組み合わせることで、簡単にNetSuite のデータを活用した自動化フローを作成することができました。ぜひ、30日の無償評価版をお試しください。

関連コンテンツ

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

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。