Jetty の接続プールから MYOB AccountRight のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
MYOB AccountRight JDBC Driver は接続プールをサポートしています。この記事では、Jetty の Web アプリから MYOB AccountRight のデータ に高速に接続する方法を説明します。

CData JDBC Driver for MYOB AccountRight は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から MYOB AccountRight のデータ に効率的に接続する方法を説明します。Jetty で MYOB AccountRight 用の JNDI リソースを設定していきましょう。

Salesforce 用の JDBC Driver を JNDI データソースとして設定

以下のステップで Jetty から Salesforce に接続します。

  1. Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。

    java -jar ../start.jar --add-to-startd=jndi
    
  2. インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
  3. リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで MYOB AccountRight データソースを宣言しています。

    
    <Configure id='myobaccountrightdemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="myobaccountrightdemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="myobaccountrightdemo"/></Arg>
        <Arg>jdbc/myobaccountrightdb</Arg>
        <Arg>
          <New class="cdata.jdbc.myob.MYOBDriver">
            <Set name="url">jdbc:myob:</Set>
            <Set name="OAuthClientId">YourClientId</Set>
            <Set name="OAuthClientSecret">YourClientSecret</Set>
            <Set name="CompanyFileId">yourCompanyFileId</Set>
            <Set name="CallbackURL">http://localhost:33333</Set>
            <Set name="User">companyFileUser</Set>
            <Set name="Password">companyFilePassword</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

    MYOB への接続

    MYOB 会社ファイルに接続するには、CompanyFileId をデータを取得したい会社ファイルのID に設定します。指定しない場合は、最初に返された会社ファイルのID(アルファベット順にソート)が使用されます。

    この接続プロパティは、CompanyFiles ビューを除くすべてのテーブルおよびビューにアクセスするために必要です。CompanyFiles ビューは、アカウントに紐づく会社ファイル(およびその関連ID)を表示するために使用できます。会社ファイルのID がわからない場合は、このビューを使用してください。

    次のプロパティを追加設定します。

    オンプレミスインスタンスInstanceOnPremises
    AuthSchemeBasic
    User:会社のファイルに紐づいているユーザー名。会社ファイルを作成すると、Administrator というユーザーアカウントが自動的に作成されます。デフォルトでは、Administrator ユーザーアカウントにはパスワードが割り当てられません。
    InitiateOAuth:OFF。
    URL:MYOB インスタンスのURL。
    クラウドインスタンスInstanceCloud
    AuthSchemeOAuth
    InitiateOAuthGETANDREFRESH
    User:会社のファイルに紐づいているユーザー名。
    Password:(パスワードが設定されている場合)会社ファイルの認可されたユーザーのパスワード

    OAuth で認証する場合は、さらにヘルプドキュメントを参照してください。

  4. Web.xml でリソースを設定します。

    
      jdbc/myobaccountrightdb
      javax.sql.DataSource
      Container
    
    
  5. これで、java:comp/env/jdbc/myobaccountrightdb をルックアップして MYOB AccountRight にアクセスできます。

    InitialContext ctx = new InitialContext();
    DataSource mymyobaccountright = (DataSource)ctx.lookup("java:comp/env/jdbc/myobaccountrightdb");
    

Jetty 統合の詳細

上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。

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

MYOB AccountRight Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

MYOB AccountRight Icon MYOB AccountRight JDBC Driver お問い合わせ

Java/J2EE アプリケーションから、MYOB AccountRight データへの双方向連携を実現し、Customers、Transactions、Invoices、Sales Receipts などの検索、Items、Customers などの更新が可能に。