REST类型Web服务的优势

    早期,人们认为似乎SOAP协议将成为访问Web服务的最终方式。SOAP功能强大并且比较全面。然而,SOAP比较复杂,难以应用,而REST可以简单地实现Web服务。

 

REST风格

SOAP

针对市场

从小规模到大规模IT系统建设,大市场

重大IT系统建设,大公司

程序员

地理学者与专业开发

专业开发者

性能

90%

100%

成本

10%

100%

时间

10%

100%

风险

风险低

风险高

                    基于REST风格的Web服务和SOAP的Web服务比较

  2002年,亚马逊公司发布了其电子商务的网络服务,由于意识到了“REST与SOAP各自的优缺点”(表1.1),亚马逊为其网络服务提供了SOAP和REST的接口。两年后,这个平台吸引了逾5万开发者的关注,但其中大多数开发者倾向于使用REST方法。事实上,百分之八十的请求是以亚马逊的REST Web服务为基础的,只有百分之二十是基于SOAP Web服务。这就表明,开发者更喜欢使用简单的REST。

  REST类型的Web服务的吸引力在哪里?就是在于其使用极其简单。REST类型的Web服务要求很少的编码工作量,能够减少很多不必要的工作。

  例如,假设用户需要从ArcGIS Server地图服务器生成空间范围在185.33度以西,-59.53度以东,74.08度以北,15.20度以南地区,JPG格式的800×500像素的地图,就可以访问:

  http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/

  ArcGIS Server提供基于SOAP和REST接口介面,用户可以任意选择其一。使用基于SOAP接口,用户首先需要从WSDL中产生一系列的SOAP工具包:(http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/?WSDL)。随之,用户还需要研究SOAP接口的使用方法。最后,用户还需要利用某种编程语言编写代码,例如以下代码(以C#代码为例):

  可以看到,使用SOAP是非常不方便的。使用基于浏览器端编程语言的SOAP 类型Web服务,如JavaScript,通常比使用REST类型的Web服务更加困难。

  如果使用REST类型的Web服务,完成上述任务将变的非常容易。用户不需要SOAP工具包。用户所有需要做的工作只是建立一个如下所示的网址:

  http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/export?bbox=-185.33%2C15.20%2C-59.53%2C74.08&size=800%2C500&format=jpg&dpi=96&f=image

  这个链接的响应就是返回用户想要的地图图片。重要的是,用户可以在各种计算机编程语言——如.NET,Java,JavaScript,Flex代码中嵌入这个网址来生成所需要的影像地图,而且只需在Web浏览器中运行该段代码,就能看到所需要的地图。就这么简单!

  REST技术具有很多优点:

  • 无需引入SOAP消息传输层,轻量级和高效率的HTTP格式可直接被应用。
  • 灵活性和易用性

  1.无需建立庞大的XML消息。只需建立一个网址字符串来访问REST服务。

  2.可以轻易地在任何编程语言中实现,尤其是在JavaScript中。使用SOAP与JavaScript的Web服务非常繁琐,但使用REST与JavaScript的Web服务就非常简单。

  3. REST有利于促进JavaScript和XML(AJAX)异步mashup和Web 2.0热潮的进一步发展。Mashup能够耦合来自不同网站的资源结果。因为容易被调用、易于使用,REST服务就是实现mashup的最优方法。

  • 可以不使用任何编程语言就能访问服务,而只要使用Web浏览器或类似如ArcGIS Explorer的地理浏览器。
  • 更好的性能和缓存支持——REST类Web服务可以利用高速缓存控制头,从而减少带宽的需求。使用REST可以改善响应时间和改进用户体验。
  • 可扩展性和无状态性——每个请求都是独立的。一旦被调用,服务器不保留任何会话,这样就可以更具响应性。通过减少事件后通讯状态的维护工作,提高了服务器的可扩展性。
  • 易于被索引和发现——REST网址能够被如谷歌,雅虎或MSN的搜索引擎索引,这使得它们更容易地被发现。不通过单独的资源发现机制就可以发现网址,例如通用描述,发现和集成机制(UDDI)。

  REST类型的Web服务简单而且有效,直观,用户界面友好。在许多情况下,简单和有效地使用REST技术远比使用复杂的基于SOAP的Web服务具有更高的鲁棒性。利用REST对许多方面都非常有利:

  • 对于服务生产者:利用REST可以降低创建服务的成本,降低托管和维护支持服务的开销。
  • 对于服务消费者:REST网络服务可以降低学习曲线,减少构建地理信息系统应用所需要的时间和预算。
  • 对于管理人员:REST有许多非常理想的体系结构特性:可伸缩性,高性能,可靠性和可扩展性。这些特点很好地与现代商业环境相协调,这就要求技术解决方案必需与业务本身具有同样的适应性和敏捷性。

                                                                                      摘自《ALL FOR GIS

posted @ 2009-06-11 21:55  宁城的雪  Views(1840)  Comments(0Edit  收藏  举报