IBM i 7.5 TR3およびIBM i 7.4 TR9では、Code for IBM iでDb2 for i関連の機能拡張が発表された。
Code for IBM iは、Visual Studio CodeベースのIBM i用統合開発環境で、オープンソースとして提供されているもの。2021年2月のバージョン0.02から現在のバージョン2.4.0までの約2年半に30名以上のコントリビューターによって211回リリースされ、現在、1400名以上のユーザーが毎日利用中という。
今回の拡張は、Code for IBM i上でDb2 for iの開発作業を行いやすくするもの。Code for IBM iでDb2 for iアプリケーションの開発が可能になったことは今年7月31日付けの記事で紹介したが(こちら)、今回のTRでは、その後の機能拡張が発表されている。
その1つは、Db2 for i用の「新しいスキーマブラウザ」。開発者がデータベーススキーマを確認したり、物理データモデルや仮想データモデル内のレイアウトなど理解する必要があるとき、スキーマブラウザをクリックしてドリルダウンすることにより、求めるものをすばやく見つけることができる。データのプレビューや編集も可能という。
もう1つは、Db2 for iを利用するためのSQL作成支援機能である「SQLジョブマネージャ」。さまざまなJDBCオプションと多様な設定コントロールをもつSQLジョブマネージャにより、さまざまなスタイルのデータベース・アプリケーションの開発が容易になる。
IBMのDb2 for i開発責任者であるスコット・フォースティー(Scott Forstie)氏は、「Code for IBM iではこのほか、SQLクエリーを構築してテストするためのSQLステートメント実行や、データ・モデルと対話するためのスキーマ・ビュー、以前に実行したSQLステートメントに簡単にアクセスできるクエリー履歴などを追加しました。これらにより、より効率的で合理的な開発が可能になります」と言い、次のように続けた。
「Code for IBM iへの最初の機能追加となる今回の拡張で、Db2 for iのすべてに対応するのは困難でした。そこで今回は、Visual Studio Codeのユーザーにデータベース開発に必要な少数のコア機能を提供し、まずDb2 for i開発を始めてもらうことを目標にしました」
Db2 for i関連以外では、以下のような機能がCode for IBM iに追加された。
► Git内部におけるRPGLE、CL COBOL、SQLの操作サポートの改善
► ILEおよびOPMプログラムのバッチ・デバッグ・サポートが利用可能に
► CLに関するサポートの改善(コンテンツ・アシスタント、アウトライン・ビューなど)
► IDEからCLコマンドをコンパイルせずに実行する機能
► 接続に要する時間の短縮。これにより、システムを再利用する際のユーザー・エクスペリエンスとパフォーマンスを改善
► RPGLE言語ツールで、改良済みローカル・プロジェクト・ナレッジとメンバー解決機能のサポート
► アプリケーションをIBM iに移行する際のデプロイ機能の改善
► ソース、フィルター、接続を読み取り専用としてマークする機能の追加
► 「例の挿入」機能が利用可能に
► クエリ履歴ログの有効化
► 結果セットの表示とパフォーマンスを改善した新しいUI
► スペイン語、デンマーク語、英語のローカライズ機能の拡張
今回のTRで注目されるのは、「Code for IBM i」がIBM iの基本ツールとしてラインナップされたことである。Code for IBM iは2022年10月発表のIBM i 7.5 TR1(IBM i 7.4 TR7)では影も形もなく、今年4月のIBM i 7.5 TR2(IBM i 7.4 TR8)では、「IBMとコミュニティの双方によって、Visual Studio Code用のIBM i拡張機能にいくつかの拡張が加えられた」という紹介があるだけだった。
IBMではVisual Studio Codeベースの開発環境として、IBM i Merlinを一方で推進している。Merlinは2022年5月の発表以来、デバッガー以外に主要機能の拡張がなく、この点で急速に機能追加を重ねるCode for IBM iとは好対照である。
IBM i MerlinとCode for IBM iに対するIBMの今後の取り組みが注目される。
・Code for IBM i(Visual Studio Code Marketplace)
https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.code-for-ibmi
・Code for IBM i(GitHub)
https://github.com/codefori
・vscode-db2i(GitHub)
https://github.com/codefori/vscode-db2i
・IBM i 7.5 TR3
https://www.ibm.com/docs/en/announcements/i-75-tr3
・IBM i 7.4 TR9
https://www.ibm.com/docs/en/announcements/i-74-tr9
[i Magazine・IS magazine]