CData API Server で Tableau からライブ NetSuite データにアクセス

Stanley Liu
Stanley Liu
Associate Technical Product Marketer
CData API Server を使用して、ライブ NetSuite データ用の OData エンドポイントを簡単に作成し、手動でのデータ移動なしに Tableau で直接接続してリアルタイムダッシュボード、レポート、分析を実現します。

Tableau は、データの接続、可視化、インサイトの共有のための主要な BI プラットフォームの 1 つです。

CData API ServerNetSuite コネクタ(または 270 以上のコネクタ)を使用すると、複数のソースからライブデータを公開する API を迅速に作成し、OData や Swagger などの業界標準を使用して Tableau とシームレスに統合できます。

この記事では、データの移動や複製なしに、NetSuite からのライブデータを使用してシンプルな Tableau ダッシュボードを作成します。

それでは始めましょう!

前提条件

  1. CData API Server: こちらから無料トライアルをダウンロードできます。
  2. Tableau: こちらからサインイン、サインアップ、またはダウンロードできます。
  3. データにアクセスできるアクティブな NetSuite アカウント。

概要

以下の手順で進めていきます。

  1. CData API Server をインストールし、NetSuite への接続を設定して、OData エンドポイントを使用します。
  2. Tableau でこれらのエンドポイントに接続し、ライブダッシュボードとレポートを構築します。

NetSuite データ連携について

CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
  • SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
  • Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
  • トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
  • SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。

お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。

当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data


はじめに


ステップ 1:API Server のインストールと NetSuite への接続設定

1.1 API Server のインストール

まだインストールしていない場合は、CData API Server ページからお使いのマシン用のインストーラーをダウンロードしてください。インストール手順に従ってセットアップを完了します。

インストールが完了したら、以下の方法でサーバーを起動できます。

  • Windows: CData API Server はデフォルトでサービスとして実行されます。サービスが実行されていることを確認し、ブラウザで http://hostname:port(例:http://localhost:8080/)を開いて API Server 管理コンソールにアクセスします。
  • Linux/Mac: サーバーを手動で実行するか、サービスとして実行できます。手動で起動するには、インストールディレクトリに移動して java -jar apiserver.jar を実行します。
  • また、root 権限で service.sh を実行して、API Server を Linux システムサービスとしてセットアップすることもできます。

1.2 CORS の有効化

Tableau と CData API Server が異なるドメインでホストされている場合、Tableau がデータエンドポイントにアクセスできるようにするために CORS(Cross-Origin Resource Sharing)を有効にする必要があります。API Server で CORS を有効にするには:

  1. 「Settings」に移動し、 アイコンをクリックして CORS 設定を編集します。
  2. Cross-Origin Resource Sharing (CORS) を有効にします。
  3. Allow all domains without '*' を有効にして、すべてのオリジンを許可します。
  4. Access-Control-Allow-Origin に Tableau のオリジンドメインを入力するか、* を使用してすべてのドメインを許可します(パブリック API に適しています)。
  5. Access-Control-Allow-Credentials を有効にして、Cookie と認証ヘッダーを許可します。
  6. Access-Control-Allow-MethodsGET, PUT, POST, OPTIONS を入力します。
  7. Access-Control-Allow-HeadersAuthorization, Content-Type を入力します。
  8. Access-Control-Max-Age(デフォルト:3600 秒)を設定して、プリフライトリクエストをキャッシュします。
  9. 「Save」をクリックします。

1.3 API Server で NetSuite 接続を追加

  1. 「Settings」に移動し、右上の Add Connection をクリックします。
  2. NetSuite を選択します。表示されない場合は、Only Installed をオフにしてすべてのコネクタを表示します。
  3. Install Connector をクリックして自動インストールします。手動セットアップの場合は、Manual Install を選択してダウンロードした ZIP ファイルをアップロードします。
  4. インストールが完了したら、NetSuite を再度クリックして接続設定を開き、以下の詳細を使用して設定します。
  5. NetSuiteへの接続

    NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。

    • SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
    • SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。

    データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。

    NetSuite への認証

    CData 製品では、以下の認証方式がご利用いただけます。

    • トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
    • OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
    • OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。

    トークンベース認証(OAuth1.0)

    トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。

    アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。

    • AuthScheme = Token
    • AccountId = 接続先のアカウント
    • OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
    • OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
    • OAuthAccessToken = アクセストークン作成時のトークンID
    • OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット

    その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。

  6. 「Save & Test」をクリックして接続設定を検証し完了します。

1.4 ユーザーの追加と設定

