Text=澤田 英寿 日本アイ・ビー・エム株式会社
ステップ3 作成したサービスの管理、テスト、運用例
①作成したサービスの管理
Webサービスの作成が完了すると、サービス名(ここではstudents)の右側の「状況」が実行中(緑色の丸)になる。これで、SQLステートメントをREST Webサービスとしてデプロイ成功となる(図表28)。
「プロパティー」をクリックすると、JDBC設定、セキュリティ設定、Swagger情報(SwaggerはREST APIを構築するためのオープンソースのフレームワーク。その標準フォーマットのこと)などを編集できる。
「再配置」をクリックすると、サービスの情報の更新が可能(ただし、一度停止しないとクリックできない)。
「Swaggerの表示」をクリックすると、Swagger ドキュメントが表示される。ここには、呼び出しの URIが記載されている(図表29)。
②REST APIサービスのテスト①
Swaggerの記述にある呼び出し用のURIを指定して、REST APIのテストが可能である。ここでは、http://ibmi
75:10010/web/services/students (ibmi75は、テスト用のホスト名)を指定する。このURIは、GETALLプロジージャー(学生情報の全件参照)になる(図表30)。
③REST APIサービスのテスト②
GETBYIDプロジージャー(指定した学生情報の参照)も実施する。「823M934LA」というIDを持つ学生情報を要求した結果は、図表31である。
④他のプロシージャーのテスト
他のプロシージャー(新規の学生登録や更新など)のテストには、外部ツール(SoapUIなど)が必要になる。ここではSoapUIを使った場合のテストを実施する。SoapUIは、https://www.soapui.org/からダウンロード可能。
⑤他のプロシージャーの実施
例として、ADDプロシージャー(新規の学生情報の登録)を実施する。SoapUIを起動する(図表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>