SaaSやデータベースなどあらゆるデータソースをWeb API化するツールCData API Serverで、IBMのDB2のテーブルをWeb API化する方法を紹介します。
1. API Serverインストールとドライバの配置
はじめにAPI Serverのインストール方法とDB2 JDBCドライバの配置方法を説明します。
1.1 Javaのインストール
API ServerにはWindows EditionとJava Editionがありますが、今回はJava Editionを利用します。 API ServerのインストールにはJavaが必要なため、インストールされていない場合は以下を参考にインストールしてください。 https://www.java.com/ja/download/help/download_options_ja.html
Javaインストール後は環境変数PATHに<Javaインストールフォルダ>\binへのパスを追加してください。
1.2 API Serverのインストール
API Serverは以下ページのCross-Platform (java)をダウンロードしてください。
https://www.cdata.com/jp/apiserver/download/
ダウンロードしたパッケージを解凍するといくつかのファイルが展開されます。 解凍先フォルダで以下のコマンドを実行してインストーラを起動してください。
> java -jar setup.jar
インストーラが起動されたらウィザードに従ってインストールを行ってください。
1.3 DB2 JDBCドライバの配置
DB2 JDBCへの接続にはJDBCドライバ(db2jcc4.jar)が必要です。 DB2インストール環境にアクセスできる場合はSQLLIB\JAVAフォルダにドライバが配置されていますのでこれを使用してください。 インストール環境が無い場合でも以下URLからダウンロード可能です。
https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads
JDBCドライバを入手したらAPI Serverインストールフォルダ直下のlibフォルダに配置してください。 これはデフォルトでは以下のパスとなります。
C:\Program Files\CData\CData API Server Java Edition 2021J\lib
以上でAPI Serverを使用する準備は完了です。
2. Web APIの作成
それではAPI Server上でDB2のAPIを作成します。 API Serverのインストールフォルダで以下コマンドを実行してAPI Serverを起動してください。
> java -jar apiserver.jar
起動が完了したらAPI Serverのコンソールページをブラウザで開いてください。
デフォルトではhttp://<ホスト名>:8080/apiserver
となります。
ログイン画面が表示されますので、ユーザ名に「admin」、パスワードとしてインストール時に設定したパスワードを入力してログインしてください。
2.1 接続の作成
はじめにデータベースへの接続を作成します。 メニューの[設定]を開き、[接続]タブの[接続の追加]をクリックしてください。
データソースの選択画面が開きますので[Databases]セクションの[DB2]を選択します。
接続設定画面が開きますので[名前]に適当な接続名を入力し、接続文字列を設定してください。 [フォーマット設定]で[接続文字列]を選択すると[接続文字列]の入力欄が表示されますので、ここにデータベースの接続に関する設定情報として接続文字列を入力します。
一般的な接続文字列のフォーマットは以下の通りです。
jdbc:db2://<ホスト名>:<ポート番号>/;user=<ユーザ名>;password=<パスワード>;currentSchema=<デフォルトスキーマ>
以下に接続文字列の例を示します。
jdbc:db2://localhost:50000/;user=testuser;password=password;currentSchema=test
API Server画面例
設定が完了したら[接続のテスト]をクリックして接続を確認してください。 最後に[変更を保存]をクリックして設定を保存してください。
2.2 リソースの作成
続いてリソース(Web API)を作成します。 メニューの[設定]を開き、[リソース]タブの[リソースを追加]をクリックしてください。
接続の一覧が表示されますので、先ほど作成した接続を選択し、[次]をクリックしてください。
テーブル一覧画面が表示されますので、APIを作成するテーブルをチェックし、[次]をクリックしてください。
リソース編集画面が表示されます。
[リソース名]はAPIのエンドポイント名(http://host/name
の「name」)となりますので、適切な名前を設定してください。
[操作]で許可するメソッドをチェックし、テーブルのカラムリストからAPIとして公開するカラムをチェックしてください。
設定が完了したら[保存]をクリックするとリソースが作成されます。
3. Web APIの仕様確認
作成したWeb APIの仕様を確認します。 API Serverの[API]メニューを開いて作成したリソースを選択すると、以下のようにそれぞれのメソッドのURLが確認できます。
各メソッドの欄を展開するとjavascriptやcurlでのリクエストの構文例を参照できます。 POSTやPUTでは以下のようにリクエストボディの例も見ることができます。
APIのリクエスト時には以下に示すようにx-cdata-authtokenヘッダに認証トークンを指定します。 まだ認証トークンを発行していない場合は次章を参考に認証トークンを取得してください。
(捕捉)ユーザの追加と認証トークンの発行
はじめてAPI Serverでリソースを作成する際にはユーザを追加します。 メニューの[設定]を開き、[ユーザー]タブの[追加]をクリックしてください。
ユーザ名、権限等を設定し、[変更を保存]をクリックしてください。
以下のようにユーザが追加されると認証トークンが発行されます。 APIリクエスト時にはこの認証トークンを使用することで認証が可能です。
4. おわりに
今回はAPI ServerでDB2をWeb API化する方法を紹介しました。 API Serverは30日間無料でご利用いただけますので、ご検討の方はぜひお試しください。