こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for HubDB は、HubDB へのリアルタイムアクセスをJava ベースのレポートサーバーに統合できる標準のデータベースドライバーです。この記事では、ドライバーをOracle Business Intelligence Enterprise Edition (OBIEE) にデプロイし、変更を反映するHubDB に関する方法を示します。
JDBC ドライバーをデプロイ
以下のステップに従って、WebLogic のクラスパスにJDBC ドライバーを追加します。
WebLogic 12.2.1 の場合、ドライバーJAR と.lic ファイルをORACLE_HOME\user_projects\domains\MY_DOMAIN\lib のようにDOMAIN_HOME\lib に配置します。これらのファイルは、起動時にサーバーのクラスパスに追加されます。
ドライバーをクラスパスに手動で追加することもできます。これは、以前のバージョンで必要です。setDomainEnv.cmd (Windows) または setDomainEnv.sh (Unix) のPRE_CLASSPATH の前に以下を追加します。このスクリプトは、そのドメインのフォルダーのbin サブフォルダーにあります。例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin.
set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.hubdb.jar;%PRE_CLASSPATH%
DOMAIN_HOME\bitools\bin でstop コマンドとstart コマンドを実行するなど、すべてのサーバーを再起動します。
JDBC Data Source for HubDB の作成
JDBC ドライバーをデプロイした後、BI Publisher からJDBC データソースを作成できます。
- BI Publisher にURL http://localhost:9502/analytics でログインし、[Administration]->[Manage BI Publisher]とクリックします。
- [JDBC Connection]->[Add Data Source]と進みます。
- 以下の情報を入力します。
- Data Source Name:ユーザーが接続を作成する名前をレポートに入力します。
- Driver Type:SELECTOther.
- Database DriverClass:ドライバークラスに cdata.jdbc.hubdb.HubDBDriver を入力します。
- Connection String:JDBC URL を入力します。
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
カスタムOAuthアプリを使用する
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
- HubSpotアプリ開発者アカウントにログインします。
- アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
- 開発者アカウントのホームページで、アプリタブをクリックします。
- アプリを作成をクリックします。
- アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
- 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
- デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
- Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
- アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
- 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
- hubdb
- oauth
- crm.objects.owners.read
- 変更を保存をクリックします。
- 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
- 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
- コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
- アプリを接続をクリックします。結果のタブは閉じて構いません。
プライベートアプリを使用する
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
- HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
- 左サイドバーメニューで、統合 > プライベートアプリに移動します。
- プライベートアプリを作成をクリックします。
- 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
- テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
- コピーをクリックして、プライベートアプリケーショントークンをコピーします。
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、HubDB JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.hubdb.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は一般的なJDBC URL です。
jdbc:hubdb:AuthScheme=OAuth;OAuthClientID=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH
- Username:ユーザー名。
- Password:パスワード。
- [Security]セクションで、許可されているユーザーロールを選択します。
リアルタイムのHubDB レポートを作成
リアルタイムのHubDB に基づいてレポートと分析を作成できるようになります。以下のステップに従って、標準のレポートウィザードを使用してHubDB への変更を反映するインタラクティブなレポートを作成します。
- グローバルヘッダーで、[New]->[Data Model]をクリックします。
- Diagram タブでメニューからSQL クエリを選択します。
- クエリの名前を入力し、[Data Source]メニューで、作成したHubDB JDBC データを選択します。
- 標準のSQL を選択し、以下のようなクエリを入力します。
SELECT PartitionKey, Name FROM NorthwindProducts WHERE Id = '1'
- [View Data]をクリックし、レポートの作成に使用するサンプルデータを生成します。
- サンプルデータに含める行数を選択し、[View]をクリックして[Save As Sample Data]をクリックします。
- [Create Report]->[Use Data Model]とクリックします。
- [Guide Me]を選択し、[Select Layout]ページで含めるレポートオブジェクトを選択します。この例では、[Chart]と[Table]を選択します。
- Name のような数値列をy 軸の[Drop Value Here]ボックスにドロップします。PartitionKey のようなディメンション列をx 軸の[Drop Label Here]ボックスにドロップします。
- [Refresh]をクリックしてHubDB への変更を取得します。