Valence6.3ではAppBuilderの更新履歴をgitHubと連携して管理できる機能が追加されました。
gitHubと連携するには、IBMi側にNode.jsとgitを導入する必要があります。
Tipsでは、ValenceでのgitHub連携で必須となるNode.jsを導入する手順をご紹介します。
Node.jsとは?
Node.jsはJavaScriptでサーバーサイドのプログラムを実行できるようにするオープンソースのランタイム環境で、以下のような特徴があります。
- 高速:GoogleのV8エンジン(Chromeと同じ)で動作するため、JavaScriptの実行がとても速い。
- 非同期I/O:多くの処理を待たずに並行して進められるため、同時に多くのリクエストを処理できる。
- イベント駆動型:何かが起きたとき(イベント)に対応するプログラムが実行される構造で、効率的な設計が可能。
- npm(Node Package Manager):豊富なライブラリやツールを簡単に追加できる。
Node.jsでは、IBMi上のリソースを活用するためのnpmパッケージが存在しており、Node.js上からIBMiのDB2データを扱ったり、コマンドの実行ができます。
Node.jsからIBMiを操作するためのパッケージとして、例えば以下があります。
- idb-connector
https://www.npmjs.com/package/idb-connector - itoolkit
https://www.npmjs.com/package/itoolkit
IBM i と OSS
IBMiは、従来の堅牢なビジネスシステムとしての信頼性を保ちながら、近年はオープンソース技術との連携に力を入れています。
IBMiは、PASE(Portable Application Solutions Environment)というAIX互換のUNIX環境を通じて、Node.jsを含む多くのオープンソースソフトウェアを実行可能です。
これにより、レガシー資産を活かしつつ、モダン化を進められるようになっています。
例えば、オープンソースと、IBMiデータベース(DB2/400)やRPG/COBOLと連携するようなシステム構成を構築可能になりました。
・IBM i Open Source Documentation
IBM iのオープンソースソフトウェアに関する公式ドキュメントが提供されています。
https://ibmi-oss-docs.readthedocs.io/en/latest/README.html
※オープンソースを使用する場合、IBMiに 5770-SS1 オプション33 の「PORTABLE APP SOLUTIONS ENVIRONMENT」が必要です。
ACS (IBM i Access Client Solutions)
IBMi V7R3以前では、オープンソースの導入にライセンスプログラムが必要でしたが、IBMi V7R4以降では、オープンソースプログラムの導入はyum(Yellowdog Updater Modified)ベースのパッケージ管理が採用されました。
yumコマンドでオープンソースを導入することも可能ですが、ACS(IBM i Access Client Solutions) の「オープンソースパッケージ管理」を使用するとGUI上の操作で簡単にオープンソースプログラムを導入することができます。
ACSは以下のURLからダウンロードが可能です。
・IBM i Access – Client Solutions
https://www.ibm.com/support/pages/ibm-i-access-client-solutions
※ダウンロードにはIBM IDが必要です。
・IBMid登録
https://www.ibm.com/docs/ja/controller/11.0.1?topic=authentication-ibmid-registration
Node.jsの導入

ACSを起動後、導入するIBMiをシステムのプルダウンで指定します。
次に、「管理」メニューから「オープンソースパッケージ管理」を選択します。
※オープンソースパッケージ管理はIBMiとSSHで接続します。
IBMi側のSSHサーバーを起動している必要があります。

ログイン認証が表示されるので、ユーザー・パスワードを入力後「OK」ボタンをクリックします。

オープンソースパッケージ管理画面が開きます。
「インストール済みパッケージ」では、IBMiにインストールしているオープンソースプログラムの一覧が確認可能です。

「使用可能なパッケージ」タブを選択すると、使用可能なパッケージの一覧が表示されますので、nodejs18以上のnodejsXXを選択してインストールします。
※使用できるnodejsxxのバージョンはIBMiのTechnology Refresh (TR) のレベルにも依存します。
リストにnodejs18以上が表示されない場合は、PASE入力画面からyum updateで更新を試してください。
また、「使用可能なパッケージ」を選択しても一覧が表示されない場合には、IBMi自体がインターネットに接続できない状態の可能性があります。
IBMiがインターネットに接続できるよう設定するか、またはレポジトリを複製して導入する手順が必要です。
・IBM i でYumリポジトリをオフラインで使用する
https://qiita.com/sugata/items/21ff2e96324413728680
右下の「インストール」ボタンをクリックするとNode.jsのインストールが開始されます。

Y/Nの選択画面が表示されますのでインストールの場合はYを入力します。

リポジトリからプログラムがダウンロードされてインストールされます。
IBMiのエミュレータで確認
インストールされたNode.jsについて、IBMiエミュレータのPASE画面からバージョン確認をします。

ホストコードページ939の設定でIBMiへエミュレータで接続後、以下コマンドを実行します。
CALL QP2TERM
※JOBのCCSIDは5035または1399に設定ください。

以下のコマンドを実行するとNode.jsのバージョンが確認できます。
node -v

バージョンが表示されました。
以上でNode.jsの導入が完了しました。
次回以降の記事でgitのインストール、ValenceでのgitHubの連携手順をご紹介します。