Denodo Platform でNetSuite のデータソースを作成

CData JDBC ドライバを使ってDenodo Virtual DataPort Administrator でNetSuite のデータ の仮想データソースを作成します。

桑島義行
テクニカルディレクター

最終更新日:2022-02-28

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

こんにちは!テクニカルディレクターの桑島です。

Denodo Platform は、エンタープライズデータベースのデータを一元管理するデータ仮想化製品です。CData JDBC Driver for NetSuite と組み合わせると、Denodo ユーザーはリアルタイムNetSuite のデータと他のエンタープライズデータソースを連携できるようになります。この記事では、Denodo Virtual DataPort Administrator でNetSuite の仮想データソースを作成する手順を紹介します。

最適化されたデータ処理が組み込まれたCData JDBC Driver は、リアルタイムNetSuite のデータを扱う上で比類のないパフォーマンスを提供します。NetSuite にSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をNetSuite に直接渡し、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使ってNetSuite のデータを操作および分析できます。

NetSuite Virtual Port を作成

Denodo からリアルタイムNetSuite のデータに接続するには、JDBC Driver のJAR ファイルをDenodo の外部ライブラリディレクトリにコピーし、Virtual DataPort Administration Tool から新しいJDBC データソースを作成する必要があります。

  1. CData JDBC Driver for NetSuite インストーラーをダウンロードしてパッケージを展開し、JAR ファイルを実行してドライバーをインストールします。
  2. JAR ファイル(およびライセンスファイルがある場合はそれも)をインストール先(通常はC:\Program Files\CData\CData JDBC Driver for NetSuite\lib\)からDenodo 外部ライブラリディレクトリ(C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-netsuite-19)にコピーします。
  3. Denodo Virtual DataPort Administration Tool を開き、Server Explorer タブに移動します。
  4. 「admin」を右クリックし、「New」->「Data source」->「JDBC」を選択します。 新しいJDBC データソースを作成
  5. JCBC Connection を設定します。
    • Name:任意の名前(例:netsuite)
    • Database adapter:Generic
    • Driver class path:C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-netsuite-19
    • Driver class:cdata.jdbc.netsuite.NetSuiteDriver
    • Database URI:必要な接続プロパティを使用してJDBC のURL に設定。例えば次のようになります。

      jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;

      JDBC コネクションを設定(NetSuite の場合)

      Database URI の作成については以下を参照してください。

      組み込みの接続文字列デザイナー

      JDBC URL の作成の補助として、NetSuite JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

      java -jar cdata.jdbc.netsuite.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      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 に設定されている場合にのみ使用できます。

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

      組み込みの接続文字列デザイナーを使ってJDBC URL を生成(Salesforce の場合)
  6. 「接続テスト」をクリックして設定を確認し、「保存」をクリックします。

Virtual DataPort Administration Tool でNetSuite のデータを表示

データソースを作成したら、Denodo Platform で使用するNetSuite のデータの基本ビューを作成できます。

  1. 新しく作成したVirtualPort(admin.NetSuite)で「Create base view」をクリックします。
  2. オブジェクトツリーを展開し、インポートしたいオブジェクト(テーブル)を選択します。 インポートするオブジェクトの選択(NetSuite の場合)
  3. 「Create selected」をクリックしてNetSuite のデータのビューを作成します。
    オプション:「Create associations from foreign keys」をクリックして、オブジェクト間の関係を定義します。
  4. ビューを作成した状態で、Server Explorer のテーブル(cdata_netsuite_salesorder)に移動し、選択したテーブルをダブルクリックします。
  5. 新しいタブで「Execution panel」をクリックしてクエリパネルを開きます。
  6. 「Execute」タブでクエリをカスタマイズするか、デフォルトを使用します。
    SELECT * FROM cdata_netsuite_salesorder CONTEXT ('i18n'='us_est', 'cache_wait_for_load'='true')
    
    データを表示するクエリを設定
  7. 「Execute」をクリックすると、データが表示されます。 データを表示

基本ビューを作成すると、Denodo Platform の他のデータソースと同様にリアルタイムNetSuite のデータを操作できるようになります。例えば、Denodo Data Catalog でNetSuite にクエリを実行できます。

CData JDBC Driver for NetSuite の30日の無償評価版をダウンロードして、Denodo Platform でリアルタイムNetSuite のデータの操作をはじめましょう!ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

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

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