首页 > 范文大全 > 正文

基于移动Agent的工作流管理系统研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于移动Agent的工作流管理系统研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在分析大多数工作流管理系统的现状以及移动Agent技术特点的基础上,提出一种基于移动agent工作流系统架构,并利用IBM的移动Agent系统――Aglet实现原型系统。该架构采用移动Agent的安全机制,同时通过RSA公开密钥加密算法保护移动Agent所携带的信息,提高了安全性能。实践证明,基于移动Agent的工作流管理系统是可行的和先进的,能够有效地解决现有工作流管理系统中存在的效率问题和安全问题。

关键词:工作流管理系统;移动Agent;Aglet

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11616-03

1 引言

工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来完成执行和监控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地实现经营目标提供了先进的手段[1]。虽然工作流技术发展迅速,但是目前大多数工作流管理系统还是存在以下不足之处:

1.1 效率问题

目前工作流管理系统大多基于客户端/服务器模型(C/S模型),它可以分为两种管理方式:集中式管理和分布式管理。无论采用何种管理方式,客户端和服务器间的通信一般都要依赖于远程过程调用(RPC)。这样的通信模型是同步的,也就是说,客户端在向服务器发出请求后就挂起本地进程等待调用后的结果,远程服务器上的调用进程按要求执行完命令后返回结果。这样,客户端与服务器间的实时连接和频繁交互势必造成网络拥塞和服务器端的资源瓶颈,而且有单点失败的可能性,这就极大地影响了系统的效率。

1.2 安全问题

随着科技的发展以及电子商务的日渐盛行,企业系统的信息化已成为企业生存的条件之一。但是,由于组织机构的分散性以及业务流程的复杂性,使得信息在传递过程中充满了变数与挑战;与此同时,业务流程的范围已从企业内部延伸至企业外部,加上网络环境的复杂多变,使得安全成为工作流管理系统不可或缺的功能。如何确保信息传递的安全及正确,已成为工作流管理系统面临的一大挑战。

本文从工作流管理系统的效率问题和安全问题出发,结合移动Agent技术,对基于移动Agent的工作流管理系统进行研究。

2 移动Agent技术

2.1 移动Agent的概念

移动Agent的概念是上个世纪90年代初由General Magic公司在商业系统Telescript中提出的。移动Agent是一个活动的、自主的计算实体,能在分布式的异构网络中从一个站点转移到另外一个站点执行,并且在移动过程中携带运行的代码、数据,同时表现出相应的状态。相对于传统的静态Agent,它具有对象移动、集中控制、自治性、本地交互和并行操作等优点。

2.2 移动Agent的工作机制

移动Agent在被派遣前驻扎在被派遣端,通过与本地的信息源连接,获取本地的相关信息;当Agent被派遣时,会将本地的相关信息和操作发送到目的主机,在目的主机上执行相关操作,并与目的主机的信息源连接以获取相关信息;当操作完成以后,其返回操作结果,并终止目的主机上被派遣的移动Agent的运行[2]。

3 基于移动Agent的工作流系统架构

在文献[3]中提出利用智能Agent管理业务流程的研究以及文献[4]提出利用Agent加强工作流的概念后,Agent与工作流管理相关的研究曾在上个世纪90年代后期一度颇为盛行。但由于当时Agent的技术尚未成熟且工作流管理等相关架构尚未完备,导致这方面的研究停滞不前。但随着Internet的发展及科技的进步,移动Agent和分布式工作流模型都有长足的进步和发展,同时也使得基于移动Agent的工作流管理系统更加容易开发及建立。

图1 基于移动Agent的工作流系统架构

基于移动Agent的工作流系统架构如图一所示。它拥有一个统一的工作流引擎,负责业务流程的控制和管理。当业务流程中的一个业务活动被启动时,工作流引擎从数据库中取出过程定义,同时启动一个移动Agent,并给该Agent设定运行时所需要的参数,此时该Agent便开始准备移动并执行这个具体的业务活动。在本架构中,移动Agent包含处理企业实际系统中业务活动的能力,同时扮演信息传递的角色,能够加速业务流程的运行。

3.1 效率方面

从技术层面来说,移动Agent具备良好的自主性和移动性,因此在网络连接的问题上,比起传统的RPC连接来得更为可靠且更能有效节约网络带宽;同时,移动Agent具有异步计算能力,这样可以在一定程度上缓解集中式管理中的资源瓶颈问题且解决了分布式管理中缺乏全局监控的弊病。

从管理层面来看,企业组织机构的分散和业务流程的多变,也使得基于移动Agent的工作流管理系统相较于传统的工作流管理系统,拥有更高的弹性和更佳的效率。

3.2 安全方面

基于移动Agent的工作流管理系统能很好地解决工作流管理中的效率问题,但是由于其建立在分布式网络环境之上,可能会受到以下三个方面的信息安全威胁:网络传输方面、移动Agent系统方面以及数据保密方面。

3.2.1 网络传输方面

