BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Web服务契约的版本控制

| 作者 Thomas Erl 关注 0 他的粉丝 ,译者 胡键 关注 0 他的粉丝 发布于 2009年12月9日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

今天,我们介绍这本由Thomas Erl、Anish Karmarkar、Priscilla Walmsley、Hugo Haas、L. Umit Yalcinalp、Canyang Kevin Liu、David Orchard、Andre Tost和James Pasley编著的“《针对SOA的Web服务契约设计和版本控制》”。更确切的说,是这本书的第20、21和22章,它们说明了跟服务契约版本控制相关的问题。

下载地址《针对SOA的Web服务契约设计和版本控制》——第20、21和22章——服务契约的版本控制(PDF)

在基于SOA的解决方案中,Web服务需要详细的技术契约,它们清楚地指出了每个服务的功能和使用方式。由于服务会随着时间而变化,契约的设计者需要确保服务消费者使用合适的契约变种,该问题可以通过版本控制来解决。

第20章:版本控制的基础

在本章中,作者叙述了版本控制中使用的基本概念和术语,要解决的兼容性问题,如何使用版本标识符,以及几个可供选择的版本控制策略。

由于Web服务契约可以由多个文档(WSDL定义、XML模式定义、WS-Policy定义)构成,版本控制应该适用于在契约改变时改变的所有文件。通常情况下,WSDL的版本控制会被考虑,但是变更也可能出现在XML模式定义中,因而它们同样需要版本控制。

有四种需要考虑的基本变更类型:向后兼容、向前兼容、兼容和不兼容。这部分通过实例对每种变更类型进行了解释。

接下来的章节介绍了最常用的版本控制标识符和版本控制策略。这三个策略是:

  • 严格:任何兼容或不兼容的变更都会产生一个新的服务契约版本。这种方式不支持向后兼容和向前兼容。
  • 灵活:任何不兼容的变更会产生一个新的服务契约版本,契约被设计成支持向后兼容,但不支持向前兼容。
  • 宽松:任何不兼容的变更会产生一个新的服务契约版本,契约被设计成同时支持向后兼容和向前兼容。

第21章:对WSDL定义进行版本控制

在这一章中,作者使用“变更的意义”和documentation元素来解决WSDL定义文件的版本控制。除了对整个文档进行版本控制,这本书中还包含了对操作定义、端口类型定义和具体描述(concrete descriptions)进行版本控制的实例。

第22章:对消息模式进行版本控制

服务契约包含的XML模式定义描述了在服务使用时交换的基本输入、输出和错误消息。因此,作者认为,XML模式定义最有可能经常变更,需要版本控制。

本章解释了,什么是XML模式组件,它们的内容集,增加/删除/重命名/修改组件的影响,以及它们跟版本控制的关系。作者还解释了变更XML模式的目标命名空间会如何影响WSDL的目标命名空间,以及在这种情况下,如何应用严格、灵活、宽松的版本控制策略。


关于此书的详细信息,请浏览:informit.com/soasoabooks.com

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT