NEWS
IBM i 技術解説 IBM i 技術解説
2022.07.12
SHARE
  • twitter
  • facebook
  • hatena

IBM i Merlin 新しいIBM i の開発環境

IBM i Merlin 新しいIBM i の開発環境

2022年7月12日

日本アイ・ビー・エム株式会社
IBM Powerテクニカルセールス
佐々木 幹雄

IBM i MerlinはIBM i DevOpsを実現する新世代の統合開発環境

今回はIBM i Merlinをご紹介します。IBM i Merlinは最新のコンテナプラットフォームであるRedHat OpenShift上で稼働するIBM i 開発環境です。本格的なDX時代に突入した多くの企業ではアプリケーション開発に対する様々な変革が要求されています。開発サイクルの短縮、バックログの解消は多くのIBM i ユーザーが実感する課題となっています。

SEU, PDMに代表されるレガシーな開発環境は完成度が高く、非常に使い勝手のいい開発環境である、という事が今でも言えます。一方でDX実現に不可欠なDevOps, CI/CDサイクルによるアプリケーション開発サイクルを構築するのは非常に困難である、ということもまた事実です。IBM i MerlinはDX時代のアプリケーション開発に必要な開発環境を実現する統合開発環境です。

5250開発環境とOPMプログラムの課題

IBM i Merlinを導入する必要性を理解するために、まずはレガシーなIBM i開発環境の(現代における)課題を再確認してみましょう。

課題1. 5250開発環境の操作性:SEU, PDMに代表される5250開発環境は非常に軽量で5250エミュレーターさえあればあらゆる環境から利用でき非常に完成された開発環境だと言えます。一方でDX時代に突入する以前から80×24の画面サイズや画面単位スクロールなどエミュレーターベースであるが故の制約も既知の課題で、独特の操作性がオープン系開発環境に慣れ親しんだ新しい世代の開発者には使いにくい環境、と認識される場合も見受けられるようになってきました。

エミュレーターに特化した(独自の)インターフェース

課題2. ソースコード管理が手動:IBM i OSはソースコードのバージョン管理機能を提供していません。このため従来多くのお客様ではソースコードの末尾にV1, V2, V3といった連番を付与する等個々の開発者が手動でバージョン管理をしていました。この方式には様々な課題点が考えられますが、DX時代に必要と言われる年間に数十バージョンをリリースするようなCI/CDサイクルを想定するとソースコード(ソースメンバー)数が膨大なものになり、管理不能状態なってしまう事は容易に想像できると思います。

マニュアル管理が基本の従来型ソースコード管理

課題3. OPMプログラムはソース物理ファイルに限定される
RPGⅢなどILEでないプログラムをOPMと呼びますが、OPMプログラムのソースコードはソース物理ファイルSRCPFに限定されています。SRCPFにメンバーを追加してソースコードのバージョン管理をしなくてはならないのですが、そもそもメンバー名は10桁なためCI/CDサイクルを回すためには非常に高度なソースファイルのネーミングスキルが要求されるでしょう。

OPMのソースコード名は10桁

一方、ILE(ILE RPG, ILE COBOL等)はIFSのテキストファイルからコンパイルが可能です。コンパイルコマンドでは長大なIFSパスをSRCSTMFパラメーターに指定できますので開発言語をILEに切り替えることで、ソースコード名10桁問題は解消されます。RPGの場合RPGⅢからILE RPGへのソースコード変換はCVTRPGSRCコマンドで容易に可能です。単純なILE化だけでもDX, DevOps, CI/CD実現の足枷を大幅に減らします。IBM i DXの第一歩だと言えるでしょう。

ILEではプログラムソース名の文字数が問題になることは皆無

課題4. OPMプログラムソースはGit等を利用するDevOps対応ソースコード管理ツールとの連携が難しい
近年、複数企業間で協業してアプリケーション開発をする場合など、Gitなど共通リポジトリでソースコード管理を行う場面も増えてきました。Gitリポジトリは基本的にテキストフィアルベースでソースコードを管理しますので、IBM i 固有のソース物理ファイルSRCPFは直接その管理下に置くことができません。

IBM i Merlinは以上のようなIBM i の現代的な課題を一挙に解決するソリューションと位置付けることができます。

IBM i Merlinの概要

