AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Mule 奠基人:JBI 偏离了靶子

  • 2008-05-12
  • 本文字数:1488 字

    阅读完需:约 5 分钟

Mule 宣告发布2.0 版本几周后, Mule (“一个轻量级和高可伸缩性 ESB”)的奠基人 Ross Mason 将 Java 业务集成(JBI)和 Mule 架构进行了比较

Ross 说,使他决心实现自己的架构而不是 JBI 架构的原因是,在 JBI 1.0 规范中缺失了某些东西。在他的观点中,过于依赖 XML,缺乏可重用性的 JBI 部件(绑定组件,服务引擎),重型 API 最引人注目。

Ross Mason 认为 JBI 目标范围太广是降低 JBI 部件可重用性的原因之一:

按他们的天性,厂商为了竞争会使他们彼此不同。因为 JBI 试图定义每件事情应该工作的方式,厂商就不得不内置规范之外的特性和替代方法来使他们的服务容器各具特色。这就破坏了可重用性。因为,一个可在某个容器正常工作的 JBI 绑定组件并不一定能在另一个容器中以同样方式工作。

JBI 社区中的厂商试图使自己产品与竞争对手有所不同,厂商总是这么干,但是每个厂商的实现部件都会在性能、可靠性和工业范围标准的支持级别上下工夫。JBI 1.0 是第一个试图为集成需求提供答案的规范,不免有些缺点,它们有望在 JBI 2.0 中得到解决。

同样,Ross 一再表示 JBI 的 API 过重,开发者如果想要开发 JBI 部件的话,需要了解的 JBI 规范知识比他们本应需要了解的要多:

要实现服务,你需要实现相当多的 API。这意味着书写服务的伙计对 JBI 的理解比必须的要多。Mule 总是认为服务可以是任何东西,如一个 POJO、EJB 会话 Bean 或另一个组件的代理……

埃森哲的高级顾问 James Lorenzen ,这样回答 Ross 的关于 JBI 的重型 API 的观点:

我不同意 JBI 使用者必须了解的 JBI 知识比必须的要多,不过话说回来,扮演那样的人对我来说很难,因为我也是一个组件开发者……

以及

另外,我不会花太多时间给非 JBI 使用者讲 JBI。但是我会忽略规范,直接向他示范可以如何使用 JBI。

Ross 的博客中另一个重要观点就是,规范化消息路由器(Normalized Message Router,NMR)的以 XML 为中心的天性:

XML 消息被用来四处移动数据。这适合某些系统,但是对于大多数遗留系统则不然。构建它们的时候 XML 还不存在。它们使用不同的消息类型,如 Cobol CopyBook、CSV、二进制记录、自定义扁平文件等。

James Lorenzen 解释了 NMR 如何受益于这个以 XML 为中心的天性:

由于任何事物都被转换成 XML 在 NMR 上传送,唯一需要的转换就是 XML。那么你说的是对的,但是对于 JBI 使用者,我认为它不是问题。另一方面,我认为,如果 NMR 允许其他消息类型,那么我想你会需要更多转换器,但是我猜这些转换器就是绑定组件。

绑定组件应该能以一种大家熟知的和格式良好的方式与 NMR 进行简单地交互,这样才有可能为每个绑定组件提供被其他组件注入到 NMR 中的消息。否则,在绑定组件间进行持续通信会非常难。

对于使开源成功的问题领域,Ross Mason 认为是“厂商观点”:

这个世界的“厂商观点”是开源取得如此好的成绩的一个主要原因。一般说来,由开发人员书写的开源软件更接近要解决的问题。这些开发人员可以运用他们的领域知识、经验和某些方面的改进需求提交更好的解决问题的方式。这就是 Mule 的终极目标。假设项目成功了,我认为这个目标是通过告诫事情可以被不断改进来实现的(我们一直都这么做)。

有人可能会说规范是由来自不同厂商的社区领导开发出的,为了开发一个每个厂商都将实现的新标准加入到定义标准的行列中。通常“专家组”成员来自开发者社区,因此在 JSR 要解决的问题域和一个非标准开源产品之间不应该有很大的分歧。

Ross Mason 和 James Lorenzen 都认为,当遇到流内容进入 NMR 时,JBI 规范有缺点,尤其是任何进入 NMR 的事物都必须比转换成 XML,这是个资源消耗过程。

查看英文原文: Mule Founder: JBI Missing the Mark

2008-05-12 11:021498
用户头像

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

关注

评论

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

“程”风破浪的开发者|CTO浅谈数字化转型失败原因

CTO技术共享

学习方法 数字化转型 “程”风破浪的开发者

云科通明湖:金融业务可持续性能力建设,少不了这块“拼图”!

通明湖

负载均衡

【网易云信】Sanitizers 系列之 address sanitizer 用法篇

网易智企

算法 开发语言

阿里最新产,SpringCloud微服务核心技术全解手册Github星标50k

程序员小毕

Java 微服务 后端 SpringCloud springcloudAlibaba

可观测可回溯 | Continuous Profiling 实践解析

阿里巴巴云原生

阿里云 云原生 可观测

可观测实践|如何使用阿里云 Prometheus 观测 ECS 应用

阿里巴巴云原生

阿里云 云原生

企业上云也可以很智能,智能云接入ICA替企业搭建“上云梯”

科技怪授

ica

软件测试面试真题 | 请介绍一下Python中的深拷贝和浅拷贝

测试人

Python 软件测试 面试题 测试开发

云原生颠覆实践,可持续性应用创新引擎

通明湖

负载均衡 云原生

Sanitizers 系列之 address sanitizer 用法篇

网易云信

算法 语言 & 开发

穿越周期性调整 英特尔多举措布局半导体产业

科技之家

低代码又又又“出圈”了

优秀

低代码

Flink 读写多套 Kerberos 认证的 Kafka 方案

移动云大数据

企业数据上云,怎能少的了华为云企业交换机ESW?

科技怪授

ESW

颠覆性突破重构企业价值

通明湖

负载均衡 云原生

消失与存续——应用交付行业的跌宕演进

通明湖

负载均衡 高可用 云原生 信创

华为云智能云接入ICA,让世界距离更近

科技怪授

ica

沉浸其境,共赴云栖数智硬核美学

阿里云CloudImagine

VR/AR 云栖大会 数智融合 超高清视频 云游戏

如何引发一场信创负载均衡领域的大变革?

通明湖

负载均衡 信创

浅谈长连接负载均衡

捉虫大师

负载均衡 长连接 10月月更

NFT质押挖矿分币系统开发模式定制

开发微hkkf5566

NFT质押挖矿分红dapp系统开发功能介绍

开发微hkkf5566

信息技术国产化浪潮中,云科通明湖如何助力企业转型蝶变?

通明湖

双活 高可用架构 自主可控

ALL in ONE!博睿数据隆重举行ONE 2.0全面上线仪式

博睿数据

可观测性 智能运维 博睿数据 ONE平台

英特尔财报彰显系统级代工渐成气候

科技之家

拒绝繁琐,华为云企业交换机ESW就是要让数据上云一步到位

科技怪授

ica

API 动态更新 Upstream

通明湖

API upstream 动态更新

SAP | 如何全局处理消息文本

暮春零贰

SAP 10月月更 动态消息

关于软件系统的帮助文档页面,你该知道的那些事儿

Baklib

帮助文档

SAP | ABAP程序结构中的处理块

暮春零贰

SAP 模块化 10月月更

网络安全hw蓝队实战之溯源

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

Mule奠基人:JBI偏离了靶子_Java_Masoud Kalali_InfoQ精选文章