こんにちは。CData Software Japanリードエンジニアの杉本です。
本記事では、各種 Web API を ODBC / JDBC / ADO.NET といった標準のDB接続規格でアクセスできるようにするCData API Driverを用いて、SMILE V の API を各種ツールから接続する方法を紹介します。
ExcelやAccess・Power BIなどのエンドユーザーが利用するUIベースのツールはもちろん、Visual StduioやEclipseといった開発ツールからも接続することが可能です。
対象 API
SMILE V とは販売、会計、人事給与を中心に、様々なモジュールが提供されている国産の基幹業務システムです。
今回はこのAPIを用いて様々なツールとの連携を実現します。(※APIの利用には別途契約が必要です)
実現イメージ
この記事では SMILE V API に対してBIやETL/EAI など、様々なツールから接続します。しかしながら、各API は単純にツールと接続・連携することはできません。
各ツールがどのようにWeb API 側へリクエストを投げるべきかの判断材料や各種認証方法の処理、メタデータの情報等が無いためです。そのためには基本的にカスタムコネクタを作るか、プログラムを組まなければいけません。
そこで、CData API Driver を用いて、このボトルネックを解決します。
まず、各ツールからはODBCやJDBCインタフェースでSQL(Select文)をCData API Driverに向けて発行してもらいます。そのリクエストを受け取った CData API Driverは、SMILE V の API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト発行します。
リクエスト後、JSONフォーマットで返ってきたデータをCData API Driverが各種インタフェースフォーマットにデータを変換してツールに返します。
これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータをSMILE V API から取得することが可能となります。
各種接続シナリオと必要なツール
CData API Driver は様々なツールとの接続に利用できますが、今回は以下のツールを用いて接続する方法を解説していきます。
- Excel(Excel-addin で利用)
- Access(ODBC 接続で利用)
- PowerBI (Power BI Connector 接続で利用)
- ASTERIA Warp(JDBC Driver 接続で利用)
- CDataSync
なお、CData API Driverは上記以外にも様々なツールと連携することが可能です。
https://www.cdata.com/jp/kb/tech/rest-article-list.rst
テーブル(ビュー)一覧
CData API Drvier で SMILE V APIに接続するためには専用の設定ファイル(Profile)が必要になります。
SMILE V API Profile では、以下のテーブル(ビュー)を提供しています。用途に合わせて、接続してみてください。
・人事給与_人事基本情報
・人事給与_分類名マスター
・人事給与_所属名マスター
・人事給与_社員マスター
・会計_プロジェクトマスター
・会計_仕入先マスター
・会計_得意先マスター
・会計_科目マスター
・会計_科目内訳マスター
・会計_部門マスター
・販売_仕入先マスター
・販売_分類名マスター
・販売_商品マスター
・販売_得意先マスター
・販売_担当者マスター
SMILE V API 利用準備
最初にSMILE VのAPIを利用するためにはAPI KeyおよびAPI接続のURLが必要になります。
詳しくはSMILE V を導入した販売店にお問い合わせください。
API データ処理用 設定ファイルを作成
続いて、SMILE V の API を CData API Deiver が解釈できるように設定ファイル(API Profile)を作成します。
以下のページからダウンロードして解凍しておきます。
https://cdatajbuilds.s3.ap-northeast-1.amazonaws.com/APIProfiles/SMILE+V.zip
保存先フォルダは後ほど使用するので「C:\APIProfiles\SMILE V」といったツールからアクセスが可能な任意のフォルダに配置してください。
CData API Driver のインストール
各種ツールとSMILE V API を繋ぐために必要となるCData API Driverをインストールします。
基本的なインストール・設定方法は各種Driver共通ですので、ここではODBC Driverを例に説明します。
まず、CData API ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。
https://www.cdata.com/jp/apidriver/download/
ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。
※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。
インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。
以下の項目をセットし、「接続のテスト」をクリックします。
プロパティ名
|
値
|
備考
|
Profile
|
SMILE V
|
|
ProfileSettings
|
ServerName=SAMPLE.kk-osk.jp;VirtualDirectoryName=XXXX;CompanyName=000;APIKey=SAMPLE API KEY;
|
接続先となる環境情報等を指定します。
こちらの連携例は、オンプレ、公開環境、IaaS環境で利用できます。
|
Location
|
C:\APIProfiles
|
SMILE Vフォルダが配置されたフォルダパスを指定します。
|
ProfileSettingsの指定情報はAPI接続のURLから確認できます。
「http://<ServerName>/<VirtualDirectoryName>/rest/<CompanyName>/CUS/v1/Records/」
これで CData API Driver からの接続が完了します。
それでは実際に各種ツールからの接続方法を解説していきましょう。
Excel から SMILE V API に接続(Excel Add-in for API)
CData Excel Add-in for API をインストール後、Excelを立ち上げるとCDataタブが追加されていることがわかります。このタブから各種操作を実施します。
接続を開始するには、CDataタブから[取得元 API]をクリックします。
最初に接続するためのウィザードが表示されるので、「CData API Driverのインストール」の内容と同様に各種パラメータを入力します。
接続後、対象テーブルを選択し、クエリを編集の上、「OK」をクリックします。
クリック後、対象のデータが一括で取得できます。
Access リンクテーブル から SMILE V API に接続(CData API ODBC Driver)
次はCData ODBC Driverを利用して、Access リンクテーブルから接続してみたいと思います。
あらかじめ新規にAccessを立ち上げて、空のデータベースを作成しておきましょう。
続いて「外部データ」タブから「新しいデータ ソース」→「他のソースから」→「ODBC データベース」を選択します。
ウィザードが表示されるので「リンクテーブルを作成」を選択し、「OK」をクリックします。
データソースの選択では「コンピューターデータソース」から事前に作成したCData API Driver用DSNを選択し「OK」をクリック
テーブルの一覧が表示されるので、任意のテーブルを選択し「OK」をクリックします。
設定後、リンクテーブルが追加され、以下のようにSMILE Vのデータを閲覧することができるようになります。もちろん、通常通りクエリデザイナーでも使用可能です。
Power BI から SMILE V API に接続(CData API Driver for Power BI)
最後にCData Power BI API Connector を用いて、Power BI からSMILE V のデータを取得します。
Power BI Desktop を起動して、「データを取得」をクリックします。
データ接続先一覧の中から「CData API」を選択し、「接続」をクリックします。
データソース名は先程登録したSMILE VのDSNを入力し「OK」をクリックします。
テーブルの一覧から対象となるテーブルを選択し「読み込み」をクリックします。
以下のようにSMILE Vのデータを読み込みことができます。
あとはPoewr BIの機能を用いて、ビジュアライズに利用することができます。
ASTERIA Warp から SMILE V API に接続(CData JDBC API Driver)
ASTERIA Warpでは、フローデザイナーを使って、データ処理のプロセスを作成します。
フローデザイナーの基本的な利用方法についてはWarpの[フローデザイナー操作ガイド](https://help.asteria.com/documentation/warp/ja/current/flow/designer/index_guide.html)をご覧ください。
CData JDBC API Driver はインストール後、「cdata.jdbc.api.jar」と「cdata.jdbc.api.lic」のファイルをAsteriaのドライバーフォルダ(asteriahome5\system\lib\drivers)に登録します。
その後、ASTERIA Warpを立ち上げて、フローデザイナーにアクセスし、CData JDBC Driverを使用するために接続を追加します。
画面左のコネクションペイン上にある電源ボタンをクリックをクリックすると、「コネクションの作成」ダイアログが表示されます。
「接続種別」として「RDB」を選択、「名前」に分かりやすい名前を設定し「OK」をクリックします。
作成したコネクションをダブルクリックすると、画面右のインスペクタに接続プロパティが表示されます。
「基本」タブでドライバーのパスとURLをそれぞれ設定します。
プロパティ名
|
値
|
備考
|
ドライバーのパス
|
例)C:\asteriahome5\system\lib\drivers\cdata.jdbc.api.jar
|
前節でインストールした API JDBC Driverファイルへの参照を指定します。
|
URL
|
例)jdbc:api:Profile=SMILE V;Location=C:\API Profiles;ProfileSettings='ServerName=SAMPLE.kk-osk.jp;VirtualDirectoryName=SAMPLE;CompanyName=000;APIKey=XXXXX';
|
接続先となる環境情報等を指定します。
こちらの連携例は、オンプレ、公開環境、IaaS環境で利用できます。
|
構成後、「接続のテスト」を実行して、成功すればOKです。
これでコネクションの作成は完了です。あとは、フロー上でデータベースタブにある「RDBGet」のコンポーネントを使って、データの取得が行なえます。
「RDBGet」フローに配置し、ダブルクリックします。
コネクションの選択ウインドウが表示されるので、先程作成したSMILE Vのコネクションを選択しましょう。
その後、SQLビルダーが表示されるので、取得したいデータが格納されている、任意のテーブルとカラムを選択します。
あとは、「モデルにSQLを適用する」をクリックし「SELECTテスト」でデータが正常に取得できているかを確認します。
以下のようにデータが参照できれいればOKです。設定を保存してSQLビルダーを閉じます。
あとは Asteria Warp の機能で様々なサービスと SMILE Vのデータの連携を実現できます。
CData Sync から SMILE V に接続
https://www.cdata.com/jp/sync/
CData Sync ではデータソースとして、SMILE Vに接続することができます。
なお、CData Sync Windows版の場合は「SMILE V.apip」のプロファイルをSyncの本体が存在するフォルダの「www\app_data\profiles」に配置してください。profilesフォルダが存在しない場合は手動で作成してください。
https://cdatajbuilds.s3.ap-northeast-1.amazonaws.com/APIProfiles/SMILE+V.apip
> C:\ProgramData\CData\sync\profiles
Cross-Platform版の組み込みJettyで構成している場合は、以下のフォルダにapipファイルを配置します。
> /opt/sync/profiles
配置後、CDataSyncを起動すると以下のようにデータソースとして SMILE Vが利用できるようになります。
接続プロパティは以下の通り設定します。入力は「接続文字列」を指定してください。
プロパティ名
|
値
|
備考
|
接続文字列
|
Profile=SMILE V;Location=C:\API Profiles;ProfileSettings='ServerName=SAMPLE.kk-osk.jp;VirtualDirectoryName=SAMPLE;CompanyName=000;APIKey=XXXXX';
|
接続先となる環境情報等を指定します。
こちらの連携例は、オンプレ、公開環境、IaaS環境で利用できます。
|
入力後、「接続」ボタンをクリックし、接続テストが完了すればOKです。
併せて、任意の同期先の接続情報も構成しておきましょう。
接続完了後、新しくジョブを作成します。
先程作成した SMILE V のコネクションを選択します。
ジョブを作成した後は、SMILE V の同期対象となる任意のテーブルを選択しましょう。
データのプレビュー画面で、実際に取得が成功しているかどうかを確認できました。
あとは、任意のスケジュールを指定してデータのレプリケーションを実行できます。
試しに手動で実行してみると、それぞれのレプリケーション件数が結果として表示されます。
RDBの中でもレプリケーションされたデータが確認できました。
終わりに
これら以外にもCData API Driver は各種ETLツールや帳票ツールなどからも接続することが可能です。
以下のCData オンラインナレッジベースには、各種ツールからの接続方法を紹介した記事が多数掲載されているので、是非見てみてください。
https://www.cdata.com/jp/kb/
不明な点があれば、テクニカルサポートまでお気軽にどうぞ!
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