2022年6月14日
日本アイ・ビー・エム株式会社
IBM Powerテクニカルセールス
児玉 尚子
IBM iは、イノベーションを継続するための強力な基盤として、進化し続けてきました。2022年5月3日には、IBM i 7.5、IBM i 7.4 TR6、および、IBM i の新しい統合開発環境としてのIBM i Merlin(Modernization Engine for Lifecycle Integration)を発表しました。
IBM i Merlinは、「IBM i Next Gen Apps」と名付けられた戦略に基づくIBM i のモダナイゼーションの一つのアプローチとして、提供されます。
「IBM i Next Gen Apps」については、IBM iチーフ・アーキテクトSteve Willの解説を下記のiWorld記事で紹介されていますので、ぜひ合わせてご覧ください。 iWorld「You and i – モダナイゼーションのアプローチ:IBM i 次世代アプリとは」 https://ah109sxyjk.smartrelease.jp/column/product/20220509_you_and_i
IBM i Merlinは、従来のSEUでのソース編集やPDMでの構成管理に限界を感じている開発者や、REST APIなどを活用し、外部とIBM i のデータやプロセスを連携したいと考える方にとって、とてもおすすめな統合開発環境です。
ソース編集は、Red Hat CodeReady Workspacesが統合されており、ブラウザーからアクセスし、RPGやCOBOLの開発が可能です。また、Gitも統合されており、ソースのバージョン管理が可能です。ソースを変更するときにコピーし、名前の後ろにBKや@を付け、変更内容についてはソース内のコメントで表していることはないでしょうか。機能追加が頻繁に行われている場合など、この方式ではトラッキングすることが難しくなります。Gitリポジトリーにより管理が楽になるでしょう。また、CI(継続的インテグレーション)ツールのJenkinsも統合しています。Jenkinsは、ソフトウェアのビルド、検証、サーバへのインストール等の一連作業を自動化の管理、監視などができるオープンソースのツールです。バージョン管理システムにおけるコミットなどのイベントをトリガーとして自動でビルドなどの作業を開始することができます。
さらに、IBM i Merlinは、IBM i Connectionsの機能として、IBM i でのREST APIの作成機能を統合しています。これにより、ウィザードを使用し、IBM i のプロセスやデータの公開と利用を容易にします。
今後も機能拡張を予定しており、デバッグ機能はまもなくリリースされる予定です。アプリケーション・カタログやセキュリティ/コンプライアンス機能などは計画中となっています。 IBM i Merlinは開発者ごとにPCにインストールするのではなく、Red Hat OpenShiftのコンテナで実行し、ブラウザーからアクセスして使用することができます。Red Hat OpenShiftはPower Virtual Serverでの稼働も可能です。ぜひ次世代のアプリケーション開発環境として、IBM i Merlinをご活用ください。
こちらもチェック!
Merlinの発表:IBM iエコシステムのウィザードのウィザード
https://ah109sxyjk.smartrelease.jp/column/serials/dev_mod_sp_1
続いて、IBM i 7.5、および、IBM i 7.4 TR6ついてご紹介します。昨今注目を集めるセキュリティやシステム運用、開発に渡り、さまざまな機能拡張がなされています。
テクノロジー・リフレッシュ(TR)は、春と秋の年に2回提供され、3年毎のOSリリースアップを待たずに新機能をご利用いただくことができます。TRは最新バージョンとひとつ前のバージョンで提供されます。今後しばらくは、IBM i 7.4、IBM i 7.5でTRによる機能拡張が提供されることになります。今回、IBM i 7.5で拡張された機能の一部はIBM i 7.4でもTR6を適用することにより利用可能となります。
ここでは、IBM i 7.5でのいくつかの機能拡張についてご紹介致します。
セキュリティ強化
セキュリティ関連では、パスワードにより強力な暗号化方式(Password Based Key Derivation Function 2 (PBKDF2) with SHA2-512)が使えるようになりました。また、ユーザー・プロファイル作成 (CRTUSRPRF) コマンドでのユーザー・パスワードのパラメーターのデフォルト値が *NONE を使用するように変更されました。 以前のデフォルト値は *USRPRF となっており、パスワードをユーザー・プロファイル名が設定されていました。機能拡張や変更によるパスワード強化や権限設定の見直しなどセキュリティ対策にご活用いただければと思います。
アプケーション開発機能拡張
IBM i 7.5 では、外部との連携でよく使われるREST APIに関する機能拡張がありました。統合 Web サービス・サーバー(IWS)での REST API のパラメーター数を7から 248 に増やし、ロギング機能も拡張され、IWSのログファイルをJSON形式に指定できるようになりました。これにより一般的に使われているログ管理ツールでの管理も可能です。
新しいNavigator for i
Navigator for i はTechnology Refreshとともに機能、操作性が拡張されています。最新版のIBM Navigator for iはお客様がご利用の複数のIBM i 区画にアクセス、管理できるようにインターフェースが変わりました。IBM i 7.5ではセキリティ関連の監査ジャーナルや権限収集の情報表示、SNTP 構成と更新、SMTP 構成と更新、エンドツーエンドのTLS接続に関する機能拡張があり、さらにシステムの運用管理の効率向上を図っています。
SQLベースのIBM i サービス
IBM i サービスでは、 IBM i コマンドおよび API の代替手段として、SQLという最も普及した言語を採用することで、多くのIT技術者が、IBM i の運用保守が可能となるようSQL ベースの手段を提供できるよう拡張されています。IBM i 7.5では、TELNETサーバーの構成情報を取得するTELNET_SERVER_ATTRIBUTESとパスワードが設定したパスワード規則を満たしているかを確認するCHECK_PASSWORDが新しく追加されました。その他、既存のIBM i サービスも拡張されています。
新しい圧縮オプション ZLIB
お客様からのリクエストにより、保管復元用の最新の圧縮アルゴリズムが追加されました。SAVLIBやSAVSYSなどの保管コマンドでZLIB オプションを使用でき、MEDIUM および HIGHなどの既存のオプションよりも小さく圧縮することが可能です。データの圧縮率はデータや環境に依存しますが、IBM i 7.5において、SAVLICPGM コマンドで保管ファイルにZLIB オプションを使用し、保管したケースでは、HIGH オプションのサイズよりも圧縮率は高く、圧縮なしの場合と比較して半分以下に圧縮することができました(グラフ1)。また、Power10 を使用している場合、ZLIB はより高速でCPUへの負荷を少なく、処理できます。
コマンド例: SAVLICPGM LICPGM(5722IP1) DEV(*SAVF) SAVF(xxxxxx/IP1ZLIB) DTACPR(*ZLIB)
▲グラフ1. SAVLICPGM コマンドZLIB オプションでの検証結果
年号が2桁の日付フォーマットの1940年~2039年の日付範囲の変更
IBM i 7.5では、年号が 2 桁の日付フォーマットの 1940 年~2039 年の日付範囲の変更できるようになりました。現在、2 桁の年号の日付フォーマットを変換または検証するためにサポートされている日付範囲は、1940年1月1日から2039年12月31日です。 例えば、年を指定するために 2 桁しかない日付(例えば、*MDY、*DMY、*YMD)を使用する場合、40から99までの年は1940年から1999年、00から39までの年は 2000年から2039年と仮定されます。IBM i 7.5 では、1970年1月1日~2069年12月31日の100年間に渡る新しい基準年である 1970 年をサポートするようになりました。
新しい環境変数 QIBM_QBASEYEARを使用して、基準年を 1970 年または 1940 年のいずれかに設定することができます。環境変数が存在しない場合、デフォルトの基本年は IBM i 7.5 で 1940 のままになります。パラメーター タイプ (*DATE) を持つコマンドは、 QIBM_QBASEYEAR 環境変数で指定された基本年を使用します。将来のリリースでは、デフォルトの基準年が 1970 年に変更される予定です。この環境変数により、将来の変更の準備を開始することができます。この環境変数の更新は、パラメータータイプ (*DATE)を指定したコマンドにのみ影響します。既存のRPGまたはCOBOLプログラム、および Db2 には、このアップデートによる影響はありません。 そのため、2 桁の年号の日付フォーマットを使用している場合、将来は、日付を4桁の年号に変換しなければならない可能性があります。 環境変数は、システムレベル、またはジョブレベルで設定することができます。
システム内のすべてのジョブの基準年を 1970 に設定する場合:
ADDENVVAR ENVVAR(QIBM_QBASEYEAR) VALUE(1970) LEVEL(*SYS)
自分のジョブで基準年を 1970 に設定する場合:
ADDENVVAR ENVVAR (QIBM_QBASEYEAR) VALUE (1970) LEVEL (*JOB) REPLACE (*YES)
基準年はジョブ起動時に設定され、ジョブ内にキャッシュされるため、ジョブレベル環境変数の追加・変更後に以下のコマンドを呼び出してキャッシュされた基準年を更新する必要があります(日付形式を現在ジョブで使用している日付形式に変更します)。
CHGJOB JOB (*) DATFMT (*MDY)
新しいオープンソースの追加
Node.jsやPythonなどIBM i でよく使われているオープンソースの新しいバージョンが提供されています。
- Node.js 16
- Python 3.9
- GNU Compiler Collection (GCC) 10
今回、IBM i 7.5の主な機能拡張についてご紹介しました。今後もIBM i は、次世代に向けて進化し続けていきます。ぜひ引き続きIBM i をご活用ください。
あわせて読みたい!
Merlinの発表:IBM iエコシステムのウィザードのウィザード
https://ah109sxyjk.smartrelease.jp/column/serials/dev_mod_sp_1