简单对象访问协议 (SOAP ,全写为Simple Object Access Protocol )是一种标准化的通讯规范,主要用于Web服务 (web service)中。SOAP的出现是为了简化网页服务器(Web Server)在从XML数据库中提取资料时,无需花时间去格式化页面,并能够让不同应用程式之间透过HTTP通讯协定,以XML 格式互相交换彼此的资料,使其与编程语言、平台和硬件无关。此标准由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,并得到IBM,莲花(Lotus),康柏(Compaq)等公司的支持,于2000年提交给万维网联盟 (World Wide Web Consortium ;W3C),目前 SOAP 1.1 版是业界共同的标准,属于第二代的XML协定(第一代具主要代表性的技术为XML-RPC以及WDDX)。 用一个简单的例子来说明 SOAP 使用过程,一个 SOAP 消息可以发送到一个具有 Web Service 功能的 Web 站点,例如,一个含有房价信息的数据库,消息的参数中标明这是一个查询消息,此站点将返回一个 XML 格式的信息,其中包含了查询结果(价格,位置,特点,或者其他信息)。由于数据是用一种标准化的可分析的结构来传递的,所以可以直接被第三方站点所利用。
表象化状态转变 目前在三种主流的Web服务 实现方案中,因为REST模式的Web服务 与复杂的SOAP 和XML-RPC 对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com 提供接近REST风格的Web服务进行图书查找;雅虎 提供的Web服务也是REST风格的。 <script type="text/javascript"> //<![CDATA[ if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } //]]> </script> 宗旨REST 从资源的角度来观察整个网络,分布在各处的资源由URI 确定,而客户端的应用通过URI来获取资源的表形。获得这些表形致使这些应用程序转变了其状态。随着不断获取资源的表形,客户端应用不断地在转变着其状态,所谓表形化的状态转变(Representational State Transfer)。 这一观点不是凭空臆造的,而是通过观察当前Web互联网的运作方式而抽象出来的。Roy Fielding 认为,
要点及标准需要注意的是,REST是一种设计风格而不是 一个标准。REST通常基于使用HTTP ,URI ,和XML 以及HTML 这些现有的广泛流行的协议和标准。
REST的要求
关于状态应该注意区别应用的状态和连接协议的状态。REST对于连接的无状态性实际上要求每次经过无状态的连接协议传送的信息必须包含应用中所有的状态信息。 实现举例例如,一个简单的网络商店应用, 列举所有商品, GET http://www./products 具体某一件商品, GET http://www./product/12345 下单购买, POST http://www./order, <purchase-order> <item> ... </item> </purchase-order> REST的优点
|
|