论文部分内容阅读
随着计算机与网络技术的发展,特别是在Internet应用日益普及的情况下,工作流技术得到了广泛的应用。Enhydra Shark是一个功能强大的工作流引擎,它完全基于工作流管理联盟(WfMC)和对象管理组织(OMG)的标准规范,以XPDL作为流程定义语言,提供了丰富的功能组件和接口,具有良好的扩展性。本文在参考WfMC的规范工作流参考模型和工作流过程定义接口XPDL的基础上,对Shark的体系结构和数据库结构进行了详细介绍,然后从引擎启动模式、包管理、流程管理、活动管理、任务授权和核心调度算法等方面对Shark引擎内核的接口和实现方式进行了深入分析。Shark数据库的持久化采用Enhydra的同系列产品DODS实现,而DODS存在学习困难、性能不够优化、可重用性不高等缺陷。针对这一问题,借鉴现有的优秀持久化技术,提供了一种新的实现方案,即采用目前非常流行的O/R映射框架hibernate替代DODS实现Shark的数据库持久层,并给出了具体的实现过程。这一解决方案不仅提高了Shark的性能,而且有助于与其他系统进行更广泛地集成和应用。Shark授权控制模型类似于基于角色的访问控制(RBAC)模型,加之XPDL规范本身的局限性,使得引擎实现的授权功能比较弱。针对这些问题提供了具体的改进方案,基本上解决了Shark授权没有体现动态性和缺乏指派策略的缺陷,使授权达到任务访问级别的粒度;同时扩展了重新授权功能,极大地方便了系统应用中的授权管理。论文中的研究内容和解决方案在实际电子政务办公系统中得到了初步应用,并且取得了良好的成效。