OmniSuiteは、IBM iユーザー向けの基幹データ活用・自動化ツール「PHPQUERY」を提供中のオムニサイエンスが、IBM iユーザーの多様な開発・運用ニーズに対応するために販売を開始したツール群である。このうちIBM iと外部システムとのAPI連携を容易にする「API-Bridge」は、この分野では初めての国産製品で注目される。
OmniSuiteは、自動化、内製化支援、API連携の各分野に対応する6製品で構成される(図表1)。
自動化分野の「OmniTransfer」は、Excel/CSVファイルからIBM iを更新処理するためのデータ転送ツールである。
2年前に「5250のデータ転送が不安定なので、オムニサイエンスのツールで改善できないか」というリクエストがユーザーからあり、対応機能をPHPQUERYに実装したが、さらに「PHPQUERYのデータ転送機能は、毎回手動でファイルをアップしないといけない。これをスケジュール化したり、間違って物理ファイルを更新しないように機能を追加してほしい」といったデータ転送まわりの要望が増えたため、今回別製品としてリリースすることにしたという。
OmniTransferでは、Excel/CSVのアップロード方法として、ブラウザからのアップロードと、指定したIFSのフォルダにセットしておく方法の2通りを用意している。
Excel/CSVファイルをセットしておくと、スケジュールされた時間に、自動で物理ファイルを更新する。また、スケジュールの定義では、実行の頻度(1回のみ、毎週、毎月、日数ごと)や曜日・時間を指定でき、エラーが起きた場合、エラー理由の確認やロールバック(実行前に戻す、処理を中止するなど)などの機能も備えている。こうした機能は5250のデータ転送機能にはない。
自動化分野のもう1つの新製品である「OmniFunctions」は、標準の5250コマンドでは実現できない機能を提供するコマンド集である。本来はオープンソースなどを利用しないと実装できない機能を5250コマンドで実行できるようにした。
現在は、Excel出力とメール配信の2種類のコマンドがあり、メール配信用の「SNDMAIL」を使うと、5250の定義画面で送信(SMTP)サーバーや宛先メールアドレス(From、To、CC)、件名、本文、添付ファイルなどを設定でき、そのままメール配信が行える。Excel出力は、さまざまな形式のCSVファイルを出力できる。
内製化支援の「OmniPack」は、IBM iとの連携でよく使われるオープン系コードをサンプルプログラムとして提供し、それとQA対応などの技術支援をセットにしたサービス製品である。
最近のIBM iのシステム開発ではオープン技術との連携が避けて通れないことが多い。同社は、「OmniPackの利用により、オープン系技術と連携する高品質なシステムを速く確実に開発できます」と強調する。
今年7月より、従来からの「PHP on IBM iスターター・パック」に加えて「LINE × IBM iスターター・パック」もラインナップした。これは、LINEアプリケーションからIBM iのデータベースやプログラムを更新するプロトタイプの作成支援サービスである。
「XML-Bridge」は日本IBMが開発を行ってきたWeb化ツール。今後は既存ユーザーのサポートも含めて、同社が販売とサポートを行う。今年10月からツールの販売と新規ユーザーのサポートを開始し、来年(2022年)4月以降に既存ユーザーのサポートをスタートする予定という。
IBM iのAPI開発を容易にする
さまざまな工夫・仕組み
API連携の「API-Bridge」は、IBM iと外部システムとのAPI連携を容易にするツールである。
API-BridgeのAPI連携方法には2パターンあり、1つはIBM iをAPIサーバー化して外部システムからAPI経由でIBM i上のシステムを利用するもの、もう1つはIBM iからAPI経由で外部システムのアプリケーションやデータを利用するものである(図表2)。
製品を開発した理由についてCOOの下野皓平氏は、「IBM iと外部サービスとを組み合わせてシステムを構築する取り組みは着実に広がりつつありますが、Web・クラウドの技術者にとってはIBM iがわかりづらかったり、IBM iの技術者にはWeb・クラウドのスキルを習得するハードルが高かったりします。それを解決する手段がAPI-Bridgeです。IBM iをAPIサーバー化すると、日々進化するSaaSなどのクラウドサービスの恩恵をIBM iユーザーが受けやすくなり、DX実現のための選択肢が広がります」と説明する。
またAPI-Bridgeの開発責任者である加邉真也氏(IBM i DX事業部グループリーダー)は、「たとえばIBM i上の在庫データベースをAPIでアクセスできるようにするとします。API、具体的にはURLの一部やパス・パラメータに製品ID情報をもたせて実行すると、その製品IDの在庫数をIBM iが返すようなことが可能になります。また、照会だけでなく更新も可能で、APIを実行した後に、物理ファイルの更新を行うSQLや、データベース更新を行うRPG・CLを定義しておくことにより実現できます」と話す。
IBM iをAPIサーバー化するためのAPIの作成方法は、「API定義」と「スキーマ定義」の2ステップで行う。
API定義は、公開するURLやセキュリティの定義で、指定したセキュリティ・キーをもつリクエストだけに対してデータを返すといった設定を行う。スキーマ定義は、URLが実行された際に呼び出されるプログラムやデータベースの定義である。
API-Bridgeでは、これらの定義をより容易にする工夫がいろいろとなされている。
たとえば、CLの利用をスムーズにするために、ライブラリを指定すると、そのなかのCLプログラムを一覧表示する機能がある。開発者は一覧からCLを選択するだけでAPIを公開できる。
SQLに関しては、加邉氏は次のように説明する。
「SQLに明るい技術者向けに、SQL文を直接書くことのできる画面を用意しました。また、SQLが苦手なIBM i技術者向けには、定義を簡単に行えるGUIライクな設定画面を開発しました。技術者のスキルレベルやシステム開発の状況に応じてAPIをより容易に開発できるよう、API-Bridgeを開発しています」
この「GUIライクな設定画面」は、APIを構成する要素をGUI画面上に並べ、それらを線で結ぶだけでAPIを作成できる機能である。要素の選択は、初期リリースではリストからの選択だが、ドラッグ&ドロップで操作可能にする機能強化を予定している。
また、API-Bridgeの対応データベースは現在Db2 for iだけだが、PostgreSQLとMySQLへの対応を計画しているという。
株式会社オムニサイエンス
https://www.omni-s.co.jp/
[i Magazine 2021 Summer(2021年7月)掲載]