写点什么

视频:WebSphere CTO 谈 REST 和 Project Zero

2008 年 4 月 28 日

像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)有了更接近的见解。

2008 年 4 月 28 日 07:07354

评论

发布
暂无评论
发现更多内容

为什么很多技术都觉得前端很简单?

极客时间

前端 前端开发 前端工程

央行:取消境外机构投资者额度限制,推动金融市场进一步开放

kimmking

没有业务规则的技术实现

wd

吐槽

关于 DeepL 机器翻译能力

梁帅

产品 互联网 机器翻译 谷歌Google DeepL

我为什么不买Mac

Winann

效率 效率工具 Mac apple

回"疫"录(9):守住我们自己的净土

小天同学

疫情 回忆录 现实纪录 纪实

一种消息消费失败的处理方案

redis kafka

讨论:应不应该用存储过程?

kimmking

地址收录

gogogo

jenkins集成maven获取远程项目

kcnf

Redis学习笔记(散列类型)

编程随想曲

redis

牛排等级之美国篇

地藏@易果18916037281

测试驱动开发英制单位转换

escray

学习 CSD 认证实战营

开源一个自研的基于Netty的高性能网络通信框架

Geek_373e87

TCP dubbo Netty

性能优化第一课:性能指标

kimmking

性能优化

深入理解Java中的Lambda表达式和函数式编程的关系

jerry

Lambda java8 函数编程

MyBatis 3 解析Mapper映射配置

杨家昌

mybatis 配置 Mapper XMLMapperBuilder

小米手机广告在日本「炸」了,背后的教训是什么?

葛仲君

产品 本地化 小米 日本 文化

spring boot 集成 elasticsearch 7.x (一)

wd

elasticsearch high level client

算法篇之数组右移

月夜

算法 数组右移

关于架构的几件小事:架构是什么

北风

架构 企业架构

自助设备系列——自助设备的春天

孙苏勇

产品

最好的汇报是不需要汇报

伯薇

团队管理 领导力 沟通 汇报 可视化

在 TypeScript 处理空值异常

寇云

typescript 前端开发

第一篇InfoQ的博客

程序员小岑

写作 体验

iTerm2使用小技巧-密码管理器

小菜与老鸟

iTerm

写文章的目的是什么?

小天同学

思考 写作 感悟 表达

这样理解Java中的函数式编程就对了

jerry

java8 函数编程

hive 建表语句迁移

杨飞

Java并发编程基础--Synchronized

Java收录阁

线程

Ubuntu 20.04 装机手册

小柒

Linux #Ubuntu #geek

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

视频:WebSphere CTO谈REST和Project Zero-InfoQ