32、Web服务事务模型与规范解析

Web服务事务模型与规范解析

1. 现有事务模型面临的挑战

当前Java/J2EE环境中的事务管理器大多采用扁平事务模型,且多数事务在单一企业、单一信任域内,由一个事务管理器控制所有资源。然而,Web服务环境给扁平事务带来了新挑战:
- 服务间松耦合 :Web服务应用由多个组织的服务松散耦合而成,每个服务可能有独立事务边界,简单扁平事务模型难以保证原子性。例如Flute银行的账单支付服务,与外部支票书写服务协作时,若外部服务有自己的事务,扁平模型可能无法保障消费者操作的原子性。
- 长事务问题 :许多业务事务耗时久,长时间持有资源锁会降低事务并发度,还可能引发拒绝服务攻击,因此需放宽隔离属性。企业常对某些事务设置时间限制,如航空公司为旅行社保留预订两天,超时后的处理需双方协商,事务协议应支持此类协商。
- 可选子事务 :部分业务事务中,部分活动可选。以虚构旅行社为例,消费者请求预订时,旅行社向多个航空公司、租车公司和酒店请求服务。某些航空公司可能因无座位拒绝参与,若多个航空公司锁定座位,需生成补偿事务释放多余预订,这在概念上放宽了事务的持久性。
- 事务上下文传播 :跨组织的Web服务应用,事务需跨服务执行,不同服务可能采用不同技术和平台,存储在异构数据库中。事务上下文必须在服务间传递,Web服务事务管理器需支持基于XML的事务上下文在Web服务协议上的传播。

2. 传统与新事务模型对比

传统事务模型和新事务模型在多个属性上存在差异,如下表所示:
| 属性 | 传统事务 | 业

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值