TIBCO Data Virtualization で freee のデータ にリアルタイムアクセスする方法
TIBCO Data Virtualization(TDV)は、複数の多様なデータソースへのアクセスを一元管理するエンタープライズデータ仮想化ソリューションです。CData TIBCO DV Adapter for freee と組み合わせることで、TIBCO Data Virtualization 内からfreee のデータに直接フェデレーテッドアクセスが可能になります。この記事では、アダプターのデプロイと freee に基づく新しいデータソースの作成手順を解説します。
CData TIBCO DV Adapter は、最適化されたデータ処理機能が組み込まれており、freee のデータ とのインタラクションにおいて比類のないパフォーマンスを発揮します。freee に対して複雑な SQL クエリを発行すると、アダプターはフィルタや集計などサポートされている SQL 操作を直接 freee にプッシュします。組み込みの動的メタデータクエリにより、ネイティブのデータ型を使用してfreee のデータを操作・分析できます。
freee TIBCO DV Adapter のデプロイ
コンソールで、TDV Server のインストールディレクトリ内の bin フォルダに移動します。現在のバージョンのアダプターがインストールされている場合は、先にアンデプロイする必要があります。
.\server_util.bat -server localhost -user admin -password ******** -undeploy -version 1 -name API
CData TIBCO DV Adapter をローカルフォルダに解凍し、解凍した場所から JAR ファイル(tdv.api.jar)をサーバーにデプロイします。
.\server_util.bat -server localhost -user admin -password ******** -deploy -package /PATH/TO/tdv.api.jar
新しい JAR ファイルが正しくロードされるように、サーバーの再起動が必要な場合があります。再起動は、C:\Program Files\TIBCO\TDV Server <version>\bin にある composite.bat スクリプトを実行して行えます。サーバーを再起動した後は、TDV Studio への再認証が必要です。
再起動コマンドの例
.\composite.bat monitor restart
OAuth を使用して freee で認証する
freee は OAuth プロトコルを使用して認証を行いますが、TDV Studio は内部でブラウザベースの認証をサポートしていないため、OAuth トークンを取得するための簡単な Java アプリケーションを作成して実行する必要があります。取得したトークンは、アダプターから直接 freee に接続するために使用されます。
以下のコードサンプルは、freee での認証方法を示しています。tdv.api.jar ファイルをクラスパスに含めて Java アプリケーションを実行するだけです。
APIOAuth oauth = new APIOAuth();
oauth.generateOAuthSettingsFile("InitiateOAuth=GETANDREFRESH;" +
"Profile=freee.apip;ProfileSettings='CompanyId=1234567;';Authscheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackUrl=your_callback_url;" +
"OAuthSettingsLocation=C:\api\OAuthSettings.txt;");
アダプターをデプロイして認証が完了したら、TDV Studio で freee 用の新しいデータソースを作成できます。
TDV Studio で freee データソースを作成する
CData TIBCO DV Adapter for freee を使用すると、freee 用のデータソースを簡単に作成し、データソースをイントロスペクトしてリソースを TDV に追加できます。
データソースの作成
- データソースを追加するフォルダを右クリックし、New -> New Data Source を選択します。
- アダプター(例:freee)が表示されるまでスクロールし、Next をクリックします。
- データソースに名前を付けます(例:CData freee Source)。
必要な接続プロパティを入力します。
まずはOAuth アプリを作成します。https://app.secure.freee.co.jp/developers/applications にアクセスして、「新しいアプリケーションの作成」ボタンをクリックします。アプリケーション名を指定し、リダイレクトURL を設定して登録をクリックします。そうすると、クライアントシークレットとクライアントID が発行されます。
次に、プロファイルをダウンロードしてドライバーがアクセス可能な場所に配置します。こちらからプロファイルをダウンロードして、「C:/profiles/」 などに設置してください。
その後、Companies ビューからCompanyId を取得します。以下の接続プロパティを設定したら、接続する準備ができます。
- AuthScheme:OAuth に設定します。
- OAuthClientID:アプリ設定で指定されたOAuth クライアントID に設定します。
- OAuthClientSecret:アプリ設定で指定されたOAuth クライアントシークレットに設定します。
- CallbackURL:アプリ設定で指定したリダイレクトURI に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使用してOAuthAccessToken を取得するプロセスを管理できます。
NOTE:DV Adapter の OAuthSettingsLocation プロパティには、OAuth 認証(上記参照)を実行したときと同じ値を設定してください。
- Create & Close をクリックします。
データソースのイントロスペクト
データソースを作成したら、右クリックして Open を選択することでデータソースをイントロスペクトできます。ダッシュボードで Add/Remove Resources をクリックし、データソースの一部として含めるテーブル、ビュー、ストアドプロシージャを選択します。Next をクリックし、Finish をクリックして、選択した freee のテーブル、ビュー、ストアドプロシージャをリソースとして追加します。
データソースを作成してイントロスペクトしたら、他のリレーショナルデータソースと同様に TIBCO Data Virtualization でfreee のデータを操作できるようになります。ビューの作成、SQL によるクエリ、データソースの公開など、さまざまな操作が可能です。