论文部分内容阅读
WebService自上世纪90年代诞生以来,在平台的交互中发挥了巨大的作用。与基于RPC风格的WebService不同,REST风格的WebService在很多方面做了改进。传统的WebService涵盖SOAP、WS标准栈、UDDI等相关技术。其在某些小规模环境中取得很大的成功,但推广的Web环境下却出现了很多问题,繁复的接口和架构并伴随着低性能的伸缩性,等等。再加上,现实的WebService与Web理论相去甚远,它几乎完全抛弃了Web起家的所有特性,否定了Web作为分布式开发平台的潜质,偏偏将一个简单、基于资源并且基于HTTP协议的Web转换成复杂、隐藏资源且完全脱离HTTP协议的WebService。RESTful架构真正使WebService回归正途。而REST (Representational State Transfer,具象转移,也称表述性状态转)则作为Web开发的设计准则指导实践。本文基于REST和Web的本质特性从多个角度对比了两种style的WebService,分别是RPC机制的和REST风格的,并采用ROA (Resource-Oriented Architecture)即面向资源的架构开发RESTful WebService,最终总结了其开发设计步骤和原则,达到了理论和时间的结合。在论文主体部分本文用ROR (Ruby onRails)的REST框架设计并实现了一个的网络社区的Web2.0应用。通过面向资源、发挥Web本质特性,利用统一的接口控制资源,使多客户端的互操作得以迎刃而解,从而规避了RPC机制下暴露其内部算法需要繁复的编程语言式的接口。接口通用、伸缩性好并且组件能够独立进行部署,强调对HTTP协议的应用,都是该服务具有的特性,同时,其采用了URI命名机制和XML(可扩展标记语言)。将RESTful WebService与基于RPC机制的WebService的实证多维对比放在了接下来的一章,清晰的比较结构使各自的优缺点一目了然。