ewd 3トレーニング・コース #4 ewd-xpressのインストールと構成

25
EWD 3 トトトトトト トトト #4 ewd-xpress トトトトトトトトトト M/Gateway Developments Ltd. Rob Tweed ト : トトトトトトトトトトトトト ト トト GT.M トトト : トト ト ※ トトトトトトトト Cache’ トトトトトトト

Upload: kiyoshi-sawada

Post on 15-Apr-2017

113 views

Category:

Software


0 download

TRANSCRIPT

Page 1: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

EWD 3トレーニング・コース  #4

ewd-xpress のインストールと構成M/Gateway Developments Ltd.

Rob Tweed訳 : 日本ダイナシステム株式会社 嶋 芳成

GT.M 版編集 : 澤田 潔※ 本稿オリジナルは Cache’ 向けとして編纂

Page 2: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 2

ewd-xpress• EWD 3 アプリケーションの実行時の完全な

バック・エンド環境• 対話型のブラウザ・ベースのアプリケーション• 対話型の React Native なモバイル・アプリケー

ション• HTTP による Web サービス• REST サービス

• EWD 3 モジュールを用いて構築• 拡張可能

EWD 3 トレーニング・コース #4

Page 3: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 3

パッケージ済みの EWD 3 プラットフォーム

• アプリケーションを構築し実行させたいのなら理想的• 対話型のブラウザ・ベースのデスクトップ・アプ

リケーション• React Native を用いたモバイル・アプリケー

ション• REST と Web サービスのバック・エンド

• Node.js バック・エンドも含む• 特に、もし Caché または GT.M を使いたい

のなら• 必要な EWD 3 モジュールはすべて統合済み• インストールと構成方法はとても簡単

EWD 3 トレーニング・コース #4

Page 4: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 4

Linux と GT.M で始めます

• あらかじめ必要な条件• Ubuntu14.04 以降 ( あるいは CentOS7)• まともな現代的なブラウザ

• Chrome を推奨• まともなテキスト・エディタ

• 例えば vi, Sublime, atom, etc• サーバ側のファイルを編集可能な環境 (Samba 等 )

• GT.M がインストール済みで稼働していること• GT.M Ver 6.0 以降• もし、 ubuntu64bit 版で GT.M を最初からインストールす

る場合は、 ewd-3-installers を利用すると便利 : https://github.com/robtweed/ewd-3-installers/blob/master/ewd-xpress/install_gtm.sh

EWD 3 トレーニング・コース #4

Page 5: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 5

ステップ 1• Node.js をインストールする (curl と nvm を利用 )• Linux bash コマンド・プロンプトを用いて

チェック• node –v

• v4.4.7 と表示されるはず

EWD 3 トレーニング・コース #4

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bashsource ~/.nvm/nvm.shnvm alias default 4.4nvm install 4.4 # 現時点では 4.4.7nvm use defaultecho 'nvm use default' >> ~/.profile

sudo ln -s /usr/local/bin/node /usr/bin/nodesudo ln -s /usr/local/lib/node /usr/lib/nodesudo ln -s /usr/local/bin/npm /usr/bin/npmsudo ln -s /usr/local/bin/node-waf /usr/bin/node-wafn=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local

Page 6: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 6

ステップ 2• EWD 3 の全作業用のディレクトリを作る• 即ち ~/ewd3

EWD 3 トレーニング・コース #4

Page 7: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 7

ステップ 3• ewd-xpress と ewd-xpress-monitor をイ

ンストールする

cd ~/ewd3npm install ewd-xpress ewd-xpress-monitor

• 警告はすべて無視します• 完了すると、新しいディレクトリができています

~/ewd3/node_modules

EWD 3 トレーニング・コース #4

Page 8: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 8

ステップ 4• Node.js 4.4.x 用の最新版の NodeM をインス

トールし、 ~/.profile に GT.M 環境変数を設定

EWD 3 トレーニング・コース #4

