论文部分内容阅读
移动代理是分布式计算研究的新领域,它不仅具有软件代理的自治性、智能性等特点,而且还引入了移动的思想,可以在网络中的一个主机上暂停执行后携带自身状态、数据和代码转移到另一个主机中恢复执行。
移动代理系统是移动代理技术的具体实现,是移动代理技术相关研究成果转换成的可测试、运行的程序库。
本文使用面向对象技术设计移动代理系统的体系架构、消息机制、事件机制和安全策略。体系架构将移动代理系统化分为三个主要实体,分别是代理、代理平台和代理运行时,确定了它们的功能、责任和它们之间的层次关系(代理运行时为代理平台提供运行支持,代理平台为代理提供运行支持)。消息机制定义了消息和消息的转递方式,消息是由消息的种类、内容和参数构成的,消息的传递方式分为三种,分别是单向方式、异步方式和同步方式。事件机制定义了代理事件、代理平台事件、事件监听者以及事件的触发条件和监听方法。安全策略将移动代理系统的安全分为三个层面,分别是消息安全、代理安全和代理平台安全,采用了数字签名技术、加密与解密技术和Java的许可权限机制;本文使用Java语言实现一个移动代理系统AgentSystem,该系统提供了一个简单的移动代理编程模型,预留了移动代理的创建、克隆、挂起、继续、休眠、唤醒、派遣、召回、销毁等基本功能和诸如安全控制、消息通信等其它功能的编程接口(API),AgentSystem支持代理、代理平台之间安全、高效的通信,支持移动代理的安全迁移及代理平台的安全运行。软件设计人员在AgentSystem的基础上构建移动代理应用系统时,无须重复地设计、实现移动代理和支持其运行的代理平台,只要关注移动代理应用系统的业务逻辑就可以了。