视频:WebSphere CTO 谈 REST 和 Project Zero

阅读数:55 2008 年 4 月 28 日

话题:JavaSOARESTIBMPHP语言 & 开发架构

像 InfoQ 之前报道那样Project Zero引入了基于脚本(Groovy 或者 PHP)的开发环境来支持快速创建、装配和运行 RESTful 应用——通常通过 mashup 互联网上现有的数据源。Project Zero 的开发是在一种开放的开发模式下进行的——这对 IBM 来说是第一次——其强调 SOA 的 RESTful 方面以及动态语言的最佳开发工具。InfoQ 就 IBM 对 REST 的看法以及Project Zero的更多情况采访了 IBM CTO Jerry Cuomo。

观看视频:IBMCTO 谈 REST 和 Project Zero(32 分 48 秒)

在采访中,Jerry 谈到 Java 很可能在其生涯中“也许能够继续辉煌十年”,而在 Zero 中他们已经对 Java 做了促进:“现在 Java 已经成为了系统编程语言。它应该被用于实现 Project Zero 中精妙的部分,但我们希望你关于敏捷的第一次经验大部分来自动态脚本”,像 Groovy 或者 PHP(已经出现了一些指南来指导如何在其中使用 Ruby)。

对于 Zero 的开发,Jerry 谈到:

Project Zero 是基于 SOA 架构构建的,并且这个架构是一个 RESTful 的架构。围绕着概念 REST,我们已经做了约束和简化。在 Project Zero 中你基本上只需要使用 HTTP。当你在 Zero 中表示一个服务的时候,就代表你在用 RESTful 的方式或者 REST 派生方式表示服务。我们可以用 RSS feed 或者 ATOM feed 的方式表示服务;但 Web 是我们使用 Zero 构建的主要平台,而 REST 正是我们在 Project Zero 中构建的服务交互风格……通过脚本、PHP 或者 Groovy 编写程序,或者通过一套我们拥有的可视化编辑器设计,让你围绕刚刚创建或发布的基于 Web 面向 Web 的服务创建新的应用。或者可能重用其它来源的服务,比如来自 Web 或者你所在的企业……当你尝试快速地完成某事而且数据来自外界时,可以说 Project Zero 是最有用的。

对 REST 自身,Jerry 说的非常详细,包含以下内容:

REST 的好处是它就像我们日常呼吸的空气一样。它是围绕 Web 而产生,而 Web 就在我们的周围。这就转化成了各种有趣的事情:技能、基础设施,这些东西就在那里。能够以你已经有的经历为背景,来谈论 SOA 模型是非常有说服力的。我们可以使你非常快速地实现 SOA,毫无疑问随着你的进步,你将会需要 WS*,但是 REST 能给你一个起点。现在,我们如何来解读 80/20 法则,是 80%的人在做 20%的事情吗?各种各样关键的东西都可以通过 REST 表示。这让我们感到兴奋,而这也是与 SOA 有联系的地方。REST 是围绕着松耦合概念构建的一种架构风格。如果你看到 Ajax 应用借助互联网上的 HTTP 通过 JavaScript 调用服务;这是构建松耦合系统的极好的例子,因而当我将基于 Ajax 的架构作为 SOA 的例子谈论时,感到非常兴奋。不管你是否在企业当中,你都会承认这些事实,而且通过 REST 你可以开始了解 SOA 的精妙之处。

当问及云计算时,Jerry 从 Web 中日益增加的数据量谈起。“我们在鼓励企业暴露它们的内容,不管它是在防火墙之后还是之前,因为这是在解放数据。”Jerry 认为这是翻天覆地的变化,这将允许围绕数据构建新的有趣的应用程序,使以前可能关系并不明显的数据关联起来。

Jerry 证实 IBM 不会放弃 WS-* 栈,但 REST 将会逐步渗透到 IBM 的产品策略中,并举了一个通过 REST 集成消息队列的例子:“在最新发布的 MQ 上,我们有能力通过 REST 来暴露 MQ 的功能。首先,现在你不需要通过 MQ 客户端来驱动 MQ 中的工作了。如果想在队列中发布一条信息,你所需的就是一个能通过 REST发布消息的 Web 环境,无论是 Javascript 应用、PHP 还是 Zero 应用。现在你可以通过 REST 与 MQ 进行交互。如果你想做类似于检查队列中内容的事情;对此有专门的 REST 接口提供。”将来通过类似的方式,REST 会成为所有 IBM 产品中的一部分。这必定使我们对可编程 Web(programmable web)有了更接近的见解。