JDBI からAnaplan データのデータアクセスオブジェクトを作成
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Anaplan は、Java アプリケーションとリアルタイムAnaplan のデータ のデータ連携を実現します。これらの技術を組み合わせることによって、Anaplan のデータ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するAnaplan のデータ の読み書きのためのコードの作成について説明します。
Anaplan Sales Entity のDAO を作成
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MySalesDAO {
//request specific data from Anaplan (String type is used for simplicity)
@SqlQuery("SELECT Product FROM Sales WHERE Value = :value")
String findProductByValue(@Bind("value") String value);
/*
* close with no args is used to close the connection
*/
void close();
}
Anaplan への接続を開く
必要な接続プロパティを収集し、Anaplan に接続するための適切なJDBC URL を作成します。
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 の使用方法については、ヘルプドキュメントの「はじめに」の章を参照してください。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Anaplan JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.anaplan.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Anaplan の接続文字列は、通常次のようになります。
jdbc:anaplan:OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=your_callback_url;Region=US1;InitiateOAuth=GETANDREFRESH;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:anaplan:OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=your_callback_url;Region=US1;InitiateOAuth=GETANDREFRESH;");
MySalesDAO dao = dbi.open(MySalesDAO.class);
//do stuff with the DAO
dao.close();
Anaplan データについて
Anaplan への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Anaplan のSales エンティティからデータを取得できます。
//disply the result of our 'find' method
String product = dao.findProductByValue("100");
System.out.println(product);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Anaplan と統合することで、SQL Object API for Anaplan を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムAnaplan を操作しましょう。