各製品の資料を入手。
詳細はこちら →CData
こんにちは!リードエンジニアの杉本です。
今回は現場帳票管理・電子化ソリューションの『XC-Gate』とCData JDBC ドライバを組み合わせて各種クラウドデータを帳票で活用する方法を紹介します。
XC-Gate は製造業、建設業、食品業界など様々な業界で活用されている現場帳票電子化ソリューションです。
https://product.technotree.com/xc-gate-ent/
普段皆さんが使っているExcel を利用して帳票をカスタマイズ、作成することができるのが大きな特徴です。
https://www.technotree.com/form/xc-editor
また、XC-Connect というツールをサーバーにインストールして、ローコードで業務管理・生産管理システムやBIツール、Excel、CSVといったデータと連携することができます。
https://product.technotree.com/xc-gate/xc-connect/feature/
今回作成する帳票は以下のようにSQL Analysis Services のデータを一覧表示するものとなっています。
SQL Analysis Services はREST APIが提供されているので、一見連携しやすいように見えますが、XC-Gate から直接クエリするにはインターフェース処理が難しい部分が実際問題として存在します。
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/resources_query.htm
そこで今回の記事ではこのボトルネックを「CData JDBC Driver」を活用することで解消します。
https://www.cdata.com/jp/drivers/ssas/jdbc/
XC-Gate では XC-Connect というデータベースのデータを読み込むための仕組みが標準提供されており、この機能を介してSQL ServerやMySQLなどにアクセスできるようになっています。
https://www.xc-times.com/news/?newsUCd=908b7620-3ecd-4e04-ab5d-4a42897c035d
そして、実はこのXC-Connect は内部でJDBC が利用されているため、XC-Connect とCData が提供しているJDBC Driver ラインナップを通じて、各種クラウドサービスのAPI にアクセスすることができるようになります。
とは言っても、説明だけではイメージできない部分もあると思うので、実際に帳票を作成してみましょう。
最初にCData SQL Analysis Services JDBC Driver を対象のマシンにインストールします。
以下のページから30日間のトライアルがダウンロードできます。
SQL Analysis Services JDBC ドライバーページインストーラーを入手後、対象のマシンでセットアップを進めていきます。
セットアップ完了後、以下のフォルダにJDBC Driver のjar ファイルが配置されます。
C:\Program Files\CData\CData JDBC Driver for SSAS 2023J\lib対象のjar ファイルを実行すると接続テストツールが立ち上がるので、これでSQL Analysis Services への接続を確認しておきましょう。
セットアップが完了すると接続設定画面が表示されるので、SQL Analysis Services への認証に必要な情報を入力します。
接続するには、Url プロパティを有効なSQL Server Analysis Services エンドポイントに設定して認証を提供します。XMLA アクセスを使用して、HTTP 経由でホストされているSQL Server Analysis Services インスタンスに接続できます。 Microsoft ドキュメント configure HTTP access を参照してSQL Server Analysis Services に接続してください。
SQL をSQL Server Analysis Services に実行するには、ヘルプドキュメントの「Analysis Services データの取得」を参照してください。接続ごとにメタデータを取得する代わりに、CacheLocation を設定できます。
AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。
Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。
Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。
デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。
接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱うことができます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。
詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。
あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。
無事接続が完了すると、「接続テストの成功」メッセージが表示されます。接続文字列は後で利用するのでコピーして控えておきましょう。
続いてXC-Connect の接続設定を進めましょう。XC-GateでJDBC Driver 経由のデータを扱う場合は、このXC-Connect が必要となります。
XC-Connect は以下のページでデベロッパー登録をすることでダウンロードできます。
https://www.developer.technotree.com/
XC-Connect をセットアップし立ち上げると、ログイン画面が表示されるので、設定したパスワードを使用してログインします。
併せて転送設定でXC-Gate側への接続を確立しておきましょう。予めXC-Gate の証明書を取得しておき、転送設定で指定しておきます。
それではXC-Gate でCData JDBC ドライバの指定を追加していきます。
「システム設定」→「JDBCファイル設定」に移動し、
ここでCData JDBC ドライバをアップロードして登録します。「ファイルを選択」をクリックし「cdata.jdbc.ssas.jar」をアップロードします。
JDBC 登録後は読み込みのためにXC-Connect を一度再起動させましょう。
合わせてライセンスファイル「cdata.jdbc.ssas.lic」を「C:\Windows\ServiceProfiles\LocalService\.CData」に配置しておきます。もし「.CData」フォルダが無い場合は、作成して配置します。
CData JDBC ドライバを配置したら、XC-Connect で「どういったデータを読み込ませるのか」を指定する機器設定を追加していきます。まず最初に接続情報を追加しましょう。
「機器設定」タブに移動し、「+機器の追加」をクリックします。
プロトコルの選択画面では「メーカー:データベース」「機種:JDBC 汎用(SQL)」「プロトコル:SQL」をそれぞれ指定します。
最初に接続情報を指定します。任意の設定名称を指定し、JDBC Driver 名で先程登録したDriver を選択します。
接続URLには「JDBC Driver の接続テスト」時に取得した接続文字列を指定しましょう。「ユーザー名」「パスワード」は利用しませんのでダミーの文字列を入力すればOKです。
入力後「接続テスト」をクリックして、「接続テストに成功しました」と表示さればOKです。
続いて。機器設定の詳細から「どういったデータを読み込ませるのか?」を指定する「取得データの追加」設定を行います。
機器登録完了後、「+取得データの追加」をクリックします。
任意のデータ名称を取得後、実行SQL を指定します。ここではSQL Analysis Services の取引先情報である「Account」テーブルを取得するためのSQLを指定しました。
取得間隔や実行タイムアウトは任意の設定を指定します。ただ、Web API の連携では、各種API 側のリクエスト制限が指定されているものも存在するので、過度に短い間隔は利用しないほうが良いかと思います。
「保存方式」は「マスタ(項目)形式」を指定し、キーとしてSQL Analysis Services の「Id」カラムを指定しました。
設定後、「接続テスト」をクリックし、以下のようにデータが取得できていればOK です。
登録後、「起動する」ボタンをクリックしておきましょう。
最後にXC-Gate で登録したマスタデータを利用するためのタグ設定を追加します。
「タグ設定」タブに移動し「+タグ設定の追加」をクリックしましょう。
「機器データ名称」の「選択」ボタンをクリックして、
登録しているCData JDBC ドライバを選択。
以下のようなタグ設定の画面に移るので「+表示項目の追加」をクリックし
帳票に取り込みたい項目をそれぞれ追加していきます。
あとは「タグEXCEL出力」でXC-Gate で利用するタグ設定を取得します。
これでXC-Gate で帳票を作成するためのタグが準備できました。
それでは実際にXC-Connect 経由でXC-Gate の帳票にデータが表示できるか試していきましょう。今回は先程取得したタグを利用して以下のような帳票をExcel で作成しました。
XC-Gate にログインし、これを「フォルダ」から「新しいチェックシート」として登録します。
作成したExcel ファイルを指定して、任意のファイル名でチェックシートを登録します。
チェックシートの登録が完了したら「プレビュー」ボタンをクリックして、帳票を参照してみましょう。
以下のような画面が表示されるので「コネクト取得」をクリックしてみると、
CData JDBC ドライバとXC-Connect 経由でリアルタイムにSQL Analysis Services のデータが取得できました!
このようにXC-Gate・XC-Connect とCData JDBC ドライバを組み合わせることで、手軽にXC-Gate の帳票に各種クラウドサービスのデータを取り込むことができます。
CData ではSQL Analysis Services 以外にも様々なクラウドデータソースのJDBC Driver を扱っています。
https://www.cdata.com/jp/jdbc/
ぜひ自社で利用しているサービスと合わせて、XC-Gate を活用してみてください。