Spotfire Server から Stack Exchange データOperational レポーティングを作成

古川えりか
古川えりか
コンテンツスペシャリスト
Create and share Spotfire data visualizations を使って、リモートStack Exchange のデータ にリアルタイム接続のdata visualization を作成して共有。

CData JDBC Driver for API をJava reporting server にドロップイン インストールすると、エンタープライズな帳票ソリューションからStack Exchange へのリアルタイムなデータ連携が可能になります。この記事では、データソーステンプレートを使ってSpotfire ライブラリを拡張しリモートStack Exchange を連携可能にします。そうすると、Stack Exchange へのあらゆる変更を反映するリアルタイムビジュアライゼーションの作成および共有ができます。

JDBC データソースとしてStack Exchange に接続

CData JDBC Driver for API をSpotfire Server にインストールするには、driver JAR をクラスパスにドロップして、ここではデータソーステンプレートを使います。

  1. ドライバーをSpotfire Server のクラスパスに追加するには、インストールフォルダの[lib]サブフォルダからSpotfire Server インストレーションの[lib]サブフォルダにdriver JAR をコピーします。例:MySpotfireServerHomeDirectory/tomcat/lib

    Note:.lic ファイルはJAR と同じフォルダに配置される必要があります。

  2. [TIBCO Spotfire Server Configuration Tool]で[Configuration]タブをクリックし、[Configuration Start]ノードのデータソーステンプレートを選択します。
  3. 以下を使って新しいデータソーステンプレートを作成します:

    
    <jdbc-type-settings>
      <type-name>api</type-name>
      <driver>cdata.jdbc.api.APIDriver</driver>
      <connection-url-pattern>jdbc:api:</connection-url-pattern>
      <ping-command>SELECT * FROM Projects LIMIT 1</ping-command>
      <connection-properties>
        <connection-property>
          <key>Profile</key>
          <value>C:\profiles\StackExchange.apip</value>
        </connection-property>
        <connection-property>
          <key>ProfileSettings</key>
          <value>'APIKey</value>
        </connection-property>
        <connection-property>
          <key>Site</key>
          <value>stackoverflow'</value>
        </connection-property>
      </connection-properties>
      <fetch-size>10000</fetch-size>
      <batch-size>100</batch-size>
      <max-column-name-length>32</max-column-name-length>
      <table-types>TABLE, VIEW</table-types>
      <supports-catalogs>true</supports-catalogs>
      <supports-schemas>true</supports-schemas>
      <supports-procedures>false</supports-procedures>
      <supports-distinct>true</supports-distinct>
      <supports-order-by>true</supports-order-by>
      <column-name-pattern>"$$name$$"</column-name-pattern>
      <table-name-pattern>"$$name$$"</table-name-pattern>
      <schema-name-pattern>"$$name$$"</schema-name-pattern>
      <catalog-name-pattern>"$$name$$"</catalog-name-pattern>
      <procedure-name-pattern>"$$name$$"</procedure-name-pattern>
      <column-alias-pattern>"$$name$$"</column-alias-pattern>
      <string-literal-quote>'</string-literal-quote>
      <max-in-clause-size>1000</max-in-clause-size>
      <condition-list-threshold>10000</condition-list-threshold>
      <expand-in-clause>false</expand-in-clause>
      <table-expression-pattern>[$$catalog$$.][$$schema$$.]$$table$$</table-expression-pattern>
      <procedure-expression-pattern>[$$catalog$$.][$$schema$$.]$$procedure$$</procedure-expression-pattern>
      <procedure-table-jdbc-type>0</procedure-table-jdbc-type>
      <procedure-table-type-name></procedure-table-type-name>
      <date-format-expression>$$value$$</date-format-expression>
      <date-literal-format-expression>'$$value$$'</date-literal-format-expression>
      <time-format-expression>$$value$$</time-format-expression>
      <time-literal-format-expression>'$$value$$'</time-literal-format-expression>
      <date-time-format-expression>$$value$$</date-time-format-expression>
      <date-time-literal-format-expression>'$$value$$'</date-time-literal-format-expression>
      <java-to-sql-type-conversions>VARCHAR($$value$$) VARCHAR(255) INTEGER BIGINT REAL DOUBLE PRECISION DATE TIME TIMESTAMP</java-to-sql-type-conversions>
      <temp-table-name-pattern>$$name$$#TEMP</temp-table-name-pattern>
      <create-temp-table-command>CREATE TABLE $$name$$#TEMP $$column_list$$</create-temp-table-command>
      <drop-temp-table-command>DROP TABLE $$name$$#TEMP</drop-temp-table-command>
      <data-source-authentication>false</data-source-authentication>
      <lob-threshold>-1</lob-threshold>
      <use-ansii-style-outer-join>false</use-ansii-style-outer-join>
      <credentials-timeout>86400</credentials-timeout>
    </jdbc-type-settings>
    
  4. Spotfire Server service を再起動します。

ドライバーが標準SQL をサポートしているため、Spotfire Platform の使い慣れたインターフェースにStack Exchange へのリアルタイム連携を統合します。Spotfire Professional 、およびJaspersoft Studio を含むその他のアプリケーションからStack Exchange にデータ連携するには、[Information Designer]でinformation linkを作成します。

カラムやフィルターを選択するごとに、Spotfire Server はinformation link下のSQL クエリをビルドします。[Open Data]をクリックしてSpotfire にデータをロードします。

これで帳票の作成者は、Spotfire データテーブルに基づいてStack Exchange ビジュアライゼーションをビルドできます。SQL クエリを書く必要はありません。帳票のビューアは、正確で最新のStack Exchange を連携取得することができます。

はじめる準備はできましたか?

API Driver で Stack Exchange のライブデータに接続

Stack Exchange に接続