目前大多数企业使用防火墙技术以及入侵检测技术对企业信息系统进行保护。同时在TCP/IP通信协议的基础上,有PPTP、L2F、L2TP、IPSec、VPN等多种网络传输安全协议的研究与运用[5],确保信息在广域网中传输的安全。因此在本文中,这部分内容不在我们的重点讨论范围之内。

3.2.2 移动Agent系统方面

这方面的内容包括如何对自身及外来的移动Agent进行身份认证,同时维护系统的安全性,防止有恶意的移动Agent入侵和破坏。对于这些安全需求,我们将透过移动Agent系统本身所具备的安全机制来满足。一个安全的移动Agent系统应该具备下列几项安全服务:

3.2.2.1 身份认证

移动Agent必须使用公开密钥或者用户密码才被允许进入系统服务器。

3.2.2.2 主机认证

主机认证的作用包括两个方面:①使当前主机确认会将移动Agent实例发送至一个可信站点;②使目的主机确信移动Agent实例来自一个可信站点,从而拒绝任何来历不明的Agent。

3.2.2.3 完整性验证

在执行一个移动Agent前,必须确认该Agent的程序代码及状态是否有被恶意或者非法地修改。

3.2.2.4 授权机制

授权机制可以规定移动Agent按照某种规则存取被授权的资源,限制恶意Agent的非法访问。

3.2.2.5 日志服务

日志服务记录移动Agent及其主机安全性相关的活动,提供作为日后安全检查的依据。

通过移动Agent系统的安全机制,可以防止恶意Agent的攻击,有效地保护了移动Agent。但是,由于移动Agent本身没有对数据进行加密的机制,如果移动Agent遭到恶意的拦截或破坏,其所携带的流程信息将不可避免地遭到窃取。因此,我们必须在数据保密方面采取相应的措施。

3.2.3 数据保密方面

我们利用加密算法对移动Agent所携带的信息进行加密,希望借由数据加密来减小数据外流的风险。目前应用比较广泛的加密算法是RSA加密算法。它是由Ron Rivest、Adi Shamir和Leonard Adleman于1978年在美国麻省理工学院研究出来的,是一种用数论构造的公开密钥加密算法。RSA加密算法是第一个既能用于数据加密又能用于数据签名的算法,它易于理解和操作,是迄今为止在理论上最为成熟完善的公开密钥加密机制[5]。

因此,我们采用RSA公开密钥加密算法加密移动Agent所携带的信息,确保数据在传输过程中的安全。通过流程服务主机所产生的公钥(Public Key)及私钥(Private Key),使得流程信息只能在服务主机的两端被解读,借此来保障流程信息的安全。

4 基于移动Agent的工作流管理实例

为了进一步证实上述架构的先进性与可行性,本文利用IBM东京实验室开发的移动Agent系统――Aglet,采用Master-Slave设计样式[6],构建了如图2所示的实例。

图2 基于移动Agent的工作流管理实例

Aglet程序的框架结构如下:

public class tab extends Aglet{

doJob();

public Boolean handleMessage(Message msg){

doGetMsg();}

public void onCreation(Object args){

doOnCreation();}

public void run(){

doRun();}}

应用程序的主类继承Aglet2.0.2包中的Aglet类,doJob()是Agent在移动到目的主机时所要执行的事件处理函数,handleMessage()是Agent在收到各种消息时的处理函数,onCreation()方法是在Agent创建时所要处理的事件,run()是程序的入口函数。

Aglet具有如下的安全特征,确保系统在程序设计时的安全,包括①对用户和域的认证;②数据完整性检查;③另外还有类似于JDK1.5安全模型的授权。目前,Aglet已经提供了一个可以容忍(reasonable)的安全层次,并且随着JDK安全模型的发展而不断得到改善。

实践证明,基于移动Agent的工作流系统架构是可行的和先进的,能够有效地解决现有工作流管理系统中存在的问题。

5 结论

本文从工作流管理系统的现状出发,提出了一种基于移动Agent的工作流系统架构。该架构不仅解决了以往工作流管理系统中资源瓶颈和缺乏全局监控的问题,而且从移动Agent系统方面和数据保密方面加强了安全性能。下一步的研究工作中,我们仍致力于移动Agent与工作流技术的结合运用,希望在增强工作流管理系统的效率和安全外,同时能够加强系统的自处理能力和灵活性。

参考文献:

[1]范玉顺.工作流管理技术基础[M].北京: 清华大学出版社,施普林格出版社,2001.

[2]周光辉,江平宇,丘礼平.基于工作流和移动Agent的多Web应用系统的集成研究[J].西安交通大学学报,2002,36(9):933-937.

[3]N. R. Jennings, P. Faratin, P. O’Brien et al. Using Intelligent Agents to Manage Business Processes[DB]..

[4]D W Judge, B R Odgers, Z Cui et al. Agent-enhanced workflow[DB].citeseer.ist.psu.edu.

[5]杨远红,刘飞,王旭等.通信网络安全技术[M].北京:机械工业出版社,2005.

[6]刘锦德,张云勇.一个实用的移动Agent系统(Aglet)的综述[J].计算机应用,2001,21(8):1-3.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。