MENU

IBM iのOS機能を利用してAPIを作成する ~作成したサービスの管理、テスト、運用例<PART4> |IBM iユーザーに捧げるAPI入門❷

Text=澤田 英寿 日本アイ・ビー・エム株式会社

ステップ3 作成したサービスの管理、テスト、運用例

①作成したサービスの管理

Webサービスの作成が完了すると、サービス名(ここではstudents)の右側の「状況」が実行中(緑色の丸)になる。これで、SQLステートメントをREST Webサービスとしてデプロイ成功となる(図表28)。

図表28 作成したサービスの管理

「プロパティー」をクリックすると、JDBC設定、セキュリティ設定、Swagger情報(SwaggerはREST APIを構築するためのオープンソースのフレームワーク。その標準フォーマットのこと)などを編集できる。

「再配置」をクリックすると、サービスの情報の更新が可能(ただし、一度停止しないとクリックできない)。

「Swaggerの表示」をクリックすると、Swagger ドキュメントが表示される。ここには、呼び出しの URIが記載されている(図表29)。

図表29 Swaggerの表示

②REST APIサービスのテスト①

Swaggerの記述にある呼び出し用のURIを指定して、REST APIのテストが可能である。ここでは、http://ibmi
75:10010/web/services/students (ibmi75は、テスト用のホスト名)を指定する。このURIは、GETALLプロジージャー(学生情報の全件参照)になる(図表30)。

図表30 REST APIサービスのテスト①

 

③REST APIサービスのテスト②

GETBYIDプロジージャー(指定した学生情報の参照)も実施する。「823M934LA」というIDを持つ学生情報を要求した結果は、図表31である。

図表31 REST APIサービスのテスト②

④他のプロシージャーのテスト

他のプロシージャー(新規の学生登録や更新など)のテストには、外部ツール(SoapUIなど)が必要になる。ここではSoapUIを使った場合のテストを実施する。SoapUIは、https://www.soapui.org/からダウンロード可能。

⑤他のプロシージャーの実施

例として、ADDプロシージャー(新規の学生情報の登録)を実施する。SoapUIを起動する(図表32)。

図表32 他のプロシージャーのテスト

・Endpointには、[ホスト名:10010] とResourceには[/web/services/students]を入力する。
・HTTPメソッドに[POST]を選択する。
・Media Typeに[application/json]を選択する。このエリアにJSON形式で、新規学生情報を記入する。
・実行ボタンを押すと、POSTリクエストがサーバーに送信され、データが登録される。
・同様に、UPDATEプロシージャー(既存の学生情報の更新)は[PUT]メソッド、REMOVEプロシージャー(指定したIDの学生情報の削除)は[DELETE]メソッドで、実施できる。

以上、IBM i用統合Webサービス・サーバーを使用して、SQLステートメントをベースにしたREST APIの作成方法を説明した。

統合Webサービス・サーバーによるRESTサポートは、IBM iプラットフォーム上のILEプログラム、サービス・プログラム、そしてSQLステートメントをベースとするREST APIの強固な基盤となる。 

IBM Web Administration for i のGUIは高度に直感的な操作を行える。これをWebサービスの作成に使用すれば、カスタムREST APIのプロトタイピングや作成を高速に行うことが可能になる。ぜひ基幹システムと周辺システムの連携や、外部とのデータ連携に活用してほしい。

なおRPGやCOBOLのREST API化については、「IBM i技術情報」の「アプリケーション開発編」の統合Webサービス・サーバーに詳細が記載されているので参考にしてほしい(https://ibm.biz/BdPvUQ)。

[i Magazine 2023 Winter(2023年2月)掲載]


IBM iユーザーに捧げるAPI入門❷

IBM iのOS機能を利用してAPIを作成する ~統合Webサービス・サーバーの概要と操作方法 <PART1> 

IBM iのOS機能を利用してAPIを作成する ~統合Webサービス・サーバーの作成 <PART2> 

IBM iのOS機能を利用してAPIを作する ~REST APIのサービスを構築 <PART3>

IBM iのOS機能を利用してAPIを作成する ~作成したサービスの管理、テスト、運用例 <PART4>