各製品の資料を入手。
詳細はこちら →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 の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
- JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
-
リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、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)
すべてのユーザーアカウントフローでAuthScheme をOAuth に設定する必要があります。OAuth 経由のAdobe 認証では、2週間ごとにリフレッシュトークンを更新する必要があります。詳しい認証方法については、ヘルプドキュメントの「Adobe Analytics への認証」セクションを参照してください。
サービスアカウント
サービスアカウントにはサイレント認証があり、ブラウザでのユーザー認証は必要ありません。このフローでは、アプリケーションを作成する必要があります。アプリケーションの作成および認可については、ドキュメントの「カスタムOAuth アプリの作成」を参照してください。これでサービスアカウントにアクセス権があるAdobe Analytics データに接続できます。
サービスアカウントを使用したServer-to-Server OAuthで認証するには、AuthScheme をOAuthClient に設定します。接続するには次のプロパティを設定します。
- InitiateOAuth:GETANDREFRESH に設定。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
接続すると、本製品 はサービスアカウントでのOAuth フローを完了します。
- クライアントクレデンシャルOAuth フローで指定されたOAuthClientId およびOAuthClientSecret を使用して、アクセストークンを取得します。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化されるようにします。
- トークンが期限切れになった際に、新しいアクセストークンを要求します。
-
Web xml でリソースを設定します:
jdbc/adobeanalyticsdb javax.sql.DataSource Container -
これで、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 参照してください。