写点什么

文章:Ian Robinson 讲述消费者驱动的契约

2008 年 9 月 08 日

在这篇新文章中,ThoughtWorks 首席顾问 Ian Robinson 讨论了以“服务故事”及在服务开发线之间的交换的单元测试为形式的“消费者驱动的契约(consumer-driven contracts)”何以能够增强面向服务开发的生命周期。跟从提供者角度定义的契约不同,消费者驱动的契约是通过组合所有已知服务消费者的要求得到 的。

Ian 介绍了消费者驱动的契约及其与提供者契约、消费者契约的关系:

  • 提供者契约(Provider contracts)——提供者契约是我们最为熟悉 的一种的服务契约,参考 WSDL +XML Schema+WS-Policy。顾名思义,提供者契约是以提供者为中心的。提供者规定了它要提供什么;然后,各消费者便将自己绑定到这个一成不变的契 约上。不论消费者实际需要多少功能,消费者接受了提供者契约,就将自己与该提供者的全体功能耦合起来了。
  • 消费者契约(Consumer contracts)——另一方面,消费者契约是对一个消费者的需求更为精确的描述。消费者契约描述了提供者功能里消费者在一个具体交互的场合下所需的特定部分。消费者契约可被用来标注一个现有的提供者契约,另外消费者契约也有助于发现一个现今尚未规定的提供者契约。
  • 消费者驱动的契约(Consumer-driven contracts)—— 消费者驱动的契约描述的是服务提供者向其所有当前消费者承诺遵守的约束。各消费者通过创建消费者驱动的契约,把自己的具体期望告知提供者。在提供者方面创 建的约束,确定了一个消费者驱动的契约。若提供者接受了一个消费者驱动的契约,那么它只需保证已有约束仍能得到满足,即可自行改进与修改其服务。

接着,作者探讨了如何能够在面向服务开发的生命周期(启动阶段,构建阶段,运营阶段)里使用消费者驱动的契约。

Ian 总结道:

消费者驱动的契约支持面向服务系统的开发与测试,而且支持负责服务生命周期的各方之间的协作。

更多信息,请阅读全文:用消费者驱动的契约进行面向服务开发

2008 年 9 月 08 日 21:47419
用户头像

发布了 63 篇内容, 共 22.2 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

一文带你学习DWS数据库用户权限设计与管理

华为云开发者社区

数据库 数据 用户权限 数据安全 华为云

耦合层:撮合物联网的理论与实践牵手的“月老”

华为云开发者社区

AI 物联网 IoT 低耦合 华为云

作业1

武鹏

艺术鬼才,Unicode 字符还能这么玩?

楼下小黑哥

html 互联网 后端 js

北京麻辣女程序员的生存现状

北柯

阿里巴巴 阿里云 程序员 北京行动计划

判断字链表伪代码

Mr.Monkey

第八周架构师训练营学习心得

子豪sirius

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第一章前言

Geek_8dbdc1

CSS html 前端

总结

武鹏

3. 懂了这些,方敢在简历上说会用Jackson写JSON

YourBatman

json Jackson Fastjson

环信大学:从IT建设模式变化看客户中心发展

DT极客

第八周架构师训练营作业

子豪sirius

百度官方论文复现营!顶会审稿人28天手把手带你复现顶会论文

百度大脑

人工智能 百度 AI GAN 视频分类

数据结构、网络、数据库总结

周冬辉

数据库 网络 数据结构与算法

人车识别实验丨华为ModelArts VS 百度Easy DL硬核体验

华为云开发者社区

百度云 AI 车联网 物体检测 华为云

从业14年的SaaS业务牛人,为你拆穿SaaS创业骗局

北柯

互联网 SaaS IT 创业者

【写作群星榜】7.18~7.24 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

LeetCode题解:142. 环形链表 II,JavaScript,HashMap,详细注释

Lee Chen

LeetCode 前端进阶训练营

week8 学习总结

任小龙

week 8

Geek_2e7dd7

漫画解读:唐僧师徒是如何用CDN神力,修复雷音寺官网的?

巨侠说

CDN

移动互联网系统与应用安全国家工程实验室联合中国信息通信研究院安全研究所和智游网安公司共同发布《全国移动App风险监测评估报告》

InfoQ_11eaedef67e9

移动应用安全 大数据报告 App风险

云小课|带你揭开IP地址的神秘身份

华为云开发者社区

网络安全 IP 网络 服务器 华为云

两个单向链表的合并判断

任小龙

简易web性能工具

王鹏飞

2020掠夺者刀锋500搭载英特尔十代酷睿处理器硬核上阵

飞天鱼2017

week8 学习总结

Geek_2e7dd7

Java 线程池

陈皮

智能边缘,开启中国“数”“智”新时代

飞天鱼2017

影响地图:业务敏捷中你需要掌握的可视化力量

华为云开发者社区

敏捷 敏捷开发 业务线 需求 华为云

应用研发之基础知识-计算机硬件基础

superman

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

文章:Ian Robinson讲述消费者驱动的契约-InfoQ