InfoQ

新闻

推出Zero项目,IBM明确对Restful SOA和动态语言的支持

作者 Mark Figley 译者 胡键 发布于 2007年8月23日 上午1时58分

社区
Architecture,
Java,
Ruby,
SOA
主题
SOA平台,
应用服务器,
SOA Appliance

随着REST原则(译注:原文是principals,疑为principles的笔误)和面向Web架构概念逐渐由非主流边缘化产物成为企业主流,在最近的访谈中,IBM WebSphere CTO Jerry Cuomo表示:对IBM来说,它们已经成为Zero项目的核心焦点。该项目“引入了一个简单环境,用于创建、装配和运行基于流行Web技术的应用”。Zero项目采用开放开发(但不是开源)模型进行开发。Zero项目的几个有趣之处在于,它延续了Web应用开发由纯java转向动态语言这一趋势,并强调企业中REST服务的开发。

Zero项目采纳GroovyPHP,而不直接使用Java语言。用Cuomo的话来说:

在IBM,我们都喜欢Java,而且我相信在IBM、Sun、BEA和Oracle中,我们有一大群勤奋的喜爱Java的同志。在开发中,Java的严密性为我们服务得非常好,并且至少在今后10年间它将继续很好地为我们服务。但是在Zero项目和Zero平台中,我们将Java提升为系统编程语言。就像如今在Java中的情形,C是系统编程语言。如果你真的想要干些脏活累活,你可能需要选择使用C来完成,然后使用Java的方式来包装C函数。嗯,在Zero中,OO的Java世界被提升到系统级别,其顶端则是脚本语言。

在现有Java栈中融合动态语言技术的概念并不新鲜,在这一点上,Zero项目似乎是IBM对Oracle与Zend结成伙伴关系意图将PHP集成进它的应用服务器和数据库产品,以及在去年的JavaOne上BEA宣布将PHP集成进入WebLogic的回应。Sun Microsystems也已在动态语言Web层开发中投入巨资,包括与Zend的合作获得JRuby团队以及Phobos应用服务器项目。最后,Coucho Technologies 开发出了一个PHP实现(它是PHP最引人注目的净室实现之一)并将其合并到了他们的Resin Java应用服务器中。

除了动态语言的使用,本次访谈以及项目本身的另一个突出主题是REST架构风格,它是Zero项目的核心。尽管他的评论尝试保护WS-*协议栈技术的必要性和价值,但是Cuomo仍然清楚地表示,回归REST风格服务清新简单特性有切实的业务好处:

[对与IBM共事的一名用户来说,现有WS-*]服务的每次服务调用可能有10个参数。我们简化了API,可能只有5个。当然,[因为它们是] URL可达的,它们交互起来更加流畅。因此它们自动地领会了在使用企业服务中50%要领。因为这些事物在使用REST的Web形式中可以被做得更具访问性,因此现在更多的人使用它们的服务。很酷的一点是,因为你降低了进入你的企业服务的门槛,换来了人们对服务的使用。

接下来,人们开始以你从来没有想过的方式去使用服务,于是你得到了一组依靠你的服务编写的应用集合。很有希望这些应用能产生新的业务。所以,我们认为那就是Web SOA和企业SOA令人敬畏的结合。

很明显的是,Cuomo还提供了一个企业WS-*服务和轻量级REST服务框架携手工作的愿景;那并不是一种非此即彼的情形:

我认为,像Zero与企业SOA之间协作的环境是一个非常强大的组合,它可作为对你的企业平台的一种扩展,进入到原有企业平台现在可能还很难达到的领域……如果我想转换我的企业服务集合作为数据提要(feed)暴露,我可以使用Zero非常快地完成。我可以创建一个Zero应用,使其位于我的企业应用之前,该企业应用负责将企业服务集合转换为轻巧的Web服务集合。

在当前整个行业寻找本身的定位以应对由PHP和Ruby on Rails所取得的开发效率大幅提高的时候,Zero项目是一个有趣的回应,因为它既不是向Rails的移植,也不是Rails的克隆。尽管Ruby on Rails可能被视为一种高度优化了的MVC架构模式的实现,这是因为它充分利用了Ruby语言本身的灵活性。但是,Zero项目核心概念的网页说明了Zero项目的焦点略有不同。通过从语言实现抽象框架概念,Zero项目的使用者拥有语言的灵活性。你可以换掉Groovy和PHP(包括今后支持的其他动态语言),而使用相同的框架。当你想/需要重新使用Java时,你也随时可以做到这一点。在架构上,Zero项目抛弃了传统的基于Action的框架,大量采纳使用无状态事件处理器的基于事件的架构,事务状态则保存在全局上下文中。最后,Zero项目将其自身视为具备开放和可扩展的模块架构的内核,非常类似Eclipse模型。对IBM来说,该模型已经很成功。

查看英文原文:IBM affirms Restful SOA & dynamic languages with Project Zero

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。