メニューボタン
IBMiコラム2022.09.28

IBM i のウンチクを語ろう
~ その75: 今後のアプリ開発ツールはIBM i Merlinなのか

安井 賢克 著

皆さん、こんにちは。先のIBM i バージョン7.5の発表の中で最も注目を集めている製品は、IBM i Merlinなのかもしれません。Modernization Engine foR Lifecycle IntegratioNの略称であると共に、12世紀の「ブリタニア列王史」という架空の歴史物語に登場する魔術師の名前でもあります。IBM i Merlinの資料の中に、このような画像を目にされた方もいらっしゃるでしょう。もっともMerlinの画像を検索してみると、元々はこんなに愛嬌のある姿をしていたわけではないようですが。

Merlin

着想を得た際に、IBM i のチーフ・アーキテクトであるSteve Will氏は、記憶に残り易くて洒落た名前をこの新製品に与えようと知恵を絞ったそうです。魔術師の中の魔術師と言われても私にはピンときませんが、欧米の方にとっては馴染んだ名前なのかもしれません。

さて、Merlinとは何なのかを見てゆくのが今回コラムのテーマです。アプリケーション開発ツールとして説明される事も多いようですが、IBM i のDevOpsを実現するためのインフラである、という説明の方が実態に近いのではないかと思います。あまり聞き慣れない言葉ですので、後ほどもう少し詳しく説明いたします。IBMが提供するIBM i 専用DevOpsとしては、初めての製品だと言えます。

IBM製の開発ツールを歴史的に見てみると、5250エミュレータを前提とするADTS(Application Development ToolSet)がAS/400登場期から存在しておりました。提供されているメニューから、オブジェクトの管理、エディタ、コンパイラ起動、デバッガなどの個別の機能を呼び出すことができます。その後EclipseテクノロジーをベースにしたRDi (Rational Developer for i )へと進化し、単一のGUIウィンドウの中でこれら機能が一括してサポートされるようになります。アプリ開発に関わる種々の機能が統合されていることから、IDE(Integrated Development Environment : 統合開発環境)と呼ばれています。ADTSを置き換える位置付けにある製品ではありますが、IBMはADTSとRDiの両者について公式サポートを継続しています。ただし、ADTSはバージョン6.1を最後に、以降の機能強化はなされておりません。

ここでMerlinはRDiを置き換える製品なのか、という疑問が生じますが、IBMはそのWebページ(英語)の中のFAQ「Does this replace RDi?」(これはRDiを置き換えるものですか?)に対して、「No」であると明言しています。RDiは個々のクライアントにインストールされて稼働するIDE製品であるのに対して、MerlinはIBM PowerまたはX86サーバー上でRed Hat のOpenShiftコンテナを前提に稼働するDevOps製品である、というのがその理由です。すなわちMerlinはプライベートないしパブリック・クラウド上にあり、ネットワーク越しにIBM i と接続され、開発者はブラウザからMerlinを利用することになります。両者共IBM i 開発コミュニティにおいて同様に重要であり、今後も継続的に機能強化されサポートされます。

サポート

DevOpsとはDevelopment(開発)とOperations(運用)とを組み合わせた造語です。IDEは開発のみを意識しているのに対して、その後の運用を含むアプリケーションのライフサイクル全体を管理しようという概念です。アプリケーションは新たに開発されテストを終えたら、システム全体として機能するよう統合・構築され、全社に向けて展開される、といった手順を踏みます。昨今はDX推進のためにはアプリケーションは「塩漬け」にせずに、随時更新できる状態・体制を維持することが重要であるとされますので、アプリケーションの更新頻度は高まる傾向にあります。このことは人手によるエラーが入り込む可能性が増し、システムの安定性を損ねる要因にもなりかねませんので、一連のプロセスを自動化・安定化させようと考えるのは自然な成り行きだと言えます。そして継続的に実施されるという考えから、アプリケーション開発に続くプロセスはCI/CD(Continuous Integration: 継続的統合、Continuous Deployment: 継続的展開)と呼ばれています。すなわちMerlinはRDiがカバーするIDEに加えて、CI/CDをもサポートする製品であるというわけです。

MerlinはDevOpsをサポートするための多様なコンポーネントで構成されています。この製品の特徴でもありますので、これからその中身を少し掘り下げて見てまいります。

