论文部分内容阅读
工作流技术是发展企业信息系统的核心技术之一。企业业务流程中体现出来的事务特性,对传统事务理论提出了新的挑战。这些事务具有生命周期长、结构复杂、需要分布式支持等特征。为了解决这一问题,人们在传统事务模型的基础上提出了许多高级事务模型。但是往往因为结构过于复杂,或者实现起来过于困难,而很难应用到实际的工作流系统中。 Saga模型是一种针对长期事务的高级事务模型,其核心思想是将一个长期事务划分为一组允许单独提交的短期原子事务来执行,并通过对原子事务的补偿活动来保证整个事务的原子性。本文以Saga模型为基础,结合成熟的JTA(Java Transaction API,Java事务接口)技术,提出并实现了一种可行的高级事务模型Xsaga(extend Saga)。Xsaga模型提高了Saga中原子事务的粒度,减少了需要补偿的活动数目,提供了分布式支持,扩大了事务性资源的范围。 本文给出了Xsaga模型的形式化描述和Java实现,并且通过与工作流参考模型的标准实现相结合,运用到实际的业务系统BS185中,解决了工作流系统中满足一定条件的长期事务的控制问题。