NetSuite のデータを帳票ツールbiz-Stream で連携利用する方法
biz-Stream は、多様な表現が可能なWeb 帳票ソリューションです。
この記事では、biz-Stream からCData JDBC ドライバ経由でNetSuite のデータにリアルタイムで連携接続して帳票から利用する方法を紹介します。CData Drivers を使うことで、RDB のようにbiz-Stream 内でNetSuite のデータを扱うことができるようになります。
biz-Stream へのNetSuite JDBC ドライバーの配置
デフォルトの内容でインストールした場合、以下のパスに jar ファイルが配置されますので、その jar ファイルを biz-Stream の所定のパスにコピーします。
- cdata.jdbc.netsuite.jar
- cdata.jdbc.netsuite.lic (試用版では.lic ファイルは不要)
- コピー元:C:\Program Files\CData\CData JDBC Driver for NetSuite 20xxJ\lib
- コピー先:C:\Program Files (x86)\brainsellers\biz-Stream レイアウト・デザイナ\lib_jdbc
biz-Stream からNetSuite への接続設定
レイアウトデザイナを起動後、リソース定義にて NetSuite への接続設定を行います。ドライバー選択のプルダウンに CData NetSuite JDBC Driver が表示されますので選択します。
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 = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
サーバURLは以下の形式で入力します。
URL:
jdbc:netsuite:AccountId=XABC123456;Schema=SuiteTalk;AuthScheme=Token;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessToken=MyOAuthAccessToken;OAuthAccessTokenSecret=MyOAuthAccessTokenSecret;
JDBC Driver の接続文字列デザイナーを使う
JDBC 接続文字列を作るには、NetSuite JDBC Driver のビルトイン接続文字列デザイナーを使う方法があります。ドライバーの.jar ファイルをダブルクリックするか、コマンドラインから.jar ファイルを実行します。
Windows:
java -jar 'C:\Program Files\CData\CData JDBC Driver for NetSuite 20xxJ\lib\cdata.jdbc.netsuite.jar'
MacOS:
java -jar cdata.jdbc.netsuite.jar
接続プロパティに値を入力して、生成される接続文字列をクリップボードにコピーします。
次にデータ取得条件を設定します。SQL 定義から定義名を設定し、編集ボタンをクリックします。
上のグレーエリアで右クリック → テーブルリストと選択しますと、NetSuite のオブジェクトがリストで表示されます。使用するテーブルを選択します。
ここでは取得対象の項目や条件などを設定することができます。対象項目や条件を指定できたらOKボタンをクリックし、戻った画面で追加ボタンをクリックします。
最後にデータソース設定を行います。データソース定義名に先ほど設定したものを選択し、画面下部にある追加ボタンをクリックします。これでbiz-Stream でNetSuite のデータを利用する準備ができました。
NetSuite のデータをリアルタイムで参照するbiz-Stream 帳票のデザイン
用紙設定を行います。今回は A4 設定にしました。設定後は画面下部にある追加ボタンをクリックします。
ページ設定では新規ボタンをクリックします。
ここではレイアウトデザイナが帳票テンプレートを xml で保存しますので、ファイル名を設定します。
レイアウトにはさまざまなメニューがありますが、今回は表を使用します。表を設定後、NetSuite から取得したデータをセットするエリアを作成します。各セルにテキストボックスを挿入し、そのテキストボックス自体に NetSuite の項目を紐づけします。
※ヘッダーにもそれぞれテキストボックスを追加します。
レイアウト作成画面を閉じた後、ページ設定の画面に戻りますので、画面下部にある追加ボタン(一度作成している場合は適用)をクリックし、レイアウトの作成が完了となります。
レイアウトデザイナーのトップ画面のヘッダーメニューからプレビューアイコンをクリックします。先ほど作成したレイアウトで NetSuite のデータを表示させることができます。
このようにCData JDBC ドライバをアップロードすることで、簡単にbiz-Stream でNetSuite のデータをリアルタイムに参照する帳票をノーコードで連携して作成することができます。
ぜひ、CData JDBC Driver for NetSuite 30日の無償評価版 をダウンロードして、お試しください。