エディタはIDEの必須のコンポーネントですが、Merlinにおいてそのベースとなっている製品は、Microsoft社が開発したOSS(オープンソース・ソフトウェア)であるVScode(Visual Studio Code)です。世間に数あるIDEの中で最も人気があることは、Stack Overflowという開発者向けコミュニティの投票結果に示されています。英語ではありますがランキングに興味のある方は、Webサイトの「Most popular technologies」カテゴリ内「Integrated development environment」セクションを参照いただければと思います。そしてVScodeをEclipseテクノロジーに移植した製品がTheia(「テイア」と発音するようです)、さらにこれをコンテナ対応化した製品がChe(チェ)であり、Merlinのコンポーネントとして組み込まれています。IBMの資料では「Che/Theia」とまとめて呼ばれています。

ごく「普通の」OSS製品に過ぎないので、Che/TheiaのままではIBM i の開発用に利用することはできません。Merlin開発にあたって、IBMはこれにRPG、COBOL、CL、SQLなどの構文・文法を組み込んでいます。このことはRDiを製品化するにあたって、OSSの開発プラットフォームであるEclipseをIBM i 向けにカスタマイズしたのと同様です。

プログラミングの生産性を高めるためのコンポーネントもいくつかMerlinに組み込まれています。ソースコードの変更履歴を記録・追跡するための、業界標準OSS製品と言うべきGit、ARCAD社によるアプリケーション分析ツールであるARCAD Observer、フリーフォームRPGへの変換ツールであるARCAD-Transformer RPGもIDEの中に統合されています。ARCAD社のこれら製品はこれまで独立した製品として販売されておりましたが、Merlinの一部として統合されたというわけです。すなわちARCAD製品として個別に発注する必要はありませんし、料金も発生しません。

○

Merlinの中にはコンパイラは含まれていませんので、接続先のIBM i 上に別途あらかじめインストールしておく必要があります。Merlinが提供するのは、コンパイラを起動するためのインターフェースのみです。RDiにおいてももこの点は同様でした。

CI/CD製品の中で最もポピュラーなものをあげるとすれば、OSSのJenkinsではないでしょうか。複雑な製品だと見なされる傾向があるようですが、Merlinに実装される際にIBM i 用のGUIが用意され、使い勝手が大きく 改善されています。個々の開発者がGitを利用して管理するソースコードをテスト環境に移行し、テスト完了後に本番環境へと展開する、ADTSを利用していたならば属人的だったこれら一連のプロセスを自動化することが可能になります。 

以上ざっと眺めてきましたように、OSSなど数多くのコンポーネントがIBM i 向けに最適化され、統合されています。例えば海外メディア翻訳記事「POWERUpで浮かび上がったIBM i Merlinについての詳細情報」によると、Merlinのインストール作業が30分程度で済むとあるのは、統合性のメリットだと言えます。そしてIBMが一元的にサポートを提供することも重要です。どれほど多機能であっても、特に業務用途の製品の場合には、サポートが提供されることは必須の要件です。

IBMの資料によると、網羅される機能は現時点のものが全てではなく、今後も新たなコンポーネントが追加される予定です。当コラムを執筆している2022年8月末時点における、その筆頭はデバッガでしょう。IDEの構成要素として必要性が認識されており、近い将来のリリースに向けて準備が進められています。安井個人的には、デバッガの無いIDEはあり得ない、といった位に思っていますので、Merlinの本格的な展開はそれ以降になると考えています。具体的にはわかりませんが、他にも様々な構想はあるようです。もし何か良いアイデアをお持ちであれば、英語サイトではありますが、IBM Power Ideas Portalから開発部門に伝えることもできます。「魔術師」としてどこまで成長するのか、Merlinの今後を楽しみにしたいと思います。

ではまた。

あわせて読みたい記事

サイト内全文検索

著者プロフィール

パワーシステム・エバンジェリスト

安井 賢克
やすい まさかつ

2017 年 11 月付けで、日本アイ・ビー・エム株式会社パワーシステム製品企画より、ベル・データ株式会社東日本サービス統括部に転籍。日本アイ・ビー・エム在籍時はエバンジェリストとして、IBM i とパワーシステムの優位性をお客様やビジネス・パートナー様に訴求する活動を行うと共に、大学非常勤講師や社会人大学院客員教授として、IT とビジネスの関わり合いを論じる講座を担当しました。ベル・データ移籍後は、エバンジェリストとしての活動を継続しながら、同社のビジネス力強化にも取り組んでいます。

PAGE TOP