cd ~/ewd3npm install nodemsudo ln -sf $gtm_dist/libgtmshr.so /usr/local/lib/sudo ldconfigbase=~/ewd3[ -f "$GTMCI" ] || export GTMCI="$(find $base -iname nodem.ci)"nodemgtmr="$(find $base -iname v4wnode.m | tail -n1 | xargs dirname)"echo "$gtmroutines" | fgrep "$nodemgtmr" || export gtmroutines="$nodemgtmr $gtmroutines"

echo 'base=~/ewd3' >> ~/.profileecho '[ -f "$GTMCI" ] || export GTMCI="$(find $base -iname nodem.ci)"' >> ~/.profileecho 'nodemgtmr="$(find $base -iname v4wnode.m | tail -n1 | xargs dirname)"' >> ~/.profileecho 'echo "$gtmroutines" | fgrep "$nodemgtmr" || export gtmroutines="$nodemgtmr $gtmroutines"' >> ~/.profile

Page 9: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 9

ステップ 5 (a)• ewd-xpress をセットアップし構成する• 次のものを、

~/ewd3/node_modules/ewd-xpress/example/ewd-xpress.js

• 次の場所にコピーします

~/ewd3/ewd-xpress.js

EWD 3 トレーニング・コース #4

Page 10: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 10

ステップ 5 (b)• ~/ewd3/ewd-xpress.js

• 例えば、 vi を用いて• config オブジェクトの GT.M 環境変数を修正、 ex:

EWD 3 トレーニング・コース #4

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: 'gtm', params: { gtm_chset: 'utf-8' , gtmver: 'V6.2-002A_x86_64' , gtm_icu_version: '5.0' , gtmgbldir: '/home/jds/.fis-gtm/V6.2-002A_x86_64/g/gtm.gld' , gtmroutines: '/usr/lib/fis-gtm/V6.2-002A_x8664/utf8 /home/mta/ewd3/node_modules/nodem/src' , gtmdir: '/home/mta/.fis-gtm' , gtm_dist: 'gtm_dist=/usr/lib/fis-gtm/V6.2-002A_x8664/utf8' , } }};

コンマ「 , 」に注意GT.M 環境変数

Page 11: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 11

ステップ 5 (b)• ~/ewd3/ewd-xpress.js• 例えば、 Notepad ++ を用いて• Config オブジェクト内の Caché mgr パ

スの指定を修正、例えば、

EWD 3 トレーニング・コース #4

Var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘cache’, params: { path: ‘~//InterSystems//Cache2015-2//mgr’ } }};

コンマ「 , 」に注意

二重の「 / 」記号に注意 !二重の「 / 」記号に注意 !二重の「 / 」記号に注意 !

Page 12: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 12

ステップ 6• ewd-xpress-monitor をセットアップする• 新しいディレクトリを作る

~/ewd3/www~/ewd3/www/ewd-xpress-monitor

• 次にあるファイルをすべて、

~/ewd3/node_modules/ewd-xpress-monitor/www

• 次の場所にコピーする

~/ewd3/www/ewd-xpress-monitor

EWD 3 トレーニング・コース #4

Page 13: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 13

ステップ 7• ewd-xpress を起動する• Linux コマンド・プロンプト・ウィンドウ

で、

cd /ewd3node ewd-xpress

EWD 3 トレーニング・コース #4

~/ewd3>node ewd-xpresswebServerRootPath = ~/ewd3/www/Worker Bootstrap Module file written to node_modules/ewd-qoper8-worker.js=================================================ewd-qoper8 is up and running. Max worker pool size: 1

Page 14: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 14

ステップ 8• ブラウザで、次の URL を入力する

• http://[ サーバアドレス ]:8080/ewd-xpress-monitor/index.html • 管理用のパスワードの入力を求められたら次のよ

うに入力

• keepThisSecret!

• ewd-xpress と ewd-xpress-monitor が完全に稼働していることが分かりました。

EWD 3 トレーニング・コース #4

Page 15: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 15

ewd-xpress 起動ファイル

• ~/ewd3/ewd-xpress.js• 名前は必要なら変更しても構いません

• config オブジェクトを定義する• ewd-xpress の start() 関数を呼び出す• config オブジェクトは引数として渡す

EWD 3 トレーニング・コース #4

Page 16: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 16

ewd-xpress 起動 config オブジェクト例var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: 'gtm', params: { gtm_chset: 'utf-8' , gtmver: 'V6.2-002A_x86_64' , gtm_icu_version: '5.0' , gtmgbldir: '/home/jds/.fis-gtm/V6.2-002A_x86_64/g/gtm.gld' , gtmroutines: '/usr/lib/fis-gtm/V6.2-002A_x8664/utf8 /home/mta/ewd3/node_modules/nodem/src' , gtmdir: '/home/mta/.fis-gtm' , gtm_dist: 'gtm_dist=/usr/lib/fis-gtm/V6.2-002A_x8664/utf8' , } }};

