【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

模块七:作业

本人法海

「架构实战营」

【智人智语】史赛克全球数字化、机器人及赋能技术总裁柯若博:世界智能大会是一个非常重要的盛会

InfoQ 天津

免费领 CRMEB 移动社交电商系统源码与授权

CRMEB

浪潮云应用质效管理系统(AOM)荣获2022数博会领先科技成果“优秀项目”奖

浪潮云

云计算

200多家ISV入驻!阿里云计算巢发布一周年

阿里云弹性计算

计算巢

技术分享 | Javaer 如何做单元测试?

LigaAI

Java 单元测试 LigaAI

从Oracle日志解析学习数据库内核原理

沃趣科技

oracle 数据库内核

Hadoop3.0时代,怎么能不懂EC纠删码技术?

个推

大数据 hadoop hadoop3 大数据 开源

MDM结合ESB数据集成说明

agileai

数据治理 数据集成 企业服务总线 主数据平台 基础数据方案

最佳实践|从Producer 到 Consumer,如何有效监控 Kafka

阿里巴巴云原生

kafka 阿里云 云原生 Promethues

谁需要实验室内部管理系统?

低代码小观

实验室管理系统 数据管理系统 LIMS实验室信息管理系统 企业管理工具 检查系统服务

打造会“找”主人的麦克风,腾讯个性化语音增强技术荣获2022数博会领先科技成果奖

科技热闻

怎么用netty开发一个同时提供http和websocket的服务?

风斩断晚霞

Java spring Netty springboot websocket

密码学系列之:ASN.1接口描述语言详解

程序那些事

密码学 程序那些事 5月月更 ASN.1

直播预告|来啦!「DevOps+MLOps Meetup」火热报名中!

第四范式开发者社区

人工智能 DevOps 极狐GitLab 特征平台 MLOps

什么是智能合约?3M互助dapp系统开发逻辑拆解

开发微hkkf5566

周六晚8点,如何基于 eBPF 技术构建应用可观测平台?

OpenAnolis小助手

Linux 直播 内核 龙蜥社区 sig

图解|高性能服务器设计之缓存系统一致性

C++后台开发

redis 后端开发 Linux服务器开发 高性能服务器 系统缓存

【LeetCode】单词距离Java题解

Albert

LeetCode 5月月更

ETH合并在即,这次升级将带来哪些机遇?

区块链前沿News

以太坊 eth Hoo

MASA Auth - SSO与Identity设计

MASA技术团队

C# .net 设计 构架 Auth

中国20强游戏公司2021年财报分析:业绩大分化时代,开始优胜劣汰

易观分析

游戏公司

什么是区块哈希?哈希游戏开发技术原理方案(源码搭建)

开发微hkkf5566

Vue3 TypeScript 使用教程 - 实战 Vue3 element-plus 开发「待办清单」

蒋川

typescript 低代码 开发工具 Vue 3 Element Plus

大数据ETL自动化调度运维专家-TASKCTL

TASKCTL

Docker 大数据 程序员 DevOps 数据仓库

HashSet源码分析-基础结构

zarmnosaj

5月月更

React Echarts 使用教程 - 如何在 React 中加入图表(内附数据看板实战搭建案例)

蒋川

react.js 可视化 eCharts 组件库 图表库

领航全球云经济行业创新,XTransfer入选Bessemer年度报告

XTransfer技术

如何实现24/7客户服务自动化?建设智能客服知识库

小炮

面向服务的架构

力软低代码开发平台

融云漫话:通信中台

融云 RongCloud

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