JBoss のコネクションプールからNetSuite のデータに連携

NetSuite をJava サーブレットに統合します。JBoss のManagement Console を使用して、CData JDBC Driver for NetSuite をインストールします。

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

最終更新日:2022-09-12

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

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

CData JDBC ドライバーは、コネクションプールの標準手順に従ってJBoss で構成できます。この記事では、JBoss アプリケーションのコネクションプールからSalesforce データにアクセスする方法について詳しく説明します。また、JBoss Management Interface を使用してCData JDBC Driver for NetSuite を設定する方法についても詳しく説明します。最後には、コネクションプールからNetSuite にアクセスできるようになります。

Management Console からJDBC Data Source for NetSuite を作成

以下のステップに従ってドライバーJAR を追加し、必要な接続プロパティを定義します。

  1. [Runtime]メニューで、展開先がマネージドドメインかスタンドアロンサーバーかに応じて[Domain]または[Server]メニューを選択し、[Manage deployments]をクリックして[Deployments]ページを開きます。
  2. [Add]をクリックします。表示されるウィザードで、インストールディレクトリのlib サブフォルダにあるドライバーのJAR ファイルとライセンスを追加します。ウィザードをデフォルトで終了し、ドライバーを選択して[Enable]をクリックします。 The deployed JAR.(Salesforce is shown.)
  3. [Configuration]メニューで[Subsystems]->[Connector]->[Datasources]と進みます。これにより、JDBC データソースページが開きます。
  4. [Add]をクリックし、表示されるウィザードでドライバーとJNDI の名前を入力します。例: java:jboss/root/jdbc/NetSuite
  5. 上で追加したドライバーを選択します。
  6. JDBC URL、ユーザー名、パスワードを入力します。JDBC URL の構文は、jdbc:netsuite: の後にセミコロンで区切られた接続プロパティのリストが続きます。

    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:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;
  7. 接続を確認したらウィザードを終了します。NetSuite のデータソースを選択し、[Enable]をクリックします。
The enabled data source.(Salesforce is shown.)

その他のJBoss 統合

上記のステップは、単純なコネクションプールのシナリオでドライバーを構成する方法を示しています。より詳しい情報については、JBoss EAP ドキュメントの[Data Source Management]の章を参照してください。

関連コンテンツ

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

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