作成した OData エンドポイントへの安全なアクセスを許可するために、CData API Server でユーザーを作成・設定します。各ユーザーには認証情報とロールベースのアクセス制御があり、適切なロールを持つ承認されたユーザーのみが接続されたデータをクエリできるようになります。

  1. ナビゲーションペインから「Users」に移動し、右上の Add User をクリックします。
  2. Username を入力し、ユーザーの安全な Password を設定します。
  3. Role を選択します:
    • Admin: 設定や接続を含むすべての機能へのフルアクセス。
    • Query: API エンドポイント経由のデータアクセスに限定(Tableau での使用に適しています)。
  4. (オプション)レート制限を設定:
    • Requests Per Hour: 1 時間あたりの許可される API コール数(デフォルト:1000)。
    • Max Concurrent Requests: 許可される並列 API リクエスト数(デフォルト:10)。
  5. ユーザーの Privileges を定義:
    • GET: データの取得を許可。
    • POST: 新しいレコードの作成を許可。
    • PUT, MERGE, PATCH: 既存レコードの更新を許可。
    • DELETE: レコードの削除を許可。
  6. 「Add User」をクリックしてユーザーアカウントを保存し、有効化します。

ユーザーを追加すると、Authtoken が自動的に生成されます。このトークンは、パスワードの代わりに安全な認証方法として API リクエストで使用できます。

また、Authtoken を更新したり、無効にしたり、ユーザー設定で Token Expiration オプションを有効にして有効期限ルール(例:有効期限までの日数)を設定することもできます。


1.5 エンドポイント用のテーブルを追加

NetSuite のデータを OData 経由で Tableau で利用できるようにするには、API Server を通じて目的のテーブルを公開する必要があります。手順は以下のとおりです。

  1. CData API Server で、左側のナビゲーションから「API」に移動し、右上の Add Table をクリックします。
  2. 先ほど設定した NetSuite 接続を選択し、「Next」をクリックします。
  3. Tables セクションを展開して、利用可能なエンティティとスキーマを参照します。個々のテーブルを選択するか、上部の TABLE NAME チェックボックスをクリックしてすべてを選択します。次に「Confirm」をクリックします。

1.6 Tableau でエンドポイントにアクセス

API の設定が完了したので、Tableau から OData エンドポイントに直接接続してライブデータを可視化できます。以下は OData エンドポイントの URL 形式です。

エンドポイント   URL
エンティティ一覧 http://address:port/api.rsc/
テーブルメタデータ(例:albums) http://address:port/api.rsc/albums/$metadata?@json
テーブルデータ(例:albums) http://address:port/api.rsc/albums

これらの OData エンドポイントは、Tableau に接続してライブダッシュボード、チャート、レポートを作成できるようになりました。

CData API Server は完全な OData フィルタリング機能 (OData ABNF) をサポートしています。細かなクエリには、$select$filter$orderby$top$skip などの標準 OData クエリパラメータをリクエストに追加できます。


ステップ 2:Tableau でシンプルなダッシュボードを作成

CData API Server が NetSuite データの OData エンドポイント を公開しているので、Tableau を API に接続してリアルタイムダッシュボードを構築できます。手順は以下のとおりです。

この記事では、Windows 上の Tableau Desktop を使用しますが、手順はすべての Tableau バージョンで同様に機能します。

2.1. OData エンドポイントに接続

  1. CData API Server にログインして CData API エンドポイント URL を取得します。左側のナビゲーションから「API」に移動し、右上の View Endpoints をクリックします。
  2. URL をコピーします(例:http://localhost:8080/api.rsc)。
  3. Tableau を起動し、アカウントにログインします。
  4. 左側の サーバーへ で「More」をクリックし、OData を検索して選択します。
  1. 以下の詳細を追加します:
    • サーバー: CData API Server エンドポイント URL(例:http://localhost:8080/api.rsc
    • 認証: ユーザー名とパスワード を選択します。
    • ユーザー名: CData Server API ユーザー名を入力します。
    • パスワード: CData API Server パスワードを入力します。

2.2. ダッシュボードの作成

  1. 左側の テーブル で、目的のテーブルをキャンバスにドラッグし、左下の シート 1 をクリックします。
  1. シート 1 で、左側の テーブル の下で、選択したテーブルから目的のカラムをダブルクリックしてビューに追加します。
  1. カラムを上部の セクションにドラッグ&ドロップしてビジュアライゼーションを作成します。この例では、シンプルな予測棒グラフを作成しています。

2.3. ダッシュボードの改善

フィルター、フォーマット、複数のシートの組み合わせを追加して、ダッシュボードの改善を続けましょう。ライブ API データに基づいて、より複雑なビジュアライゼーションやインタラクティブなダッシュボードを作成できます。


CData API Server を 30 日間無料でお試しください

ローコード/ノーコードプラットフォームで OData REST API を構築し、ライブデータとのシームレスな統合を実現しましょう。CData API Server を 30 日間無料でお試しいただき、ライブ NetSuite データ(または 270 以上の他のコネクタ)を Tableau に直接接続して、リアルタイムダッシュボードと分析を実現する方法を体験してください。

こちらから無料トライアルを開始できます。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