基于 .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
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



