Jetty の接続プールから Dynamics 365 Business Central のデータ に接続
CData JDBC Driver for Dynamics 365 Business Central は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から Dynamics 365 Business Central のデータ に効率的に接続する方法を説明します。Jetty で Dynamics 365 Business Central 用の JNDI リソースを設定していきましょう。
Salesforce 用の JDBC Driver を JNDI データソースとして設定
以下のステップで Jetty から Salesforce に接続します。
Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。
java -jar ../start.jar --add-to-startd=jndi
- インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
-
リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで Dynamics 365 Business Central データソースを宣言しています。
<Configure id='d365businesscentraldemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="d365businesscentraldemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="d365businesscentraldemo"/></Arg> <Arg>jdbc/d365businesscentraldb</Arg> <Arg> <New class="cdata.jdbc.d365businesscentral.D365BusinessCentralDriver"> <Set name="url">jdbc:d365businesscentral:</Set> <Set name="OrganizationUrl">https://myaccount.financials.dynamics.com/</Set> </New> </Arg> </New> </Configure>Dynamics 365 Business Central 接続プロパティの取得・設定方法
Dynamics 365 Business Central への認証には、User およびAccessKey プロパティが必要です。
データに接続するには、OrganizationUrl を指定します。OrganizationUrl は、 http://businesscentral.dynamics.com/abc123/ などのBusiness Central アカウントへのエンドポインであるか、Web サービスのルートを参照する必要があります。OrganizationUrl を指定する方法 および利用可能なエンドポイントについての詳細は、Business Central エンドポイント を参照してください。組織内に複数の会社がある場合は、どの会社に接続するかを特定するためにCompany を指定する必要があります。 会社が1つだけの場合は、Company を指定する必要はありません。
Dynamics 365 Business Central に認証するには、User およびAccessKey 接続プロパティを指定します。Microsoft では、これらをテストおよび開発目的で推奨します。ただし、運用環境での使用は推奨していません。User およびAccessKey の値を取得するには、Dynamics 365 Business Central の「ユーザー」ページに移動して「編集」をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。
Microsoft では、OAuth 認証を使用する本番ユースケースを推奨します。詳細については、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
-
Web.xml でリソースを設定します。
jdbc/d365businesscentraldb javax.sql.DataSource Container
-
これで、java:comp/env/jdbc/d365businesscentraldb をルックアップして Dynamics 365 Business Central にアクセスできます。
InitialContext ctx = new InitialContext(); DataSource myd365businesscentral = (DataSource)ctx.lookup("java:comp/env/jdbc/d365businesscentraldb");
Jetty 統合の詳細
上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。