写点什么

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

  • 2007-08-23
  • 本文字数:1758 字

    阅读完需:约 6 分钟

随着 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

2007-08-23 01:582758
用户头像

发布了 255 篇内容, 共 56.8 次阅读, 收获喜欢 10 次。

关注

评论

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

性能测试:主流压测工具介绍

霍格沃兹测试开发学社

【最新】GPT-4o模型使用心得+无限制使用教学

蓉蓉

gpt4o

MES系统的功能、架构及应用价值

万界星空科技

数字化转型 生产管理系统 智能制造 mes 万界星空科技

2023年央企安全威胁盘点

芯盾时代

身份安全 国企 央企

3个企业级最佳实践,教你ByteHouse云数仓这么用

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

Quick BI站稳Gartner ABI挑战者象限,打造“人人能用的BI”

ToB行业头条

研发团队使用瀑布+敏捷(ScrumFall)管理项目,该使用什么系统?推荐

爱吃小舅的鱼

项目管理 敏捷开发

【HDC.2024】探索无限可能:华为云区块链+X,创新融合新篇章

华为云PaaS服务小智

云计算 软件开发 华为云

【HDC.2024】云原生中间件,构筑软件安全可信的连接桥梁

华为云PaaS服务小智

云计算 云原生 软件开发 华为云

服务端性能测试:行业流行性能压测工具介绍

测试人

软件测试

FL Studio怎么提取伴奏 FL Studio怎么给伴奏升降调 flstudio教程

阿拉灯神丁

编曲宿主 编曲软件 水果FL Studio FL Studio 21 音乐软件

如何打造开放领先的可观测性数据底座

乘云数字DataBuff

MySQL 9.0 悄悄上线,支持面向AI的向量数据库

NineData

MySQL 体验 NineData MySQL9.0 上线

重大丨深中通道今通车!继港珠澳大桥后,三思再度点亮世界工程

电子信息发烧客

软件测试学习笔记丨JUnit5并行策略

测试人

软件测试

在iPhone / iPad上轻松模拟GPS位置 AnyGo for Mac中文破解资源

Rose

AE红巨人特效合成插件:Red Giant VFX Suite Mac/win 激活版

你的猪会飞吗

AE插件 AE粒子特效插件

数据资产的价值变现及管理规划(AMT企源)

AMT企源

数据资产 数据管理 数据要素

什么是圈子论坛系统,圈子论坛系统具备哪些基本功能,社交圈系统

DUOKE七七

关键帧功能怎么使用 关键帧控制视频特效怎么用 会声会影视频剪辑软件教程

阿拉灯神丁

教程分享 软件包 会声会影2023 视频剪辑软件

Databend 开源周报第 151 期

Databend

智能商品计划系统:品牌商不可或缺的利器

第七在线

Datadog Dash 2024 新功能解析

观测云

可观测性

低代码组件扩展方案在复杂业务场景下的设计与实践

百度Geek说

npm 企业号2024年7月PK榜

推出Zero项目,IBM明确对Restful SOA和动态语言的支持_Java_Mark Figley_InfoQ精选文章