NetSuite JDBC ドライバーを使用したOBIEE でのNetSuite レポート

NetSuite JDBC ドライバーをOBIEE にデプロイし、企業全体にリアルタイムのレポートを提供します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-05-27

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

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData JDBC Driver for NetSuite は、NetSuite へのリアルタイムアクセスをJava ベースのレポートサーバーに統合できる標準のデータベースドライバーです。この記事では、ドライバーをOracle Business Intelligence Enterprise Edition (OBIEE) にデプロイし、変更を反映するNetSuite に関する方法を示します。

JDBC ドライバーをデプロイ

以下のステップに従って、WebLogic のクラスパスにJDBC ドライバーを追加します。

WebLogic 12.2.1 の場合、ドライバーJAR と.lic ファイルをORACLE_HOME\user_projects\domains\MY_DOMAIN\lib のようにDOMAIN_HOME\lib に配置します。これらのファイルは、起動時にサーバーのクラスパスに追加されます。

ドライバーをクラスパスに手動で追加することもできます。これは、以前のバージョンで必要です。setDomainEnv.cmd (Windows) または setDomainEnv.sh (Unix) のPRE_CLASSPATH の前に以下を追加します。このスクリプトは、そのドメインのフォルダーのbin サブフォルダーにあります。例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin.

set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.netsuite.jar;%PRE_CLASSPATH%

DOMAIN_HOME\bitools\bin でstop コマンドとstart コマンドを実行するなど、すべてのサーバーを再起動します。

JDBC Data Source for NetSuite の作成

JDBC ドライバーをデプロイした後、BI Publisher からJDBC データソースを作成できます。

  1. BI Publisher にURL http://localhost:9502/analytics でログインし、[Administration]->[Manage BI Publisher]とクリックします。
  2. [JDBC Connection]->[Add Data Source]と進みます。
  3. 以下の情報を入力します。
    • Data Source Name:ユーザーが接続を作成する名前をレポートに入力します。
    • Driver Type:SELECTOther.
    • Database DriverClass:ドライバークラスに cdata.jdbc.netsuite.NetSuiteDriver を入力します。
    • Connection String:JDBC URL を入力します。

      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 の構成については、NetSuite JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.netsuite.jar

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

      Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

      JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

      以下は一般的なJDBC URL です。

      jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;
    • Username:ユーザー名。
    • Password:パスワード。
  4. [Security]セクションで、許可されているユーザーロールを選択します。 The required settings for a JDBC data source.(Salesforce is shown.)

リアルタイムのNetSuite レポートを作成

リアルタイムのNetSuite に基づいてレポートと分析を作成できるようになります。以下のステップに従って、標準のレポートウィザードを使用してNetSuite への変更を反映するインタラクティブなレポートを作成します。

  1. グローバルヘッダーで、[New]->[Data Model]をクリックします。
  2. Diagram タブでメニューからSQL クエリを選択します。
  3. クエリの名前を入力し、[Data Source]メニューで、作成したNetSuite JDBC データを選択します。
  4. 標準のSQL を選択し、以下のようなクエリを入力します。 SELECT Customer.FirstName AS CustomerName, SalesOrder.Total AS SalesOrderTotal FROM SalesOrder, Customer The SQL query to be used to create the data set for the report's data model.(Salesforce is shown.)
  5. [View Data]をクリックし、レポートの作成に使用するサンプルデータを生成します。
  6. サンプルデータに含める行数を選択し、[View]をクリックして[Save As Sample Data]をクリックします。
  7. [Create Report]->[Use Data Model]とクリックします。
  8. [Guide Me]を選択し、[Select Layout]ページで含めるレポートオブジェクトを選択します。この例では、[Chart]と[Table]を選択します。
  9. SalesOrderTotal のような数値列をy 軸の[Drop Value Here]ボックスにドロップします。CustomerName のようなディメンション列をx 軸の[Drop Label Here]ボックスにドロップします。 The dimensions and measures for a chart.(Salesforce is shown.)
  10. [Refresh]をクリックしてNetSuite への変更を取得します。 An interactive, refresh-on-demand report.(Salesforce is shown.)

関連コンテンツ

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

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