MENU

<Column 7> IBM iサービスとDb2 for iサービス

 IBM iサービスとは、IBM i のリソースを外部からサービスとして利用するための機能である。目的はDX時代のCI/CDを想定した開発生産性の向上、開発工数の削減にある。従来はIBM iのエキスパートがCLP、RPGなどで手組みしていたロジックや機能をIBM iがサービス(テンプレート)として提供する。
 
 IBM i OSに関連した諸機能を提供するIBM iサービス(IBM i 7.4では13カテゴリ)と、データベースに特化した諸機能を提供するDb2 for iサービス(IBM i 7.4では3カテゴリ)がある。
 
 IBM iサービス、Db2 for iサービスはともに、統合APサーバー上のサービスとして実装し、REST APIで呼び出したり、Java、OSS、RPG/COBOLなどプログラムに組み込んで利用できる。QSYS2スキーマ(ライブラリー)にそれぞれのサービス用のビューやテーブルがあり、SQLで操作するという基本的な仕組みを共通して備えている(一部はSYSIBMADM、またはSYSPROCスキーマを利用)。
 
 IBM iサービス、Db2 for iサービスを利用することでプログラム仕様の標準化や将来のバージョンアップ時の工数削減、互換性確保の面でもメリットがある。さらにIBM i OSの固有性を排除し、オープン系開発者がIBM i上のアプリケーション資産やOS機能を利用する(プログラミングする)敷居を下げるメリットもある。
 
 たとえばDb2 for iのスキーマを再作成する場合、スキーマ内にジャーナルが存在する場合と存在しない場合で処理分岐が発生し、プログラマーはその処理を加味したプログラミングが必要になる。IBM iユーザーにとっては特別なことではないが、IBM iに不慣れな開発者には敷居が高いであろう。しかしIBM iサービスを呼び出せば、IBM i OS固有のジャーナル操作を回避し、単純にIBM i上でスキーマ作成が可能となる。
 
 またIBM i サービスの別な使い方としては、IBM i 環境の管理を従来の5250やIBM Navigator for iのような専用インターフェースを廃してSQLで標準化し、外部から操作する形態に変更する際のAPIとして活用する方法がある。
 
 本特集の最後に、IBM iサービスとDb2 for iのサービス一覧を掲載する。IBM i での標準的な監視項目(たとえばWRKSYSSTS、WRKACTJOB、WRKOBJLCK、NETSTATの各コマンド等で確認する)の多くがIBM iサービスとして実装されている。IBM iサービスを使えば、5250などIBM i固有の監視インターフェースを、SQL+RESTなど標準的なインターフェースに改めて運用管理が可能になる。
 
 図表1に、提供されるSQLテンプレートのサンプルを記載する。参考までに、ACS(IBM i Access Client Solution)にも同様のSQLサンプルが提供されている。
 
 
 
 こちらはACSのSQLスクリプト画面から対話型で利用するものである(図表2)。
 
 
 
 
 

著者|

佐々木 幹雄

 
日本アイ・ビー・エム株式会社
システム事業本部 Power Systemsテクニカル・サポート
コンサルタントITスペシャリスト
 
AS/400誕生とほぼ同時期からIT業界に関わる。IBM i やPC、ネットワーク機器など一般企業のIT基盤の提案・構築、アーキテクトなどを幅広く経験。IBM i エバンジェリストとしての活動もある。
 

 

・・・・・・・・

特集|IBM iのマイクロサービス化

 
 
 
 
 
 
 
・・・・・・・・
 

Column 1 OpenShiftかKubernetesか
Column 2 どこでもKubernetes
Column 3 ミドルウェアのコンテナ化対応
Column 4 SCNは戦略策定のためのフレームワーク
Column 5 ハイブリッドクラウド移行(中期)計画を作る
Column 6 アジャイルはSoEだけのものか?
Column 7 IBM iサービスとDb2 for iサービス
Column 8 IBM iのクラウドサービス
Column 9 コンテナテクノロジーを導入しても、イノベーションは起きない

[i Magazine 2020 Spring掲載]

 

新着