20、基于 .NET 的 AtomPub 协议实现与订单履行服务

基于 .NET 的 AtomPub 协议实现与订单履行服务

1. AtomPub 协议在订单履行中的应用

在订单履行协议中,虽然 AtomPub 协议本身并未明确规定如何在集合之间移动成员,但这并不意味着我们偏离了该协议。我们仍然使用 AtomPub 来协调活动,并限制表示传输的机制。

客户端通过链接关系来识别可用于推进履行协议的链接,然后使用 AtomPub 激活这些链接。客户端关注的是链接资源与当前表示之间的关系,这种关系由链接关系值决定。客户端根据自身的角色、责任、目标以及所负责的履行活动的当前状态,匹配链接关系值,从而决定下一步要遵循的链接。

服务器会生成带有专有链接关系值的链接,引导客户端沿着正确的路径前进。服务器通过为每个 URI 附加不同的处理逻辑来解释客户端的意图,并根据客户端选择的 URI 激活相应的逻辑。服务器根据订单资源的当前状态和可能的下一个状态来确定要生成的链接,这些链接构成了一组合法的转换,客户端可以通过这些转换改变履行过程的应用状态。

2. 在 .NET 中实现 AtomPub

我们使用 Windows Communication Foundation (WCF) 实现了一个简单版本的履行服务。WCF 提供了一个服务托管运行时,处理一些底层的管道工作,使我们能够专注于服务的整体设计。为了实现快速的测试驱动开发,我们将服务实现与 WCF 运行时解耦,这样可以在不启动和停止服务实例的情况下,通过指定和测试特定的 HTTP 交互来快速交付功能。

2.1 实现 AtomPub 集合和成员

.NET 框架的 System.ServiceModel.Syndic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值