写点什么

推出 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:582902
用户头像

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

关注

评论

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

英特尔赵宏:从硬件创新到平台突破,PC的未来非常值得期待

E科讯

移动生态盘点与HMS生态解析

华章IT

华为 Android Studio 移动开发 HMS

如何基于 SDK 快速开发一款IoT App 控制智能灯(iOS 版)

IoT云工坊

ios App 物联网 IoT sdk

为什么说rollup比webpack更适合打包库

fengxianqi

大前端 Rollup webpack

混合用工、被拖欠工资的 CTO | 法庭上的 CTO(16)

赵新龙

CTO 法庭上的CTO

为什么要TDD(测试驱动开发)

sherlockq

敏捷开发 TDD 极限编程

anonymous匿名者场外交易系统APP软件开发

系统开发

人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

刘悦的技术博客

人工智能 tensorflow chatbot 聊天机器人 keras

快速接入 | 从 0 到 1 构建语音聊天室

拍乐云Pano

音视频 RTC 实时语音 语音聊天室 语聊房

像用户一样测试:打破知识的诅咒

QualityFocus

测试 软件质量 可用性 用户体验

Spring 源码学习 11:invokeBeanFactoryPostProcessors

程序员小航

Java spring 源码 源码阅读

生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之基于测试流量的混沌工程(故障演练)

数列科技杨德华

全链路压测 七日更

什么是浮点数?

Kaito

计算机基础 浮点数

九环智能合约开发

V19927655815

APP开发

未签订劳动合同的CTO | 法庭上的 CTO(17)

赵新龙

CTO 法庭上的CTO

从一个模糊词查询需求的处理方案讨论到一种极速匹配方案的实现

行如风

模糊匹配 双数组trie树 ahocorasick ac自动机 黑名单过滤

直播中不可缺少的一环-rtmp直播推流

anyRTC开发者

音视频 WebRTC CDN RTC RTMP

星域母子币系统软件开发|星域母子币APP开发

系统开发

从MongoID的生成讨论分布式唯一ID生成方案

行如风

雪花算法 分布式ID 全局唯一ID 流星算法

计算机网络简述

lee

计算机网络 网络协议 网络

深入浅出 ZooKeeper

vivo互联网技术

zookeeper 分布式 ZAB

智慧仓储管理系统,是否能解决购物狂欢节后新一轮爆仓危机?

一只数据鲸鱼

物联网 数据可视化 智慧物流 智慧仓储

股东变员工,所以不发工资?| 法庭上的CTO(18)

赵新龙

CTO 法庭上的CTO

盘点 2020 | 10 天开发前台系统技术系列

老魚

CSS 大前端 全栈 js 盘点2020

英特尔力邀150家产业大咖推动Evo严苛认证,打造PC界的奥斯卡

E科讯

重学JS | 数组遍历的7种方法及兼容性处理(polyfill)

梁龙先森

大前端 编程语言

抢先体验全新升级版Eternal Wallet!

Geek_c610c0

数字货币 数字货币钱包开发

犯“走私罪”的CTO | 法庭上的CTO(19)

赵新龙

CTO 法庭上的CTO

重磅|中国PostgreSQL分会与腾讯云战略合作协议签订

PostgreSQLChina

数据库 postgresql 软件 开源社区

云视频技术领军人赵加雨:如何提升在线教育课堂互动体验

拍乐云Pano

音视频 在线教育 RTC 互动课堂 白板

“盗窃”公司源代码被开除的CTO | 法庭上的CTO(20)

赵新龙

CTO 法庭上的CTO

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