EWD 3 トレーニング・コース #4

GT.M 環境変数

Page 17: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 17

ewd-xpress 起動var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { // snip } }};

var ewdXpress = require(‘ewd-xpress’).master;ewdXpress.start(config);

EWD 3 トレーニング・コース #4

Page 18: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 18

ewd-xpress 起動 config オブジェクト

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { // snip } }};

EWD 3 トレーニング・コース #4

ewd-xpress-monitor アプリの起動時に入力する管理パスワード

Page 19: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 19

ewd-xpress 起動 config オブジェクト

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { // snip } }};

EWD 3 トレーニング・コース #4

ewd-xpress-monitor 内で、この ewd-xpress インスタンスの名前を表示する複数インスタンスを起動するときに便利

Page 20: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 20

ewd-xpress 起動 config オブジェクト

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { // snip } }};

EWD 3 トレーニング・コース #4

Express がリクエストの受信を待つポート

Page 21: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 21

ewd-xpress 起動 config オブジェクト

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { // snip } }};

EWD 3 トレーニング・コース #4

要求を処理するために、 ewd-xpress によって起動されるワーカー・プロセスの最大個数

Page 22: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 22

ewd-xpress 起動 config オブジェクト

var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { gtm_chset: 'utf-8' , gtmver: 'V6.2-002A_x86_64' , gtm_icu_version: '5.0' , gtmgbldir: '/home/jds/.fis-gtm/V6.2-002A_x86_64/g/gtm.gld' , gtmroutines: ‘~~~~~~' , gtmdir: '/home/mta/.fis-gtm' , gtm_dist: 'gtm_dist=/usr/lib/fis-gtm/V6.2-002A_x8664/utf8' , } }};

EWD 3 トレーニング・コース #4

ワーカー・プロセスをどのデータベースに接続するかCaché または GT.M

Page 23: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 23

ewd-xpress 起動var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { gtm_chset: 'utf-8' , gtmver: 'V6.2-002A_x86_64' , gtm_icu_version: '5.0' , gtmgbldir: '/home/jds/.fis-gtm/V6.2-002A_x86_64/g/gtm.gld' , gtmroutines: ‘~~~~~~' , gtmdir: '/home/mta/.fis-gtm' , gtm_dist: 'gtm_dist=/usr/lib/fis-gtm/V6.2-002A_x8664/utf8' , } }};

EWD 3 トレーニング・コース #4

GT.M の場合、グローバル ディレクトリのありか

Page 24: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 24

ewd-xpress 起動var config = { managementPassword: ‘keepThisSecret!’, serverName: ‘New EWD Server’, port: 8080, poolSize: 1, database: { type: ‘gtm’, params: { path: ‘~//InterSystems//Cache2015-2//mgr’ } }};

EWD 3 トレーニング・コース #4

他の Caché データベースパラメータも利用可能  - username (_SYSTEM) - password (SYS) - namespace (USER)

デフォルト値と異なる値の場合にのみ指定する必要がある

Page 25: EWD 3トレーニング・コース #4 ewd-xpressのインストールと構成

05/02/2023 25

ewd-xpress の準備完了

• これでアプリケーションを開発することができます

• JavaScript の任意のフレームワークを利用可能• 自身で開発した JavaScript コードも含む

EWD 3 トレーニング・コース #4