Jetty コネクションプールからAdobe Analytics のデータに連携。

CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからAdobe Analytics のデータに連携する手順を説明します。

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

最終更新日:2023-06-18

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

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

CData JDBC Driver for AdobeAnalytics は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にAdobe Analytics のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for AdobeAnalytics を設定します。

DBC Driver for AdobeAnalytics を JNDI Data Source として設定

次の手順で、Jetty とAdobe Analytics の接続を確立します。

  1. Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:

    java -jar ../start.jar --add-to-startd=jndi
  2. JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
  3. リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、Adobe Analytics のデータソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。

    <Configure id='adobeanalyticsdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="adobeanalyticsdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="adobeanalyticsdemo"/></Arg> <Arg>jdbc/adobeanalyticsdb</Arg> <Arg> <New class="cdata.jdbc.adobeanalytics.AdobeAnalyticsDriver"> <Set name="url">jdbc:adobeanalytics:</Set> <Set name="GlobalCompanyId">myGlobalCompanyId</Set> <Set name="RSID">myRSID</Set> <Set name="OAuthClientId">myOauthClientId</Set> <Set name="OauthClientSecret">myOAuthClientSecret</Set> <Set name="CallbackURL">myCallbackURL</Set> </New> </Arg> </New> </Configure>

    Adobe Analytics への接続

    Adobe Analytics に接続するには、GlobalCompanyId およびRSID を識別する必要があります。デフォルトで、ドライバーは会社とレポートスイートの識別を自動で試みますが、これらの値を明示的に指定することもできます。方法はヘルプドキュメントの「Adobe Analytics への接続」セクションを参照してください。

    Adobe Analytics への認証

    Adobe Analytics はOAuth 認証標準を利用しています。 OAuth またはサービスアカウントで認証できます。

    ユーザーアカウント(OAuth)

    すべてのユーザーアカウントフローでAuthSchemeOAuth に設定する必要があります。OAuth 経由のAdobe 認証では、2週間ごとにリフレッシュトークンを更新する必要があります。詳しい認証方法については、ヘルプドキュメントの「Adobe Analytics への認証」セクションを参照してください。

    サービスアカウント

    サービスアカウントにはサイレント認証があり、ブラウザでのユーザー認証は必要ありません。このフローでは、アプリケーションを作成する必要があります。アプリケーションの作成および認可については、ドキュメントの「カスタムOAuth アプリの作成」を参照してください。これでサービスアカウントにアクセス権があるAdobe Analytics データに接続できます。

    サービスアカウントを使用したServer-to-Server OAuthで認証するには、AuthSchemeOAuthClient に設定します。接続するには次のプロパティを設定します。

    • InitiateOAuthGETANDREFRESH に設定。
    • OAuthClientId:アプリケーション設定のクライアントId に設定。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

    接続すると、本製品 はサービスアカウントでのOAuth フローを完了します。

    1. クライアントクレデンシャルOAuth フローで指定されたOAuthClientId およびOAuthClientSecret を使用して、アクセストークンを取得します。
    2. OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。
    3. トークンが期限切れになった際に、新しいアクセストークンを要求します。

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

    jdbc/adobeanalyticsdb javax.sql.DataSource Container
  5. これで、java:comp/env/jdbc/adobeanalyticsdb へのルックアップでAdobe Analytics のデータにアクセスできます: InitialContext ctx = new InitialContext(); DataSource myadobeanalytics = (DataSource)ctx.lookup("java:comp/env/jdbc/adobeanalyticsdb");

Jetty にさらに統合

ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI  参照してください。

関連コンテンツ

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

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