Tomcat のコネクションプールで CData JDBC Driver for Dynamics 365 を構成

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Tomcat のコネクションプールから Dynamics 365 のデータ に接続。

CData JDBC Driver は、JVM 上で動作するWeb アプリケーションと連携するための標準JDBC インターフェースをサポートしています。ここでは、Tomcat のコネクションプールから Dynamics 365 のデータ に接続する方法を説明します。

Dynamics 365 データ連携について

CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
  • カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
  • Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
  • SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。

CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。


はじめに


Tomcat のコネクションプールから Dynamics 365 のデータ に接続

  1. CData JAR ファイルと CData .lic ファイルを $CATALINA_HOME/lib にコピーします。CData JAR ファイルは、インストールディレクトリの lib サブフォルダにあります。
  2. コンテキストにリソースの定義を追加します。ここでJDBC URL を指定します。

    Dynamics 365 接続プロパティの取得・設定方法

    Microsoft Dynamics 365 への接続

    Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。

    • CustomerService
    • FieldService
    • FinOpsOnline (デフォルト)
    • FinOpsOnPremise
    • HumanResources
    • Marketing
    • ProjectOperations
    • Sales

    Notes:

    • Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、EditionFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
    • Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
    サポートされているMicrosoft Dynamics 365 エディションのいずれか接続するには、次のパラメータを設定します。
    • OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com
    • Edition:上記のエディション一覧に示すとおり。

    Microsoft Dynamics 365 への認証

    Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。

    組み込みの接続文字列デザイナー

    JDBC URL の構成については、Dynamics 365 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。

    java -jar cdata.jdbc.dynamics365.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    以下のリソース定義で指定されたJDBC URL を確認できます。

    
    <Resource name="jdbc/dynamics365"   auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.dynamics365.Dynamics365Driver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:dynamics365:OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;" maxActive="20" maxIdle="10" maxWait="-1" />
    

    特定のアプリケーションのみに Dynamics 365 のデータ へのアクセスを許可するには、上記のコードをアプリケーションのMETA-INF ディレクトリにあるcontext.xml に追加します。

    共有リソースの構成の場合は、上記のコードを $CATALINA_BASE/conf にあるcontext.xml に追加します。共有リソースの構成では、すべてのアプリケーションが Dynamics 365 に接続できるようになります。

  3. アプリケーションの web.xml にリソースへの参照を追加します。
    
      Dynamics 365 のデータ JSP
      jdbc/Dynamics365
      javax.sql.DataSource
      Container
    
    
  4. コネクションプールから接続を初期化します。
    Context initContext = new InitialContext();
    Context envContext  = (Context)initContext.lookup("java:/comp/env");
    DataSource ds = (DataSource)envContext.lookup("jdbc/Dynamics365");
    Connection conn = ds.getConnection();
      

Tomcat との連携について

上記の手順では、シンプルなコネクションプーリングのシナリオで Dynamics 365 のデータ に接続する方法を説明しました。その他のユースケースや詳細については、Tomcat のドキュメントに記載されている JNDI Datasource How-To を参照してください。

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

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

 ダウンロード

詳細:

Dynamics 365 Icon Dynamics 365 JDBC Driver お問い合わせ

Dynamics 365 データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。