7.2.1 全体の処理の流れ
エージェントの全体の処理の流れを図7-1に示します。図7-1に示した処理に使用する関数は,7.2.2項以降で説明します。
図7-1 全体の処理の流れ
![[図データ]](figure/zu0701.gif)
図7-1について説明します。
- エージェントの生成
クライアントからエージェントの生成が指示されると,Agent Serverはエージェント定義データを作成し,エージェント定義ファイルに格納します。
- トリガの監視
Agent Serverはエージェント定義データを参照し,トリガ監視登録プログラムを実行します。トリガ監視登録プログラムは,トリガ監視プログラムを実行します。
トリガ監視プログラムは,トリガが発生すると,メールの優先度などアクション条件の判定やアクション実行に必要なデータを作成します。このデータは,トリガの発生通知と共にAgent Serverへ渡されます。Agent Serverは,このデータを永続メモリに書き込みます。永続メモリとは,エージェントの生存期間,又は一つのトリガ発生からアクション実行までの間保持される記憶領域です。
トリガの発生通知を発行するときに,AG_actlogwrite関数を使用して活動ログをAgent Serverへ書き込みます。これによって,クライアントから活動ログを参照できるようになります。
- アクション条件の判定
Agent Serverはエージェント定義データを参照し,必要に応じてアクション選択プログラムを実行します。アクション選択プログラムは,条件判定に必要なデータを永続メモリから参照します。また,必要に応じてAgent Serverにデータを渡します。このデータは,アクション条件の判定結果と共にAgent Serverへ渡されます。
- アクションの実行
Agent Serverはエージェント定義データを参照し,アクション実行プログラムを実行します。アクション実行プログラムは,処理に必要なデータを永続メモリから参照します。また,必要に応じてAgent Serverにデータを渡します。このデータは,アクション実行完了通知と共にAgent Serverへ渡されます。アクションの実行をアクション実行プログラムとアクション実行補助プログラムとに分割している場合は,アクション実行補助プログラムからAgent Serverに実行の完了が通知されます。
Agent Serverは,受け取ったデータを永続メモリに書き込みます。また,活動ログを書き込みます。
- メール送信処理
アクションの実行などでメールを利用する場合は,メール送信機能を通してメールサーバとやり取りします。Agent Serverでは,E-mail及びGroupmax Mailの送信処理ができます。
- 通信処理
Agent - Development Kitが提供しているAPIを利用する場合は,通信支援機能を利用できます。これによって,Agent Serverと別のマシンで動作するサーバエージェントを効率的に開発できます。
図7-1に示した処理の詳細及び使用する関数についてそれぞれ説明します。なお,関数の詳細は,マニュアル「Groupmax Agent Version 5 リファレンス」を参照してください。