HARTING Node.js Environment for HAIIC MICA
HARTING IT Software Development
Marienwerder Str. 3, 32339 Espelkamp, Germany
Phone: +49 5572 47-97300, Fax: +49 5772 47-482
[email protected]
Node.js Environment v1.3. for HAIIC MICA Guide
目次
1. NODE.JS ENVIRONMENT CONTAINERベーシック ... 3
1.1. 概要 ... 3 1.2. NODE.JS CONTAINERのインストール ....... 3 2. NODE.JS CONTAINERの説明 ...... 4 2.1. ユーザインターフェースの概要 ..... 4 2.2. NODE.JS アプリケーションスクリプトのアップロード ... 5 2.3. アクティブなNODE.JSアプリケーションスクリプトのダウンロード ... 6 2.4. アプリケーションロガーの使用 ...... 6 3. 使用例 ... 7 3.1. デフォルトアプリケーションのダウンロード ... 7 3.2. アプリケーションの修正 ...... 7 3.3. 修正したアプリケーションの(再)アップロード ... 8 4. NODE.JS コンテナによるサービスの提供 ... 8 4.1. 概要 ... 8 4.2. サービスの利用 ...... 8 5. NODE.JSコンテナの拡張 ... 9
1.
Node.js environment container ベーシック
1.1.
概要
Node.jsは、Node.js Foundation1によってホストされるオープンソースプロジェクトであり、Linux Foundation2の共同プロジェクトです。 Chrome V8エンジンで構築された軽量のJavaScriptランタイ ムを実装し、イベント駆動型アーキテクチャとリアルタイムWebアプリケーションのアプリケー ションのスループットとスケーラビリティを最適化するために設計されたノンブロッキングI/O API を提供します。 ビルトインライブラリにより、Node.jsアプリケーションはスタンドアロンのWeb サーバとして動作します。 Node.jsプロジェクトは、世界最大のオープンソースライブラリのエコシ ステムを提供すると主張するnpm-package managerによって管理されホストされています。
Node.js環境コンテナは現在、Node.js v6.9.1 LTSに基づいています。 Node.jsおよびNPMの詳細に ついては、 を参照してください。https://nodejs.org/en/と https://www.npmjs.com/
1.2.Node.js container
のインストール
図1: Node.js Environment Containerを含むMICAホーム画面
kode. s環境コンテナのインストールおよび設定ルーチンは、IIC MICAが提供する標準ルーチンに 従い、“MICA Programming Guide”にあります。
2.
Node.js containerのユーザインターフェース
2.1.
ユーザインターフェース概要
Node.js環境コンテナのユーザインタフェースは、アプリケーションをコンテナにインポート/エ クスポートしてアプリケーションを表示するために使用できるエントリ “Application” およびログ アプリケーションを表示する “Logging” を含む単一のセクション “General” で構成されています。 ユーザインタフェース構造は、以下のように記述することができます: 1.) Application ファイルテキストフィールド: テキストフィールドを使用して、コンテナにアッ プロードする js-applicationスクリプトを設定できます。2.) Upload: Uploadロードボタンは、 で指定された js-applicationファイルのアップロードを行
います。 1.)
3.) Download: download ボタンは、現在のアクティブな js-application のダウンロードをファイ
ルシステムに関連付けます。
4.) Show Log File: log fileボタンを使用すると、図5に示すようなログウィンドウを入力できます。
2.2. Node.js
アプリケーションスクリプトのアップロード
図3: Node.js Environmentへのアプリケーションアップロード 新しいアプリケーションをコンテナにアップロードするには、アプリケーションファイルのテ キストフィールド(2.1項を参照)をクリックし、図3のようにjs-applicationスクリプトを選択 するか、ファイルをテキストフィールドにドラッグ&ドロップするだけです 。 ファイルを選択 すると、ファイル名がアプリケーションファイルテキストフィールドに表示されます。 “Upload” ボタンを押すと、選択したファイルがコンテナに送信され、内部に保存されます。 送信が終了すると、図4に示すように、送信が成功したか失敗したかがアプリケーションファイ ルのテキストファイルの右側に表示されます。 ファイル送信が終了しましたらコンテナはさら に置換するアプリケーションを停止しすぐに新しいアプリケーションを開始します。 アップ ロードされたアプリケーションの名前はapp.jsに変更され、コンテナ自体の起動後に自動的に 開始されます。 注意:アップロードに本ユーザインターフェイスを使用すると、一度に1つのアプリケーショ ンしか実行できません。古いアプリケーションは置き換えられ起動されます。ただし、( “MICA Programming Guide”の説明に従って)SSH経由でコンテナにログインし、同時に
図4: Node.js Environmentへのアプリケーションアップロード成功
2.3.
アクティブなNode.js アプリケーションスクリプトのダウンロード
"download" ボタンをクリックするだけで、現在アクティブなNode.jsスクリプトをダウンロード
できます。 スクリプトをダウンロードしたら、「ワードパッド」(Windows)や「TextEdit」 (OS X )などのシンプルなテキストエディタや「Visual Studio」(Windows)や「X code」 (OS X )などの開発IDEでファイルを開き表示/変更しことができ、2.2項で説明したようにアプ リケーションを再アップロードできます。
2.4.
アプリケーションロガーの使用
アクティブなアプリケーションログファイルは、 “Show Log File” をクリックして、ロガーウィ ンドウ(図5参照)で検査できます。 アプリケーションロガーを使用するには、ログ情報を次の ファイルに書き込む必要があります。
/var/log/nodeapp.log
Node.jsにログ情報を書き込む方法の詳細については、新しいNode.js環境コンテナごとに提供
図5: Node.js Environment Containerのアプリケーションロガーウィンドウ
3.
使用例
3.1.
デフォルトアプリケーションのダウンロード
この例で最初にやりたいことは、デフォルトの s applicationスクリプトをダウンロードするこ とです。 したがって、ユーザインターフェイスで “download”ボタンをクリックするだけで済み ます。 ダウンロードスクリプトファイルをエディタで開くとスクリプトはポート MMMでリッ スンする簡単なeTTP Webサーバを実装していることがわかります。したがって、ブラウザタ ブを開いて次のアドレスを入力すると“It Works!!”が表示されます。 http://<container-address>:5000 このスクリプトはまた、初期化プロセス中のログをファイル/var/log/nodeapp.logに書き込みま す。“Show Log Files”ボタンをクリックするとこれらのメッセージがロガーウィンドウに表示され ます。3.2.
アプリケーションの修正
アプリケーションスクリプトをダウンロードした後、 "It Works! !"のテキストを "It still Works!!” に変 更、スクリプトの最後に次の行を追加してスクリプトを修正しダウンロードします。:
logger.log(‘Wow, that was easy!’); その後、スクリプトを "new_app.js" に保存し、次のセクションで説明するようにスクリプトを (再)アップロードします。
3.3.
修正したアプリケーションの(再)アップロード
この例の最後のステップでは、変更されたアプリケーションをコンテナに再度アップロードし ます。 したがって、アプリケーションファイルのテキストフィールドをクリックし、スクリプ トファイル"new_app.js"を選択し、最後に"Upload"ボタンをクリックします。 ファイルがアップ ロードされた後、再びロガーウィンドウが開き、 “Wow, that was easy!”というメッセージが表 示されます。その後、Webサーバのページ(ポート5000)を更新し、Webサーバの応答メッ セージ "It still Works !!"が表示されます。4.
Node.js containerによるサービスの提供
4.1.
概要
Node.js環境コンテナを使用すると、HTTPリクエストを介してリモートからユーザインタ フェースが提供する機能にアクセスできます。 したがって、コンテナはIIC MICAホストによっ て提供されたトークンを使用して要求を認証します。 詳細は、“MICA Programming Guide”のセ クション“Single sign-on (SSO)”を参照してください。
4.2.
サービスの利用
次のHTTPリクエストがコンテナによって提供されます。: 1. Upload: js-application スクリプトのアップロード Method: POST URL : appupload?token=XXX 2. Download: 現在のjs-application スクリプトの内容を取得 Method: POST URL : appdownload?token=XXX 3. Log file: アプリケーションログファイルの内容を取得 Method: GET URL : applogfile?token=XXX5.
Node.js containerの例
Node.js環境コンテナは、npmエコシステムで利用可能なすべてのオープンソースプロジェクト にアクセスでき、提供されたコマンドラインツールnpmを使用して拡張できます。 SSH経由で コンテナにログインした後、Node.jsコマンドノードと同様にnpmにアクセスできます。 次の行 を入力して、アプリケーションフォルダに移動する必要があります。: cd /opt/nodeapp このフォルダには、バックグラウンドで実行されているapp.jsスクリプトもあります。 新しい npmモジュールをインストールするには、次の行を入力するだけです: npm install <module> インストール(express)したい場合、npm-moduleで<module> を置換します。 新しいnpm-moduleをインストールした後は、js-applicationスクリプト内で<module>コマンド と組み合せて使用できます。 Expressを使用する場合は、アプリケーションに次の行を追加す るだけです。:var express = require(‘express’);