论文部分内容阅读
中图分类号: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年长春工业大学计算机学院在读生。
基于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年长春工业大学计算机学院在读生。