サーバーサイドJavaScript
CGJSフレームワーク パラメータ設定

このページでは、CGJSフレームワークを使用するため、設定するパラメータの説明をします。
1.CGJS.configファイルの設定
CGJS.configファイルは、サイト(プロジェクト)単位でWebサーバーのCGIが動作するのに必要なパラメータを定義します。
■ CGJS.configのパラメータ
キー名パラメータの説明
INCLUDE CGIが起動されると最初にLOADされる、プロジェクト全体の共通関数モジュールを指定する。
カンマ(,)区切りで複数指定が可能。また、同一configファイル内で複数行設定が可能。
モジュールは指定順にLOADされます。
CLIENT セキュリティ強化のため、デバッグ用のCGIが接続可能なClientをIPv4アドレスで指定する。
カンマ(,)区切りで複数指定が可能。また、同一configファイル内で複数行設定が可能。
configファイルにCLIENTの定義がない場合、CGIが接続できるClientを限定しません。
LOGFILE FrontからBack Endへのアクセス、CGIの処理、エラー等のアプリが出力するログを記録する
ファイルのフルパスを指定する。
MODULE_DIR アプリが実行するBack EndのJavaScriptのソース、コンパイルしたObjectファイルを
配置するディレクトリをフルパスで指定する。
DEBUG_PORT デバッグ用CGIが接続するClientのポート番号を指定する
TOKEN_KEY Front部とBack End間でトークン認証を行う時、Session変数への保存や暗号化の
基となる名称を設定する。JavaScriptのSymbolのように、大文字、小文字、数字、'_'で
記述する。この文字列が設定されてないとトークン認証・リフレッシュは行われない。
TIME_INTERVAL Frontが前回CGIにアクセスした時刻から次のアクセスまでの最大放置時間(秒)を設定する。
この値が設定され、かつ放置がこの時間を過ぎるとタイムアウト・エラーになる。
VAR プロジェクト全体で共通の変数を設定する。例えば、使用するDB、ライブラリ、
接続のパラメータ等は、モジュール単位で定義するより1個所で定義するほうが
変更などの対応が楽である。
ENV "KEY=VALUE"の形式で、環境変数KEYに値VALUEを設定する。
同一configファイル内で複数設定が可能。
CGI_PROGRAMS 外部プロセスで認証を行う場合、Frontから渡されたコマンドラインを実行します。
コマンドのプログラム名は、CGI_PROGRAMS の値に定義されていなければなりません。
認証プログラムが複数ある場合はカンマ(,)区切りのCSV形式で登録しますが、
文字 " で囲んではいけないし、カンマ前後にスペースを入れてもいけません。
■ CGJS.configの定義例
 ### cgjsのログファイル
 LOGFILE=/var/www/log/cgjs_1_00.log
 ### cgjsのjsファイル、コンパイル後のjoファイルのディレクトリ
 MODULE_DIR=/var/www/cgjs
 ### Web Clientのデバッガーとの接続ポート番号
 DEBUG_PORT=8777
 
 CLIENT=10.237.1.250,10.237.1.194,10.237.1.252,10.237.1.254
 
 ### 脆弱性対応のトークン認証・リフレッシュのパラメータ。なしの場合は対応なし
 AUTHRIZATION_NAME=CGJS
 ### Web画面放置のタイムアウト(秒)
 TIME_INTERVAL=1800
 ### ユーザの認証プログラム
 CGI_PROGRAMS=auth_check.sh
 
 ### 環境変数の定義
 ENV="LD_LIBRARY_PATH=/opt/oracle/instantclient_21_7:/opt/ibm/db2/clidriver/lib"
 ENV="TNS_ADMIN=/opt/oracle/instantclient_21_7/network/admin"
 ENV="NLS_LANG=Japanese_Japan.UTF8"
 ENV="DB2INSTANCE=db2inst1"
 ENV="LANG=ja.JP.utf-8"
 ENV="DB2CODEPAGE=1208"
 
 ### データベース関連 データベース名、ライブラリー、接続パラメータ
 ### DB2
 VAR="DB_DB2":"db2"
 VAR="LIB_DB2":"/opt/ibm/db2/clidriver/lib/libdb2.so"
 VAR="CONNECT_DB2":"odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=127.0.9.1;PORT=50000;DATABASE=TEST;PROTOCOL=TCPIP;UID=TEST;PWD=pwd;"
 
 ### oracle
 VAR="DB_ORACLE":"oracle"
 VAR="LIB_ORACLE":"/opt/oracle/instantclient_21_7/libclntsh.so"
 VAR="CONNECT_ORACLE":"db=TEST;user=test;pwd=pwd"
 
 ### PostgreSql
 VAR="DB_PGSQL":"postgresql"
 VAR="LIB_PGSQL":"/usr/lib/x86_64-linux-gnu/libpq.so.5"
 VAR="CONNECT_PGSQL":"host=127.0.0.1;port=5432;db=test;user=test;pwd=pwd"
 
 ### Sqlite
 VAR="DB_SQLITE":"sqlite"
 VAR="LIB_SQLITE":"/usr/lib/x86_64-linux-gnu/libsqlite3.so.0"
 VAR="CONNECT_SQLITE":"/var/www/db/sqlite.db"
 
 ### SqlServer
 VAR="DB_SQLSVR":"sqlserver"
 VAR="LIB_SQLSVR":"/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.10.so.1.1"
 VAR="CONNECT_SQLSVR":"Server={tcp:127.0.0.1,1433};AutoTranslate=no;UID=SA;PWD=pwd;Database=test"
2.cgjs.js ファイルの設定
Frontで実行するJavScriptファイル cgjs.js で、AjaxのURL指定で接続するBack EndのCGIを指定します。
cgjs.jsファイルの先頭から3行目にHttpサーバーのCGIのディレクトリーを、4行目に実行する
CGIプログラム名を設定します。
■ cgjs.jsファイルの先頭部
var CGJS = {
  // CGJSのCGIのURL /cgi-bin/ の部分は必要に応じて書き換える
  url_base: ($(location).attr('protocol') + '//' + $(location).attr('host') + '/cgi-bin/'),
  default_cgjs_cgi: 'CGJS.cgi',   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Front部のcgjs.jsファイルは、配布時は接続するCGIが本番用の CGJS.cgi になっていますが、開発時は、
Client PCのDebuggerと接続・デバッグする debugCGJS.cgi を設定してください。