DB2 for IBM iはIBMのオペレーティングシステムIBM iに標準搭載されているリレーショナルデータベースマネージャです。 前身はオフィスコンピュータ全盛期にヒットしたAS/400で、現在でもレガシーシステムを中心に利用されています。
今回はSaaSやデータベースなどあらゆるデータソースをWeb API化するツールCData API Serverで、DB2 for IBM iのテーブルをWeb API化する方法を紹介します。
1. API Serverインストールとドライバの配置
はじめにAPI Serverのインストール方法とDB2 for IBM i 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に\binへのパスを追加してください。
1.2 API Serverのインストール
API Serverは以下ページのCross-Platform (java)をダウンロードしてください。
https://www.cdata.com/jp/apiserver/download/
ダウンロードしたパッケージを解凍するといくつかのファイルが展開されます。 解凍先フォルダで以下のコマンドを実行してインストーラを起動してください。
> java -jar setup.jar
インストーラが起動されたらウィザードに従ってインストールを行ってください。
1.3 DB2 for IBM i JDBCドライバの配置
DB2 for IBM i JDBCへの接続にはJDBCドライバ(jt400.jar)が必要です。 ドライバはIBMが提供するJavaライブラリのセットであるIBM Toolbox for Javaか、これのオープンソースバージョンであるJTOpenに含まれています。 JTOpenは以下からダウンロードできます。
https://sourceforge.net/projects/jt400/
JDBCドライバを入手したらAPI Serverインストールフォルダ直下のlibフォルダに配置してください。 これはデフォルトでは以下のパスとなります。
C:\Program Files\CData\CData API Server Java Edition 2021J\lib
以上でAPI Serverを使用する準備は完了です。
2. Web APIの作成
それではAPI Server上でDB2 for IBM iのAPIを作成します。 API Serverのインストールフォルダで以下コマンドを実行してAPI Serverを起動してください。
> java -jar apiserver.jar
起動が完了したらAPI Serverのコンソールページをブラウザで開いてください。 デフォルトではhttp://<ホスト名>:8080/apiserver
となります。 ログイン画面が表示されますので、ユーザ名に「admin」、パスワードとしてインストール時に設定したパスワードを入力してログインしてください。
2.1 接続の作成
はじめにデータベースへの接続を作成します。 メニューの[設定]を開き、[接続]タブの[接続の追加]をクリックしてください。
データソースの選択画面が開きますので[Others]セクションの[その他]を選択します。
接続設定画面が開きます。 [名前]に適当な接続名を、[ドライバークラス]には以下のクラス名を入力してください。
JDBCドライバクラス名 : com.ibm.as400.access.AS400JDBCDriver
続いて接続文字列を設定します。 [フォーマット設定]で[接続文字列]を選択すると[接続文字列]の入力欄が表示されますので、ここにデータベースの接続に関する設定情報として接続文字列を入力します。
一般的な接続文字列のフォーマットは以下の通りです。
jdbc:as400://<ホスト名>/;user=<ユーザ名>;password=<パスワード>;metadata source=0;libraries=<スキーマリスト>
<スキーマリスト>には、取得するスキーマのリストをカンマ区切りで設定してください。 以下に接続文字列の例を示します。
jdbc:as400://127.0.0.1/;user=TESTUSER;password=TESTPASSW;metadata source=0;libraries=DEMO1,DEMO2
API 画面例
設定が完了したら[接続のテスト]をクリックして接続を確認してください。 最後に[変更を保存]をクリックして設定を保存してください。
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 for IBM i (AS/400)をWeb API化する方法を紹介しました。 API Serverは30日間無料でご利用いただけますので、ご検討の方はぜひお試しください。
www.cdata.com
関連コンテンツ