Apache Kandula -


Apache
跨平台
Java

软件简介

Web服务是一种用于联系不同平台的技术。它又一系列说明说来处理各种复杂的事务。

Web services transactions specifications 由IBM、BEA和Microsoft
重量级公司开发。它最近被分成了三个主要工作组:WS-Coordination, WS-Atomic Transaction以及WS-Business
Activity。

WS-Coordination定义了在Web服务之间发生的任何事务处理的底层基础。与WS-Atomic Transaction或WS-Business
Activity一起使用时,WS-Coordination被用来定义注册Web服务以及协作Web服务来参与事务的机制。

从事务的观点看,WS-Coordination的作用是建立上下文环境,用来执行和管理参与事务的不同Web服务单元。而当WS-
Coordination为事务形成基础时, 它把事务协议的细节留给了另外两个说明书:WS-Atomic Transaction和WS-Business
Activity.

WS-Atomic
Transaction事实上非常类似于企业软件中一个现有的宽泛的协议:两段提交协议。尽管该协议的细节已经超出了Web服务的范围,但它运行的基础则是在两种资源之间达到同步以确保持续的输出。

笼统地说,两段提交协议以及WS-Atomic Transaction的核心都是短期操作,或者说,能够很快知道成功还是失败的事务处理。

另一方面,WS-Business Activity被设计用于长期运行的事务。另一个主要差异是其健壮性,因为与WS-Atomic
Transaction相比,它可以处理事务场景。

WS-Atomic Transaction为事务提供了要么都做,要么不做的解决方案,而WS-Business
Activity则提供了例如异常处理等功能来做进一步的补充。

既然我们已经提出了Web服务事务的概念,你或许会问在真实的Web服务应用中如何把事务组织在一起呢?和其它说明书一样,对于这个问题,你需要Apache
Software Foundation提供的一种工具Kandula 。

作为一个Apache项目。Kandula中的事务性功能很像Axis。而Axis是Apache开发的事实上的Web服务平台。由于该项目关注在Java上,因此Kandula中对于WS-*事务的支持也是一种Java的事务性工具。