EdbCL (EdbClient Loader)
概要
EdbCL は
EdbClient
を起動するためのプログラムです.
EdbCLはプログラミング言語Javaで記述されており,JRE (Java Runtime Evnironment) 1.4.2以上で動作します.
○ EdbCLは起動時にローカルPCにおいて,EdbClientが既に起動しているか否かをチェックし,
起動済み → EdbClientに引数を渡す.
起動無し → EdbClientをダウンロード&起動する.
を行います.
利用方法
手動によるEdbCLの起動方法は
○
java -jar EdbCL.jar
arguments-for-EdbClient
◇ 必要ならEdbClientを起動し,EdbClient に引数
arguments-for-EdbClient
を渡します.
◇ EdbClientを起動した場合は,EdbClient が終了するまで実行状態を継続します.
◇ EdbClientを起動しなかった場合には,EdbClient に引数を渡してすぐに終了します.このとき,EdbClientに渡した処理の実行結果を終了コードで通知します.(0…正常終了)
◇
arguments-for-EdbClient
を省略した場合も同じ動作となります.
○
java -jar EdbCL.jar -version
◇ EdbCLのバージョンを表示して終了します.
○
java -jar EdbCL.jar -check
○
java -jar EdbCL.jar -check
maxcount
○
java -jar EdbCL.jar -check
maxcount
interval
◇ EdbClientの起動状態を調べて終了します.起動状態は終了コードにて通知します.(0…起動済, 1…起動無し)
◇
maxcount
… 検査回数 (既定値: 1回)
◇
interval
… 検査間隔 (既定値: 1 [sec])
◇ おおよそ,
maxcount
×
interval
秒間 EdbClientの起動を待つ.(このEdbClientの起動とは,EdbClientがコマンド待機を開始すること)
Utilities
EDBのログインパスフレーズ変更ダイアログを表示する.→
EdbCL-passphrase.jnlp
EDBが認証サーバに提供しているパスワード登録ダイアログを表示する.→
EdbCL-person.password.jnlp
EDB/PKIの個人証明書作成ダイアログを表示する.→
EdbCL-person.certificate.jnlp
EdbCL⇔EdbClientの通信 (EdbClient起動チェック方法)
EdbClientは起動と同時に,localhost内にコマンド受け付け用のTCPソケットを開きます. ポート番号は利用されていないものを自動的に選択し,JavaのPreferences.userNodeForPackage(...).node("EdbClient")で得られるプレファレンス領域に,TCPソケットのポート番号を変数PORT:
jp.ac.tokushima_u.edb.client.EdbClient.PORT
に格納します. EdbClientがコマンド待機していないとき,このプレファレンスの値は通常0にします.
EdbCLは起動時に,
jp.ac.tokushima_u.edb.client.EdbClient.PORT
の値を取得,(0であれば,EdbClientは起動していない)
得られたポート番号でTCPソケットのオープンを試行します. ソケット通信が確立し,正常にコマンドの送信とステータスコードの受信が完了したとき,EdbClientが起動済みであると判断します.
EdbClientのコマンド受け付けソケットは単純なストリーム形式のアスキー文字列の送信ですので,Java以外のプログラミング言語用いても容易にコマンド送信を行うことができます.
EdbClientのコマンド受け付けソケットは localhost にのみバインドしますので,同じホスト内からのlocalhostに対する接続のみ受け付けます.(他のホストからネットワーク越しの接続はできません.)
EdbCL⇔EdbClientの通信データの概略:
EdbCL
ソケット接続の確立
EdbClient
→
コマンドライン引数1+(改行)
コマンドライン引数2+(改行)
コマンドライン引数3+(改行)
…
(空行)
→
送信チャネルのクローズ
EdbClientによるコマンドの実行
←
STATUS:
status
←
ソケット接続の開放
status
は非負整数値で,UNIXプロセス終了ステータスと同様の表現.(0…正常終了)
EDB working group <edb-admin@web.db.tokushima-u.ac.jp> $Id: index.html,v 1.8 2006/10/12 06:31:17 alex Exp alex $