IBM iはデータベースとして、またバックエンドのビジネスロジックとして、他システムと数多く連携している。外部システムとの連携手法はいろいろと考えられるが、基本的な手法は2017年本誌発行の「IBM i入門ガイド」で記載した内容と大きく変わらない。
そこで、ここではシステム連携を実現する最新の製品技術を紹介する。
統合Webサービス・サーバー(IWS)
IBM iは独自のアプリケーション・サーバーをOSで提供しているが、そのうちの1つが統合Webサービス・サーバー(以下、IWS)である。
これはWebSphere Application Server Libertyをベースに、RPGやCOBOLなどのILEプログラム・オブジェクトをWeb API化し、外部システムと連携する機能を備えている。
これまでは外部からILEプログラム・オブジェクトを呼び出す場合、Toolbox for Javaの一機能であるPCML(Program Call Markup Language)を使ったJavaアプリケーション開発を前提としていたため、Javaの高いスキルが求められた。
しかしIWSではそれらの技術を内包し、対象となるILEプログラム、インターフェースとなる入出力パラメータなどをウィザード形式で設定するだけで、HTTP/HTTPS を用いてプログラム呼び出しできるようサーバーを構成できる(図表1)。

このようにHTTP/HTTPSプロトコルを用いたWeb APIの代表的な実装をREST APIと呼ぶが、IWSではこのRESTアーキテクチャやSOAPをサポートしている。
IWSではILEプログラムだけでなく、Db2 for iに対するSQLアクセスもRE
STサービスとして実行できるようになっている。そのため、データベースを処理するためのプログラムを書かなくても、Db2 for iをRESTサービス・プロバイダーとして構成できる。これは短い開発期間で、IBM i上のデータ資産を外部システムに提供する効果的な機能と言える。
.NET 7
IBM iとのシステム連携で外せない対象の1つが、Windowsアプリケーションである、これに向けて、2022年11月に.NETのPower対応が発表された。
Windowsアプリケーションとの連携ではこれまでも、5250対話型セッションからPCコマンドを実行するSTRPCC
MDや、バッチ実行するRUNRMTCMDなどが多くのユーザーで活用されてきた。
またAccess Client Solutions(以下、ACS)でも継承されているデータ転送機能も、便利な機能として活用されている。ここに新たに、.NETのサポートが追加された。
.NET 7はMicrosoft社がサポートするオープンソース・アプリケーション・プラットフォームである。Windowsのみならず、LinuxやApple、Androidなど多くのOSでサポートされているが、.NETアプリケーションからのIBM iデータベース・アクセスは最も求められる連携方法である。
Javaアプリケーションでは、Toolbox for Javaで提供されるJDBCドライバを使ってDb2 for iに接続するが、.NETアプリケーションの場合はODBCで接続する。使用するODBCドライバはACSで提供されているため、こちらもJavaなどと同様にデフォルトで提供されているツール群で開発・実行できる。これは、IBM iをデータソースとするアプリケーションを開発する際の重要な選択肢として考えられるであろう。
このようにIBM iプログラムを活用する今までの手法のほかにも、データベース・アクセスを活用する新たな連携技術が登場している。アプリケーション要件に合わせたシステム連携を検討する際の参考にしてほしい。

著者
藤村 奈穂氏
日本アイ・ビー・エム システムズ・エンジニアリング株式会社
オープン・テクノロジー
新・IBM i入門ガイド[開発編]
01 IBM iの開発環境
02 IBM iの開発環境選択基準
03 IBM iの開発言語
04 IBM iの基礎[CL設計・開発]
05 IBM iの基礎[データベース]
06 IBM iの基礎[RPG開発]
07 IBM iの基礎[Java開発]
08 IBM iのシステム連携
09 IBM iの新しいアプリケーション例
10 開発編 FAQ
[i Magazine 2025 Spring号掲載]