こんにちは。エクセルソフトの田淵です。
本エントリーは CData Software User Group Advent Calendar 2017 - Qiita の 23日目のエントリーです。遅くなりましてすみません。
今日は各種データソースに接続して API を作成するプロダクト CData API Server を触ってみます。
CData 製品と API Server
CData 製品はそもそも各種 SaaS やオンラインデータソースなどに接続できる ODBC、JDBC、ADO.NET 用のドライバーを提供しています。つまり、Salesforce や SharePoint に SQL 文でアクセスできるというプロダクト群をメインで扱っています。詳しくは CData API Server の製品ページをご覧ください。
API Server はちょうどその逆を行くようなプロダクトで、以下のような各種データソースに接続し、RESTFull な API を簡単に提供できるサーバープロダクトです。
非常に面白いプロダクトで、例えばモノリシックな PHP のサーバーにはまだ API が無くて、急に API が欲しいと言われた。とか、API を作って他社との差別化を図ろうとか。そんな時に「さっと」API を作れます。
ダウンロードとインストール
Cdata のサイト にアクセスし、「ダウンロード」ボタンをクリックして表示されるポップアップで「Windows Setup (.exe)」か「Cross-Platform Unix/Linux/Mac Setup (.zip)」から適切なファイルをダウンロードします。
次の画面で必要事項を記入して、「ダウンロード」ボタンをクリックするとインストーラーがダウンロードされます。
Windows 版のインストール
ダウンロードした Setup.exe を起動してインストールします。
初回のインストール時には API Server のログインユーザー名とパスワードを記入する必要がありますので、忘れないようにメモしておきます。
Cross-Platform 版
Cross-Platform 版 API Server は war ファイルで提供されるため、Tomcat などの Java Application Server がインストールされた Unix/Linux/Mac で動作します。
zip を展開すると、apiserver.war
の他に Readme.txt
/Readme.html
がありますので、ドキュメントに沿って war をデプロイしてください。ドキュメントには、Tomcat、JBoss、WebSphere、WebLogic、Jetty へのインストール方法が記載されています。
起動
API Server を実行すると、ログイン画面が表示されますので、ログインします。
ダッシュボードが表示されます。
接続の作成
今回はあらかじめ用意した、ローカルの SQL Server Express データベースに接続してみたいと思います。
「設定>接続」をクリックして、「SQL Server」のアイコンをクリックします。
Name
に任意の名前、Server
に「<ローカルマシン名>\SQLEXPRESS」、Database
にデータベース名、User
に「sa」、Password
に sa のパスワードを入力します。
データベース名などは、SQL Server Management Studio(SSMS) で参照できます。
正しく入力したら「Test Connection」をクリックして接続を確認し、「Save Changes」ボタンをクリックして保存します。
Settings Format
で「Connection String」を選択し、接続文字列を直接記入しても構いません。
リソースの選択
データベースへの接続が完了したら、テーブルを取得します。「リソース」タブで「リソースを追加」をクリックします。
先ほど作成したコネクションが表示されるので、選択して「次へ」をクリックします。
テーブル一覧が表示されるので、API を提供するテーブルを選択して「次へ」をクリックします。
テーブルの列が表示されるので、リソース名
に任意の名前(API のエンドポイントになります)、オペレーション
で許可する CRUD の操作、下のチェックボックスで API で操作する列を選択し、「保存」をクリックします。
この例では、Id
はオートインクリメントの設定にしているため、API での操作から除外しています。
これで API の作成は完了です!一瞬だったかと思います。
作成された API にアクセスする
「API>リソース」をクリックして先ほど作成した API を見てみましょう。
例えば GET
をクリックすると、REST でのリクエストやレスポンス形式、パラメーターの説明などが表示されます。
現在のブラウザは API Server にログインしている状態なのですべての情報を閲覧できます。そのまま GET
の URL を開いてみましょう。
無事データが JSON 形式で表示されているのが分かりますね!!!
メモ:余談ですが、JSON がツリーで見えるのは Chrome 拡張の「JSON Viewer」です。生のデータを見たい場合は、URL欄の先頭に
view-source:
と付けてアクセスしてください。
実際に作成した Rest API にアクセスするには、Postman というツールを使うと便利です。Postman の使い方は先日 RESTサービスを触る際の必須ツールPostmanを使ってみました | エクセルソフト ブログ でエントリーを書きましたので、併せてご覧ください。
次は
フィルタを掛けたり、アクセス制御をしたり、少し設定していきましょう。
CData API Server については 弊社製品ページ をご覧ください。
以上です。