Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


IBMiへNode.jsをインストールする方法

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を操作するためのパッケージとして、例えば以下があります。

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オープンソースパッケージ管理

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

ACS認証

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

ACSオープンソースパッケージ管理画面

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

ACSオープンソースパッケージ管理、使用可能なパッケージタブ

「使用可能なパッケージ」タブを選択すると、使用可能なパッケージの一覧が表示されますので、nodejs18以上のnodejsXXを選択してインストールします。 
 ※使用できるnodejsxxのバージョンはIBMiのTechnology Refresh (TR) のレベルにも依存します。
  リストにnodejs18以上が表示されない場合は、PASE入力画面からyum updateで更新を試してください。  

また、「使用可能なパッケージ」を選択しても一覧が表示されない場合には、IBMi自体がインターネットに接続できない状態の可能性があります。
IBMiがインターネットに接続できるよう設定するか、またはレポジトリを複製して導入する手順が必要です。

・IBM i でYumリポジトリをオフラインで使用する
https://qiita.com/sugata/items/21ff2e96324413728680

右下の「インストール」ボタンをクリックするとNode.jsのインストールが開始されます。

NodeJSインストールの開始

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

NodeJSインストールの完了

リポジトリからプログラムがダウンロードされてインストールされます。

IBMiのエミュレータで確認

インストールされたNode.jsについて、IBMiエミュレータのPASE画面からバージョン確認をします。

NodeJSインストールの確認

ホストコードページ939の設定でIBMiへエミュレータで接続後、以下コマンドを実行します。

CALL QP2TERM

 ※JOBのCCSIDは5035または1399に設定ください。

NodeJSバージョン確認コマンド

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

node -v
NodeJSインストールバージョンの確認

バージョンが表示されました。
以上でNode.jsの導入が完了しました。

次回以降の記事でgitのインストール、ValenceでのgitHubの連携手順をご紹介します。