AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

支持随时随地一键开会,华为云会议场景适用性更强!

科技之光

版本控制 | 游戏开发企业如何高效远程协作?

龙智—DevSecOps解决方案

版本控制 游戏开发 版本管理

Linux系统-进程信号

可口也可樂

Linux 信号 10月月更

嵌入式 Linux 入门(四、Linux 下的编辑器 — 让人爱恨交加的 vi )

矜辰所致

vim Linux VI 10月月更

从零到一搭建一个属于自己的博客系统(弍)

木偶

MySQL django 前端 10月月更

C# 读取文件

青柚1943

分割数组

掘金安东尼

算法 10月月更

个promise

helloworld1024fd

JavaScript

为企业远程会议保驾护航,华为云会议安全更有保障!

科技之光

云端协同,打造全场景智能会议,华为云会议更专业“会”更好

科技之光

华为云数据库 GaussDB(for MySQL),让企业无忧数据恢复

科技之光

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

React Context源码是怎么实现的呢

flyzz177

React

React核心技术浅析

夏天的味道123

React

分布式事务-两阶段提交协议(2PC)

zarmnosaj

10月月更

js手写前端需要掌握的点

helloworld1024fd

JavaScript

前端食堂技术周刊第 56 期:Solid v1.6.0、2022 State of GraphQL、ViteConf 回放、Lerna v6、SEO 入门指南

童欧巴

什么是高可用?高可用软件哪家好?

行云管家

高可用 高并发 ha

React中常见的TypeScript定义实战

xiaofeng

React

vue组件通信方式有哪些?

bb_xiaxia1998

Vue

Linux网络-基础概念

可口也可樂

Linux 网络基础 10月月更

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript

React源码中的dom-diff

夏天的味道123

React

二十年CRM市场跌宕起伏,Zoho选择“慢速”奔跑

ToB行业头条

1024程序员节开幕,龙蜥多位技术专家参与演讲

OpenAnolis小助手

开源 1024程序员节 龙蜥社区 技术分析 线上活动

企业上云选择哪家好?为什么?

行云管家

云计算 企业上云 云管理

React-hooks+TypeScript最佳实战

xiaofeng

React

代码质量与安全 | 关于糟糕代码的那些事

龙智—DevSecOps解决方案

代码质量 代码安全

谈谈曾经做的一个测试报告平台(2)

MegaQi

测试平台 10月月更

Linux网络-套接字编程

可口也可樂

Linux 10月月更 套接字编程

鸿蒙开发实例 | 可复用列表项的ListContainer

TiAmo

华为 华为云 云开发 10月月更

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