各製品の資料を入手。
詳細はこちら →Jetty コネクションプールからAzure DevOps のデータに連携。
CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからAzure DevOps のデータに連携する手順を説明します。
最終更新日:2023-06-18
この記事で実現できるAzure DevOps 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for AzureDevOps は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にAzure DevOps のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for AzureDevOps を設定します。
DBC Driver for AzureDevOps を JNDI Data Source として設定
次の手順で、Jetty とAzure DevOps の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
- JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
-
リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、Azure DevOps のデータソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。
<Configure id='azuredevopsdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="azuredevopsdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="azuredevopsdemo"/></Arg> <Arg>jdbc/azuredevopsdb</Arg> <Arg> <New class="cdata.jdbc.azuredevops.AzureDevOpsDriver"> <Set name="url">jdbc:azuredevops:</Set> <Set name="AuthScheme">Basic</Set> <Set name="Organization">MyAzureDevOpsOrganization</Set> <Set name="ProjectId">MyProjectId</Set> <Set name="PersonalAccessToken">MyPAT</Set> </New> </Arg> </New> </Configure>
AzureDevOps 接続プロパティの取得・設定方法
Azure DevOps アカウントに接続するには、Profile -> Organizations に移動し、アカウントの組織名を取得します。Organization プロパティをこの値に設定します。
Note: 複数のカタログやスキーマに存在するテーブル名もあります。テーブルをクエリする際は、Catalog およびSchema 接続プロパティ、または完全修飾テーブル名のいずれかでカタログとスキーマを指定する必要があります。
Azure DevOps への認証
Azure DevOps は、Basic 認証とAzure AD(OAuth ベース)認証の両方をサポートします。
Basic
Basic 認証でAzure DevOps に接続する場合、Organization とPersonalAccessToken の両方を指定します。 パーソナルアクセストークンを生成するには、Azure DevOps 組織アカウントにログインし、Profile -> Personal Access Tokens -> New Token に移動します。生成されたトークンが表示されます。
Azure AD
Azure AD は、Microsoft のマルチテナント、クラウドベースのディレクトリおよびID 管理サービスです。 これはユーザーベースの認証で、AuthScheme をAzureAD に設定し、Organization をAzure DevOps Organization の名前に設定する必要があります。 Web アプリケーションを介したAzure AD への認証には、必ずカスタムOAuth アプリケーションの作成が必要です。 詳しい認証方法は、ヘルプドキュメント の「Azure DevOps への認証」セクションを参照してください。
-
Web xml でリソースを設定します:
jdbc/azuredevopsdb javax.sql.DataSource Container -
これで、java:comp/env/jdbc/azuredevopsdb へのルックアップでAzure DevOps のデータにアクセスできます:
InitialContext ctx = new InitialContext(); DataSource myazuredevops = (DataSource)ctx.lookup("java:comp/env/jdbc/azuredevopsdb");
Jetty にさらに統合
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。