即刻成为鸿蒙应用开发者,解锁职业发展新机遇!点击了解~ 了解详情
写点什么

Web 服务契约的版本控制

  • 2009-12-08
  • 本文字数:1143 字

    阅读完需:约 4 分钟

今天,我们介绍这本由 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/soa soabooks.com

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

2009-12-08 03:062801
用户头像

发布了 255 篇内容, 共 62.0 次阅读, 收获喜欢 10 次。

关注

评论

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

当当网商品列表数据采集丨当当网商品列表数据接口

tbapi

当当网 当当网商品列表数据接口 当当网商品详情接口 当当网API接口

MobTech旗下核心SDK产品已全面适配HarmonyOS NEXT鸿蒙星河版

MobTech袤博科技

Java 开发者 产品动态

嘉为蓝鲸WeOps智能化模块:服务台智能助手提供更好的服务体验

嘉为蓝鲸

AI 运维 智能运维 大模型

企业应用观测中枢建设

嘉为蓝鲸

运维 日志管理 可观测

百行代码实现 Kafka 运行在 S3 之上

AutoMQ

什么是海外云手机?海外云手机有什么用?

Ogcloud

云手机 海外云手机 云手机海外版 手机群控 海外社媒营销

如何通过 CloudCanal 实现从 Kafka 到 AutoMQ 的数据迁移

AutoMQ

青岛等保测评公司名称是什么?在哪里?电话多少?

行云管家

等保 堡垒机 等级保护 等保测评

taobao.item_get_desc API返回值中的商品标题与描述深度挖掘

技术冰糖葫芦

API 文档 API 测试 API 优先 API Hub

MobPush高效实现全球多时区定时定期推送,做中国开发者出海的坚实助力者

MobTech袤博科技

开发者 产品动态

智谱AI给你带来了新的观赛搭子 AI马凡舒央视频陪你熬夜看奥运

技术研究院

智谱发布 AI 生成视频模型「清影」;TikTok 推出听歌搜短视频功能丨 RTE 开发者日报

声网

RPA是什么?探讨RPA发展的最新趋势

八爪鱼采集器︱RPA机器人

RPA RPAxAI

实战基于terraform-compliance实现IaC安全

我再BUG界嘎嘎乱杀

云计算 网络安全 安全 自动化运维

人工智能|利用人工智能自动找bug

霍格沃兹测试开发学社

运维安全审计系统定义以及作用详细讲解

行云管家

软件 安全运维 运维审计 运维安全

工作流中 BPMN 、 CMMN 、 DMN 的应用场景

源字节1号

开源

代理IP如何助力验证广告?

IPIDEA全球HTTP

代理IP

开启智能化新纪元,TDengine 用户大会圆满落地:汽车、能源、烟草、电力行业洞见

TDengine

安全人士可以从CrowdStrike事件中汲取的五点教训

我再BUG界嘎嘎乱杀

网络安全 安全 网安 CrowdStrike

【首席战略官分享】业务流程管理的演变与挑战

望繁信科技

业务流程管理 流程挖掘 流程智能 望繁信科技

50万年——黑客找到你IPv6地址的时间

国科云

当 Meme 与 TON 融合,两大顶流标签会带来什么机会?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

淘宝API接口测试的详细步骤

Noah

Web服务契约的版本控制_SOA_Thomas Erl_InfoQ精选文章