为扩展企业的Web服务选择SOAP之前,要考虑代表性状态传输。
是Web服务发展太复杂?一小群有影响力的Web开发人员是这么认为的。这些开发人员提倡一种新的方法——他们说这种方法比万维网联盟的方法更简单简单对象访问协议应用程序开发工具制造商(如BEA Systems、IBM和微软)青睐的基于模型。这种新的架构方法称为具象状态传输(休息),也导致了更可伸缩的代码,他们说。
其他投资者中更值得注意的是罗伊·菲尔丁阿帕奇基金会主席;和Sam Ruby在IBM的高级开发人员和Web服务大师(尽管IBM本身并不支持REST)。而开发商在网发电所亚马逊和谷歌已经与REST尝试创建接口,其流行的Web服务。近日汤姆森出版亚太用来休息,在悉尼,澳大利亚的法律出版集团创建一个基于Web的排版服务。
在工作休息
REST依赖于单一的应用程序协议(HTTP)、通用资源指示器(URI)和标准化的数据格式XML。它采用建立的HTTP方法,如GET和POST直接应用。因此,而不是用于应用程序发现和远程系统上使用的应用程序组件创建标准,机器可读的方式 - 在SOAP的方法被用于Web服务 - REST开发人员使用URI来创建一个共同点,这样应用程序可以使用HTTP和XML共享数据。REST开发人员使用XML文档,而不是应用程序的方法调用来告诉分布式程序如何使用对方的数据。
REST的支持者说,使用SOAP协议直接访问远程程序的功能注定会遇到与以前的分布式计算架构(如DCOM和)相同类型的互操作性问题公共对象请求代理体系结构。
安全问题也将牌匾SOAP马克·贝克,一个独立的Web架构顾问,并为开发一个REST资源网站的维护者之一说。因为防火墙不理解基于SOAP的Web服务消息的含义,他们永远不会让那些传递消息,他说。
REST消息没有这个问题,Baker说,因为它们只使用HTTP标准中指定的操作——防火墙应用程序和管理员很容易理解的操作。(当然,供应商通过开发Web服务安全标准和产品来解决SOAP问题,就像他们为HTTP开发防火墙和安全标准一样。)
最好的休息
决定使用REST其基于Web的排版服务之前,汤姆森出版考虑SOAP。开发商选择了REST写围绕公司的排版软件的包装,因为它提供了卓越的性能,可靠性和可扩展性,以SOAP濠河,网页设计师与该公司说。
![]() |
|||||
|
一个真正的卧铺
不过,在REST取得进展之前,工具制造商的承诺可能是必要的。Microsoft的Visual Studio . net或IBM的WebSphere等产品会自动生成基于soap的Web服务。
“从产品的角度来看,REST几乎是不可见的,”Zap Think的高级分析师Ronald Schmeltzer说。“如果其他的人想要拥有他们的一天,他们将不得不让它进入创建或消费网络服务的工具。”
贝克不同意。他说,兼容HTTP的几乎任何工具可以用来开发REST Web服务。“有一大堆的REST工具包可供选择,它只是人们不知道它们是什么,”他说。
创造Java servlet为同样的工具可以用来构建基于REST的Web服务,Baker说。“他们遵循HTTP规范,并按照它,他们含蓄地遵循了REST风格的约束,”他说。
BEA的果园表明,REST也许有一天并存与SOAP作为开发商寻求对Web服务的款式多种技术。“有时候有不止一种方法对皮肤一只猫,”他说。
