论文部分内容阅读
现代的企业等组织机构常常面临着快速的机构变更和人员调整。在一个商业进程的执行过程中,工作人员可能会离开岗位或变更角色,例如:人员休假、辞职或者因为升迁等改变其角色。如此一来本该由该角色负责的相应的活动的执行将会被阻塞,这些因素都会影响商业进程实例的执行,进而妨碍该组织机构商业目标的实现。如何有效地控制人员角色的动态分配,是一个重要的研究课题。Q.Wang等人研究了系统中商业进程的鲁棒性问题,并且将其分为三个层次:静态鲁棒性,递减鲁棒性和动态鲁棒性。意大利Trento大学的F.Paci等人研究了基于WS-BPEL的静态鲁棒性问题,提出了角色授权控制的方法,如职责分离和职责绑定,并提出了如何计算为了实现商业目标最少所需人员的方法。本文在Q.Wang和F.Paci等人的基础上,结合作者在意大利Trento大学计算机系学习期间所参与的工作,研究了组织机构中人员-角色分配的动态鲁棒性问题。所谓动态鲁棒性是指在商业进程的执行过程中,一旦人员的角色发生变化,系统能够自动快速有效地寻找到另外一名拥有相应角色和权限的工作人员,来继续执行被阻塞的活动。本文使用超图对组织模型进行了建模,将企业等组织机构抽象为组织模型超图;并且提出了遍历超图来寻找活动执行者的遍历算法、组织模型更新算法、商业进程执行算法和鲁棒性判断算法等四种算法。在此基础上本文设计了一套管理系统的体系结构并对其进行了编程实现。系统按照逻辑共分为三个模块:Monitor Service模块,BPEL Engine模块和Enforcement Service模块。(1)Monitor Service模块:首先,该模块负责组织模型的输入工作。其次,该模块还负责对组织模型遍历并计算各活动潜在执行者的工作。第三,Monitor Service还提供给管理员更改组织模型的接口,允许管理员在商业进程执行过程中,一旦组织模型发生变化,动态修改组织模型的结构。(2)Business Process Execution Language Engine(BPEL Engine)模块:它负责将所有活动有机地组织起来,协调好各种活动间的关系、执行顺序和同步信息等,将他们组成一个商业进程以便执行。(3)Enforcement Service模块:这个模块有两个WSDL(Web Service Description Language)接口,其中一个用于与BPEL Engine模块交互,另外一个用于提供给参与到商业进程执行过程中的所有人员使用。最后本文使用一个医院内部的商业进程实例在本系统上进行了仿真测试,验证了该系统能够保证在商业进程实例的执行过程中实现动态鲁棒性,即如果组织机构发生了人员-角色调整,其能够自动化寻找到拥有相应角色的其他执行者,或者安全地停止进程。