[Glue!] Glue Logic Server の利用


現在の Glue Logic の実装では、 Glue Logic の基本機能を全てひとつのサーバ・プロセスで実現している。
このため、 Glue Logic を利用するためには、 ネットワークで繋がれた任意のホストの一つの上で Glue Logic のサーバ・プロセスを動かさなければならない。

このサーバ・プロセスが何らかの原因で停止してしまうと 全システムのクラッシュを招くため、 現在サーバ機能の分散化を図っているが まだ実装には至っていない。
また、サーバ・プロセスには全システムのトラフィックが集中するため、 サーバ・プロセスを稼働させるホストの性能や付近のネットワーク・トポロジにも 充分な配慮をすることが望ましい。

ここではサーバ・プロセスの起動方法と、 エージェントの標準コマンドライン・オプションから 利用すべきサーバ・プロセスを指定する方法とを示す。

注意: このページ以外では Glue Logic Server の存在を 意識しなければならない場面はあまり無い。 このページにおいては Glue Logic Server について議論するが、 他の多くのページにおいてはサーバあるいは Server とは 他のエージェントに対して何らかのサービスをする サーバ・エージェントのことを意味するので、 混同しない様に注意されたい。


サーバ・プロセスの起動

Glue Logic のサーバのプログラムは一般には Server という名称である。
ただし、利用するシステムあるいはサイトによっては、 特定のパス名を補ったり、 あるいはこれと異なる名称を指定しなければならない可能性もある。

このプログラムは省略可能な引数をひとつだけ取ることができ、 この引数を用いてサーバが使うポートの番号を指定する。
この引数を省略した場合には、 ポート番号 9669 が指定されたものと仮定される。


サーバ・プロセスの停止

サーバ・プロセスの標準入出力は、 サーバを制御するコンソールとして利用される。

サーバ・プロセスを停止する場合は、コンソールから、 EXIT という一単語のみを含んだ行を入力する。
この入力があると、 サーバ・プロセスはその時保持している全てのエージェントとの接続を解放し、 動作を終了する。

このようにしてサーバに一方的に接続を解放されたエージェントは、 サーバのとの接続が意図されないタイミングで終了した事を示すメッセージを表示して 停止する。


エージェント起動時のサーバ・プロセスの選択

GlueLogicParseArgs 関数を用いて 標準コマンドライン・オプションの解析を行なっているエージェントでは、 エージェントの起動時に -Server オプションを使って与える引数で、 接続先のサーバ・プロセスを選択する事ができる。

接続先のサーバ・プロセスを選択するために用いられるオプションは

hoge -Server machine:port
のように、 -Server とそれに続くホスト名とポート番号とで示される。 ここで、ホスト名の指定には必ず Full Qualified Domain Name を用いる。 また、ポート番号は通常の十進数表記を用いる。

ホスト名とポート番号とはどちらかを指定しない事でデフォールト値を採用する事もできる。 この場合には、サーバ・プロセスの選択の形式は

foo -Server machine
bar -Server :port
といった形になり、 ホスト名が省略された場合にはそのエージェントが起動されたホストそのものを、 ポート番号が省略された場合にはポート番号 9669 を指定したのと同じ効果を持つ。


 [M.T. HomePage]  [written & copyrighted by Masayuki Takata]