Jetty の接続プールから Anaplan のデータ に接続
CData JDBC Driver for Anaplan は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から Anaplan のデータ に効率的に接続する方法を説明します。Jetty で Anaplan 用の 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 アプリレベルで Anaplan データソースを宣言しています。
<Configure id='anaplandemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="anaplandemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="anaplandemo"/></Arg> <Arg>jdbc/anaplandb</Arg> <Arg> <New class="cdata.jdbc.anaplan.AnaplanDriver"> <Set name="url">jdbc:anaplan:</Set> <Set name="OAuthClientId">your_client_id</Set> <Set name="OAuthClientSecret">your_client_secret</Set> <Set name="CallbackURL">your_callback_url</Set> <Set name="Region">US1</Set> <Set name="InitiateOAuth">GETANDREFRESH</Set> </New> </Arg> </New> </Configure>Anaplan への認証
ドライバーはBasic、証明書、またはOAuth による認証をサポートしています。いずれの場合も、Region をAnaplan アカウントデータがホストされているリージョン(例:US1、これがデフォルト)に設定してください。
Basic 認証の使用
AuthScheme をBasic に設定し、Anaplan のUser とPassword を入力します。ワークスペースがシングルサインオン(SSO)を使用している場合は、Basic 認証を使用するために Exception User として割り当てられている必要があります。
証明書認証の使用
AuthScheme をCertificate に設定し、Certificate、CertificateType、PrivateKey プロパティを入力します(どちらかが暗号化されている場合はCertificatePassword / PrivateKeyPassword も設定してください)。証明書は、Anaplan テナント管理者に登録されたCA 発行のX.509 証明書である必要があります。
OAuth 認証の使用
Anaplan でカスタムOAuth アプリケーションを登録し、以下のプロパティを設定します:
- OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL:アプリケーションの登録時に定義したリダイレクトURI。
- InitiateOAuth:GETANDREFRESH に設定すると、ドライバーがOAuth トークンの交換と更新を自動的に管理します。
カスタムOAuth アプリの作成方法とOAuth の使用方法については、ヘルプドキュメントの「はじめに」の章を参照してください。
-
Web.xml でリソースを設定します。
jdbc/anaplandb javax.sql.DataSource Container
-
これで、java:comp/env/jdbc/anaplandb をルックアップして Anaplan にアクセスできます。
InitialContext ctx = new InitialContext(); DataSource myanaplan = (DataSource)ctx.lookup("java:comp/env/jdbc/anaplandb");
Jetty 統合の詳細
上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。