REST服务:现代服务架构的优选方案
1. XSD规范与SOAP的困境
在过去,XSD(XML Schema Definition)规范在服务定义中扮演着重要角色。每个XSD规范都有一个关联的命名空间和物理位置,二者均为URI。服务的完整定义就是一个XSD规范,它可能会引用其他命名空间和XSD文档。所有通过SOAP(Simple Object Access Protocol)通信的消息都必须在XSD规范中定义,服务器和客户端只有引用相同的XSD规范才能进行通信。
然而,这种方式存在严重问题。一旦对消息添加新字段,就需要创建新的XSD规范,并更新所有引用旧消息定义的XSD文件。简单的修改都可能引发版本变更的指数级连锁反应,维护成本极高。
同时,处理修改的难度、WS - *规范配置的复杂性以及性能问题,使得开发人员逐渐转向更简单的REST(Representational State Transfer)服务。尤其是对于从JavaScript调用的服务,由于难以在浏览器中高效运行完整的SOAP客户端,这种转变更为明显。如今,REST服务已成为首选,SOAP仅用于与遗留系统兼容或在需要REST服务不支持的功能时使用。
2. REST服务概述
REST服务最初是为了避免SOAP在简单场景下的复杂机制而设计的,比如网页JavaScript代码调用服务。后来,它逐渐成为复杂系统的首选。
REST服务使用HTTP协议以JSON(JavaScript Object Notation)或较少使用的XML格式交换数据。它用HTTP体替换SOAP体,用HTTP头替换SOAP头,用HTTP响应码替换故障元素并提供操作的辅助信息。
超级会员免费看
订阅专栏 解锁全文
168万+

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