IBM i MerlinはModernization Engine for Lifecycle Integrationの略称です。それではIBM i Merlin(以下Merlin)の構成概要をご説明します。
Merlinの前提環境はRedHat OpenShitです。OpenShift上にMerlinをコンテナアプリケーション(正確にはOpenShiftのオペレーター)としてインストールすることでMerlinを利用できます。なお、OpenShiftは基本的には専用OS(RedHat Core OS : RHCOS)上で稼働しH/WプラットフォームとしてPowerとx86で稼働します。どちらのプラットフォームもオンプレ・クラウドのサポートがあります。Powerの場合、具体的にはオンプレのPower SystemsのLPARやIBM CloudのPower Systems Virtual Server(PowerVS)上にOpenShiftを導入しその上にMerlin(のオペレーター)をインストールします。

OpenShftの管理画面 インストール済みのオペレーターとしてMerlin(2行目)が確認できます。

Merlinの提供機能

OpenShftの管理画面 インストール済みのオペレーターとしてMerlin(2行目)が確認できます。
2022年5月に出荷開始されたMerlinの1stバージョンでは以下の機能を提供します。
●IDE : IBM i Developer と呼ばれる統合開発環境IDE。
RDi(Rational Developer for i)と似たOpenShiftコンテナ上で稼働するIDE環境です。
●IBM i CI/CD : IBM i CI/CD と呼ばれるプログラムのデプロイを自動化ツールです。
Merlinに付属のJenkinsサーバーと連動したビルド管理の自動実行、Gitとの連動によるソースコード管理を中核にIBM i 上にアプリケーションをコンパイル、配置するビルド操作を指定した手順で自動実行します。

これ以外にも従来、IBM i 上で稼働するIWS(統合Webサービスサーバー)で稼働するRest API 経由でRPG/COBOLコール・アプリケーションを作成するウィザード等も稼働します。
上図においてグレーアウトされているAppカタログ、デバッガー、セキュリティコンプライアンスツールも順次機能拡張・発表が予定されています。

Merlinのホーム画面。IBM i DeveloperとIBM i CI/CDがインストール済みです

IBM i Developerのエディター画面では ILE RPG以外の言語も開発可能です。このIDEはCodeReady Workspace, Che-Theia, VS Codeなどのテクノロジーを活用しています。

IBM i CI/CDの実行画面例 プロジェクトを定義しデプロイを自動化します。

まとめ:Merlinは今後20年続くIBM iアプリケーション・モダナイゼーションのスタート地点

Merlinは今後様々な機能拡張が予定されています。ポイントはそのすべてがクラウドネイティブなOpenShiftコンテナ環境で稼働する、という事です。これまでのIDEや開発基盤では不可能だったクラウドネイティブなハイブリッドアプリケーションの開発サイクルをDevOpsで展開でき、オンプレ・クラウドやハードウェア型式・OSバージョンを隠蔽して透過的に単一の手順でアプリケーション開発・配布を可能とするでしょう。 導入を検討するIBM i ユーザーにとって最大の(そしておそらくは唯一の)ハードルは、コンテナ環境で稼働する点だと思います。OpenShiftコンテナの登場はちょうど2000年前後に登場したJavaアプリケーションサーバーに例えることができます。当時Javaの普及が加速し、サーバーサイドJava実行環境としてWebSphere Application Server V.3など現代まで続くアプリケーション実行環境が登場し次第に普及していきました。その当時、アプリケーションサーバーに精通した技術者はほとんどいませんでした。約20年後の現在、Javaとアプリケーションサーバーを使用しないユーザーはとても少数派でしょう。殆どの企業においてはJava、アプリケーションサーバーの利用推進につれて徐々にそれらのスキルも蓄積されていきました。コンテナが今まさに今後20年以上続く標準アプリ基盤として普及が始まったと考えられます。OpenShiftとMerlinの導入が今後20年続く次世代標準基盤を構築する第一歩になると筆者は確信しています。

いいねと思ったらシェア
twitter
facebook
hatena
関連記事
IBM i 用の新しいODBCドライバー
IBM i 用の新しいODBCドライバー
使ってみよう!Rational Developer for i
使ってみよう!Rational Developer for i
Power10 プロセッサー搭載スケールアウトモデル登場
Power10 プロセッサー搭載スケールアウトモデル登場
あなたにオススメの連載
できるIBM i 温故知新編
7記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP