CData JDBC Driver for NetSuite で SAP BusinessObjects ユニバースを作成
この記事では、CData JDBC Driver for NetSuite を使用して、SAP BusinessObjects Business Intelligence アプリケーションから NetSuite に接続する方法を説明します。Information Design Tool を使用してNetSuite のデータを分析し、CData JDBC Driver for NetSuite 上にユニバースを作成します。その後、Web Intelligence からユニバースに接続します。
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
はじめに
NetSuite への JDBC 接続を作成
以下の手順に従って、Information Design Tool で NetSuite JDBC データソースへの接続を作成します。
- CData の JAR ファイルと .lic ファイルを BusinessObjects インストールディレクトリの dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。CData の JAR ファイルは、インストールディレクトリの lib サブフォルダにあります。
- プロジェクトを右クリックし、New -> New Relational Connection をクリックします。
- 表示されるウィザードで、Generic -> Generic JDBC datasource -> JDBC Drivers をクリックします。
- ウィザードの次のページで、接続の詳細を入力します。
次のページで、Authentication Mode オプションを「Use specified username and password」に設定します。ユーザー名、パスワード、JDBC URL を入力します。JDBC URL は jdbc:netsuite: で始まり、セミコロン区切りの接続プロパティが続きます。
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 = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、NetSuite JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。
java -jar cdata.jdbc.netsuite.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際に、Max Rows 接続プロパティの設定も検討してください。返される行数を制限することで、特にレポートやビジュアライゼーションの設計時にパフォーマンスを向上させることができます。
以下は一般的な JDBC URL です:
jdbc:netsuite:AccountId=XABC123456;Schema=SuiteTalk;AuthScheme=Token;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessToken=MyOAuthAccessToken;OAuthAccessTokenSecret=MyOAuthAccessTokenSecret;
- ドライバークラスを入力します:cdata.jdbc.netsuite.NetSuiteDriver
- 接続プーリングとカスタムパラメータのデフォルト値でウィザードを完了します。
Information Design Tool で NetSuite のデータ を分析
JDBC 接続を使用して、Information Design Tool でNetSuite のデータを分析できます。
- Local Projects ビューで、接続(.cnx ファイル)をダブルクリックして NetSuite データソースを開きます。
- Show Values タブでは、テーブルデータをロードしたり SQL クエリを入力したりできます。テーブルデータを表示するには、テーブルのノードを展開し、テーブルを右クリックして Show Values をクリックします。値が Raw Data タブに表示されます。
- Analysis タブでは、カラムをチャートの軸にドラッグ&ドロップしてデータを分析できます。
ローカル接続を公開
ユニバースを CMS に公開するには、接続も公開する必要があります。
- Local Projects ビューで、接続を右クリックし、Publish Connection to a Repository をクリックします。
- リポジトリのホストとポート、接続の認証情報を入力します。
- 接続を公開するフォルダを選択します。
- 表示される成功ダイアログで Yes をクリックして、接続のショートカットを作成します。
JDBC Driver for NetSuite でユニバースを作成
以下の手順に従って、JDBC ドライバー上にユニバースを作成します。この例のユニバースはリポジトリに公開されるため、前のステップで作成した公開済み接続を使用します。
- Information Design Tool で、File -> New Universe をクリックします。
- プロジェクトを選択します。
- リレーショナルデータソース上にユニバースを作成するオプションを選択します。
- 公開済み接続へのショートカットを選択します。
- Data Foundation の名前を入力します。
- オブジェクトとしてアクセスしたいテーブルとカラムをインポートします。
- Business Layer の名前を入力します。
ユニバースを公開
以下の手順に従って、ユニバースを CMS に公開します。
- Local Projects ビューで、ビジネスレイヤーを右クリックし、Publish -> To a Repository をクリックします。
- Publish Universe ダイアログで、インポート前の整合性チェックを入力します。
- ユニバースを公開するリポジトリ上のフォルダを選択または作成します。
Web Intelligence で NetSuite のデータ をクエリ
公開されたユニバースを使用して、Web Intelligence から NetSuite に接続できます。
- cdata.jdbc.netsuite.lic ファイルを BusinessObjects インストールディレクトリの \dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。ライセンスファイルは、インストールディレクトリの lib サブフォルダにあります。
- BusinessObjects ランチパッドから Web Intelligence を開き、新しいドキュメントを作成します。
- データソースとして Universe オプションを選択します。
- NetSuite ユニバースを選択します。これによりクエリパネルが開きます。Result Objects ペインにオブジェクトをドラッグして、クエリで使用します。