论文部分内容阅读
20世纪80年代以来,工作流技术得到了快速的发展并逐步被应用到日常业务和电子办公等方面,当今,工作流技术的研究正在逐步深入,相关产品的开发如火如荼。目前市场上已经出现了多种比较成熟的工作流产品,更有开源免费的产品可供选择,如用JAVA开发的wfmOpen、OSWorkfloW,等等。工作流技术的研究应用日益受到学术界与企业界的高度重视。然而,目前大多数工作流系统产品和原型系统都缺乏事务性,使得工作流的应用具有一定的局限性。如何合理有效地把事务处理技术应用到工作流系统之中去,保证工作流中数据的一致性,正是本文讨论的重点。
2PC协协议(2 phase commit protocol),即二阶段提交协议,是数据库管理系统中的一种事务处理技术,是为了在数据库数据处理过程中保证数据的完整性和一致性的经典协议。事实上,工作流同样具有事务性,也可以看成是一系列操作序列的集合,只不过工作流中的事务性面向的不仅仅数据库中的数据,更重要的是过程。而且,工作流中的各个状态同样需要保证一致性,因此可以考虑将2PC协议运用到工作流管理系统中以保证状态的完整性和一致性。当然,工作流系统中的事务处理更为复杂,针对不同的处理对象,2PC协议的具体运用过程也不是完全一样的。
工作流管理系统是一个及其复杂的事务管理系统,涉及到诸多技术要素,包括多个软件构件。本文不是逐一罗列工作流管理系统的工作原理以及总体技术实现问题,而是主要讨论了把2PC协议应用到工作流管理系统中处理原子事务的分析、设计与实现。其中包括工作流系统的发展和定义,以及在工作流中事务处理的相关概念。针对事务尤其是原子事务的特点引入了2PC协议的概念,介绍了2PC协议的执行逻辑,提出了使用2PC协议来解决工作流中原子事务的问题的方法,并分析了其可行性与必要性。最后,结合Web服务领域和WFMS系统中事务实现的特点提出了在工作流系统中应用2PC协议事务处理的实现机制,介绍了基于J2EE平台的工作流系统原子事务的应用框架和体系结构,并给出了相应的具体流程与实现。