中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0910036-01
基于Agent的管理系統是在Aglet平臺下,嵌入的JAVA開發模式。基于Agent的研發使整個管理系統更智能化,更人性化。他更好的適應了目前研究所的業務需求,更靈活的適應了管理軟件的需求。
以下是對基于Aglet平臺下一個管理系統的研究。Aglet是由日本IBM公司所推出的,完全用Java發展的Mobile Agent技術,并提供實用的平臺-Aglets Workbench讓我們開發Mobile Agent系統。Aglets的系統架構主要分為四個階段,四個階段逐層調用。以下是管理系統幾個模塊的實現流程。
本文介紹的科研管理系統是基于Agent下的科研管理系統。與傳統的基于Agent下的分模塊的管理系統相比,本系統是多個模塊相互獨立又相互聯系的管理模塊模式。各個獨立的Agent模塊又相互聯系,協調完成工作。
該系統體系可分為以下幾個模塊:
1.Agent模塊。Agent模塊是系統中的主要模塊,是系統的中樞,該模塊主要包括管理Agent、過程Agent和執行Agent,管理Agent充當了管理服務機構的角色,統一的管理各個流程Agent的執行;而過程Agent負責管理其下活動Agent的運行和協同;執行Agent是流程中各個任務的具體執行者;三類Agent之間是一級管理一級的關系,現了集中式管理的特點。
2.接口Agent(Corba)。接口模塊用于實現各個模塊之間的通信,用于實現系統、客戶、管理員三方的交互工作,包括系統與管理員交互、外部應用之間的交互、系統于一般用戶交互。主要通過用戶Agent、資源管理Agent及資源Agent來實現。用戶Agent負責系統和用戶之間交互,資源管理Agent對各個資源Agent進行統一管理。資源Agent是系統和資源交互的接口。
3.數據庫模塊。本科研管理系統有大量的數據要存儲。
4.Java模塊。以上是實現系統的幾個模塊,那么基于Aglet平臺下Agent技術是如何實現呢,現對該平臺下技術的實現做一個說明,對于不同的Agent有不同的功能,具體實現情況如下:
1.管理Agent:管理Agent是系統中最核心的機構,是管理系統的中樞核心,它直接或間接地負責科研管理系統中的其它Agent的行為、協作等進行統一的調配和管理。它通過消息協商的方式與其它Agent進行通信,保證了其他的Agent有一定的自治性。主要的功能有,初始化各個Agent模塊,對系統中模塊Agent管理,管理Agent要派遣管理各個Agent模塊。
2.流程Agent:流程Agent負責每個具體的實力的執行,他的主要功能就是對是通過對過程定義的解釋,生成執行Agent來負責每個活動實例,并控制執行Agent的運行、調度等。當系統啟一個Agent模塊是,就創建一個與其對應的執行Agent來負責。過程Agent通過生成執行Agent來完成一個個具體的任務,并通過過程定義中定義的活動執行順序和實際的信息,來完成每個Agent模塊是實行。創建執行Agent后過程Agent一般就會推出執行活動。
3.執行Agent:執行Agent來負責管理活動中每一個管理動作,每一個執行Agent會有唯一對應的過程Agent,但一個過程Agent會生成一個或個執行Agent,每一個執行Agent完成唯一的一個管理動作,執行Agent同時還與管理Agent和用戶Agent交互,來更好的執行每一個Agent動作。
4.資源管理Agent:資源管理Agent受活動Agent支配,用于管理資源Agent,每個活動Agent需要調用資源Agent時都要同過資源管理Agent,資源管理Agent是資源Agent的是命令發出者。
5.資源Agent:資源Agent包括各種軟、硬件資源,外部設備等等,用于資源管Agent的調用。
6.用戶Agent:用戶Agent是系統與外界交互的接口,是用戶命令的發出者。
如下圖所示:

前面已經介紹過模塊的實現,技術的實現,那么基于Aglet平臺下的Agent流程是如何實現如下:
1.用戶登陸:用戶輸入自己的相關信息,系統生成用戶(UserAglet),
用戶代理Agent消息發送到管理Agent,管理Agent又生成相應的過程Agent,過程Agent根據管理Agent的要求產生執行Agent,最終由執行Agent去執行命令,調用資源Agent數據庫的相應資源后有反饋給用戶,是否可以登陸。
2.啟動管理Agent:用戶、管理員和科研管理員來啟動管理Agent,管理Agent的啟動是整個系統的核心,它主要完成統的初始化操作,如初始化系統的的相關數據,載入必要的過程定義模型,創建并管理所需的流程Agent等等。管理Agent啟動后創建與管理Agent想對應的過程Agent,同時傳輸過程Agent需要的執行數據,隨著執行Agent的啟用與之想對應的過程Agent就已經創建。
3.過程Agent啟動后,就會創建相應的執行Agent用來執行每一個用戶和管理員指令,過程Agent會將用戶和管理員需要的執行指令傳遞給執行Agent,由執行Agent來完成具體的執行動作。用戶或管理員把指令傳遞給過程Agent,過程Agent又傳遞給執行Agent,執行Agent是指令最后的執行者,由他直接調用指令所需的資源,執行Agent接到過程Agent的指令后執行該指令,并將結果返回給過程Agent,過程Agent在根據執行Agent的執行結果就定是否還繼續執行下一步活動,如果繼續執行,則創建下一步執行Agent,若沒有找到執行結果,則反饋給過程Agent沒有結果的反饋信息。
4.執行Agent在執行指令時需要調用資源Agent,執行Agent向資源管理Agent發出指令,資源Agent在直接把資源傳遞給資源管理Agent。
作者簡介:
李天瑞,2007-2010年長春工業大學計算機學院在讀生。