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

发布于:2007 年 8 月 23 日 01:58

资深架构师 杨波,正在以案例项目驱动,原理+编程技术+工具结合落地微服务和云原生架构,立即查看 >>

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

Zero 项目采纳 Groovy PHP ,而不直接使用 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

阅读数:2213 发布于:2007 年 8 月 23 日 01:58

更多 Java、SOA、Ruby 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论
  • 塑造 Java 的未来(英文演讲)

    2018 年 9 月 12 日

  • Dubbo 的故事

    Dubbo作者亲述:那些辉煌、沉寂与重生的故事

    2019 年 1 月 8 日

  • Ruby on Rails:如何分析一个软件的接口?

    看接口要先找到一条功能主线,对项目建立结构性的了解,再沿着主线把相关接口梳理出来,接着要看接口的风格。

    2020 年 6 月 5 日

  • 文章:Java、.NET,为什么不合二为一?

    Java和.NET的战争已经结束。在这篇文章中,Ted Neward概览了我们如何合理地使用这两项技术,比如在J2EE上将MS Office作为一个富客户端使用,或者在Java POJO上使用WPF GUI,以及如何在一个Windows工作流主机上执行Java Enterprise/J2EE功能等。

    2007 年 8 月 2 日

  • Dubbo、SpringCloud 和 Kubernetes 该如何选型?

    2019 年 8 月 6 日

  • Sanjiva Weerawarana 访谈:揭秘 REST/WS-*

    作为WS-*架构的远景提出者之一和坚定的倡导者,我们问了他关于WS-*平台以及他对Microsoft在标准化方面所起作用的看法。Sanjiva也借机向我们揭开了“WS-*和REST的神秘面纱”。

    2007 年 9 月 3 日

  • Relax-WS:试图使 WSDL 更易用?

    建立在Relax-NG Compact Syntax之上的Relax-WS项目为定义WSDL提供了更简单的方式,这对于程序员来说更自然,而且不会在翻译结果中丢失任何元数据。

    2008 年 2 月 17 日

  • 向服务组件架构出发

    SAP的Java EE软件架构师及SCA-J技术委员会联合主席Henning Blohm,将服务组件架构视为一种跨技术(cross-technology)的编程模型集成。他认为:对于厂商,SCA降低了给它的用户提供实现或绑定的边际成本;对于用户,SCA减少了使用它们的边际成本。

    2007 年 12 月 25 日

  • 视频:WebSphere CTO 谈 REST 和 Project Zero

    IBM研究员、WebSphere CTO Jerry Cuomo谈REST和Project Zero——IBM新的RESTful应用(基于Groovy和PHP)mashup、脚本和开发工具。

    2008 年 4 月 28 日