HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

关于 Mule 3 发布对 Ross Mason 的访谈

  • 2010-11-29
  • 本文字数:2568 字

    阅读完需:约 8 分钟

Mulesoft 最近发布了 Mule 3 ,他们的下一代 ESB 平台。在这次发布的版本中包括了一些重要的特性。【摘自 Mule 3 的发布

Mule 云连接

该功能针对 SaaS(一种流行的云)和 Web 2.0 提供商(比如,Amazon Web 服务和 Facebook),同时也为用户提供了一种简单的方法使其能够创建自己的云连接器。

Mule 3 采用Native REST 支持的方式完全接纳 web 平台,采用AJAX/JavaScript集成的方式对各种 javascript 框架提供支持,也支持如ATOMRSSJSON这样的协议与数据格式。Mule 3 也提出了流的概念;这是一种集成构件,用户只需构件单元来构建方案,通过这样可以为用户提供非常简单却很灵活的办法来实现消息处理和集成方案。

流(Flow)

流是 Mule 提供的一种新颖而强大的创建消息流的方式。很多人在 Mule 的服务模型方面固守成规,这是因为他们没有从本质上以提供服务的角度来考虑问题。流允许开发人员通过自己思考解决问题的方式来创建集成流。我们在未来的文章中会更多地谈论到这点。

通过提供基于配置选项的模式,Mule 3 也提供了丰富的对模式的支持,这使得用户可以使用基于构件单元的方式应用常用的集成场景,比如 RESTful Web 服务。该产品据宣传说提供了新的部署方式,使其可以提供如自动热部署这样的特性。

这次产品的修订有大量架构方面的变化,以期支持某些新特性,这些特性旨在使产品更加易于使用、配置和部署。

InfoQ 有幸与 Ross Mason 进行了访谈,得以了解从这次产品的发布中我们大家所能期待有一些什么样的新特性。

InfoQ:大多数商业 EAI 工具和框架都提供了允许你把建模服务作为工作流的工具。尤其常见于 BPM 工具中以服务编排的方式对流程进行建模。流是如何适应那种生态系统的呢?您能不能详细说明一下您对流的定义?

RM:流是 Mule 里一种新的构件模型。对用户来说,他们看到的就是一个 XML——基于模式的 DSL——可以使服务流得以快速开发。尽管我们确实有图形化工具正在开发中,但是这种基于模式的方法益处良多——集成流的快速开发,无需学习新的接口,这就是 XML——一种能够提供自动完成和验证功能的模式——对于代码视图弹出的每一个元素和属性有完整的上下文为之提供帮助,从而使学习变得容易。我们正在开发一个开源的基于 Eclipse 的工具产品,最近还为其原型开了博: http://blogs.mulesoft.org/new-mule-ide-coming/

InfoQ:您能否解释一下在服务配置中对模式的使用情况如何?这是否是该产品的一种发展演进,通过使用一个 IDE 集成的工具链来使我们获取一个集合了各种场景的面板?如今这种支持能够发挥多大的作用?

RM:的确,模式是 ESB 的一种演进。我们已经从我们的用户和客户那里挖掘了很多的模式,并且使得这些特性在 Mule 中得以轻松的实现。这些模式将通用的(有时是复杂的)功能涵盖进一个单独的配置元素,这样使开发人员无需了解所有的细节便可以使用。Mule 向来是欢迎模式的,早在 2004 年就率先成为实现企业集成模式的第一个 ESB 产品。这些新的模式为通用服务和集成场景提供了较大粒度的构建模块。开发人员也能够定义其自己的模式。我们同时也计划在我们的 Eclipse 工具中为这些模式提供一个专门的开发面板。

InfoQ:我们在 web 应用中看到的通用场景之一,尤其对 mashups,就是对安全 javascript 调用的需求,这种调用要么是通过使用某个集中的 mashup 服务器,要么是通过支持 JASONP 的服务来提供的。那么,我们的产品在支持此类场景方面能提供多大的支持呢?

RM:当然,Mule 3 中对 AJAX/JSON 的支持是非常广泛的。正因如此,JSON 已经成为与 XML 齐名的第一等级的数据表现格式,这就意味着你可以自动完成一些事情,比如绑定 JSON 数据到 Java 对象。JSON 是如何起作用的呢,是通过一个集中的 AJAX 服务器来监管的,这样的话一个 Mule 应用就可以通过 JavaScript 调用去请求如 Salesforce.com 或 Facebook 这样的外部服务。从服务器到浏览器之间的 AJAX 通道也可以得到保护。

InfoQ:这是从 DZone 里的一段引述,能否请您就这段话谈一下您的观点?

一开始,MuleSoft 想要把 Mule 3 模块化,但他们最终决定不这样做。“如果不在 OSGi 之上增加很多额外的抽象层,厂商要把最终用户屏蔽到复杂的 OSGi 之外不是轻而易举的事”,Mason 说到。一年前他们甚至把 Mule 中所有的东西都移植到了 OSGi bundles 并且还提供了一个演示。不巧的是,这样一来开发人员就不得不明确地去管理这些 bundles,而部署模式也不会像今天这样简单。“我们没有抛弃 OSGi,因为围绕 OSGi 存在着一些新的东西。”但就目前而言,Mason 认为 OSGi 对于一般的终端用户来说还不是一个适合的技术。

RM:关于“一开始,MuleSoft 想要把 Mule 3 模块化,但他们最终决定不这样做”;Mule 一直都是模块化的,该文作者其实是在说把 Mule 运行到某个 OSGi 容器上(我们之前的确把所有 Mule 模块都移植到了 OSGi bundles)。几年前当 OSGi 刚出现在我们的视野中时,我对此还是很兴奋的。但最终证明,作为规范,OSGi 对软件厂商来说的确是很棒的,但由于其附加的一些复杂的配置和绑定,对最终用户来说就比较糟糕了。我们在 Mule 3 中达到了一个目标——简化一切。而使用 OSGi 规范,我们不能让我们的部署模式简化成用户期望的那样,所以我们决定在 OSGi 的原则基础上来构建我们自己的部署模型。这并不意味着我们不再考虑 OSGi,如果其规范改进并解决我们关于终端用户复杂性的疑虑,我们无疑将会重新评估这种方案。

InfoQ:在视频中,您简要描述了访问 mule 服务的语言绑定的可用性。您是否能再跟我们谈一些目前的可用性支持以及未来有什么计划?

RM:Mule 支持 JSR-223 脚本语言规范,这意味着可以很容易地使用如 Groovy 和 Jython 这样的动态语言来编写模块和转换器。同样的,在 Mule 中我们也提供了扩展表达语言,这使得查询、操作消息以及使用任何 JSR-223 规范支持的语言都非常容易。我们发现目前的一个趋势是:在服务器端使用 JavaScript 以及把 Mule 和 Python 结合使用,所以我们打算为这两种语言提供更多的支持。我们将为 Python 和 JavaScript 开发人员提供更舒适的方式在使用 Mule 的同时也去探寻一下 Scala。

查看英文原文 Interview With Ross Mason On The Release Of Mule 3


给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2010-11-29 00:002673
用户头像

发布了 52 篇内容, 共 19.0 次阅读, 收获喜欢 3 次。

关注

评论

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

LeetCode题解:169. 多数元素,分治,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

马士兵最新2020涵盖P5—P8Java全栈架构师学习路线,跟着老师学我已拿P7Offer!

Java架构追梦

Java 学习 架构 面试 马士兵

有奖话题 | 如果程序员和产品经理都会凡尔赛文学,将如何对话?

YourBatman

话题讨论 凡尔赛文学

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十七)运行测试-在构建工具中运行测试

编程道与术

Java 编程 TDD 单元测试 JUnit

《华为数据之道》读书笔记:第 3章 差异化的企业数据分类管理框架

方志

数据中台 数据仓库 数据治理 元数据

大厂都是怎么用Java8代替SimpleDateFormat?

Java架构师迁哥

《迅雷链精品课》第七课:以太坊数据存储分析

迅雷链

区块链

申通快递 双11 云原生应用实践

阿里巴巴云原生

阿里云 Kubernetes 运维 云原生 监控

如何用CSS实现图像替换链接文本显示并保证链接可点击

陈北

CSS小技巧

程序员面试的时候突然遇到答不上的问题怎么办?

Java架构师迁哥

什么是堡垒机?为什么需要堡垒机?

xcbeyond

运维

打工人、打工魂、高效MES助力打工者都是人上人

Marilyn

敏捷开发 快速开发 MES系统

英特尔与南京溧水经济技术开发区共同成立智能交通研究院

E科讯

基于DAYU的实时作业开发,分分钟搭建企业个性化推荐平台

华为云开发者联盟

华为 算法 数据 dayu

架构师训练营 1 期 -- 第十周总结

曾彪彪

极客大学架构师训练营

原创 | 使用JPA实现DDD持久化-只要O,忘记R & Maven配置

编程道与术

Java hibernate 编程 mybatis jpa

理解三值逻辑与NULL,你离SQL高手更近了一步

华为云开发者联盟

sql null 逻辑

我是面试官,我来分享一波面经!看看我的内心OS

比伯

Java 编程 架构 面试 技术宅

双指针算法和位运算&离散化和区间合并

落曦

性能测试界“网红”云性能测试服务,了解一下?

华为云开发者联盟

CloudTest 沙箱实验 云性能测试

三分钟带你搞懂分布式链路追踪系统原理

Java架构师迁哥

Alibaba最新《Java架构核心宝典》限时开放下载,互联网主流技术详解总结,提升技术能力的必备宝典!

Java架构之路

Java 程序员 架构 面试 编程语言

云原生应用Go语言:你还在考虑的时候,别人已经应用实践

华为云开发者联盟

微服务 云技术 Go 语言

架构师训练营第 1 期-week10

习习

容器化时代到来!跳转机分配问题终于“有救”了

华为云开发者联盟

容器 镜像 网络

原创 | 使用JPA实现DDD持久化-数据库连接配置:persistence.xml

编程道与术

Java hibernate 编程 mybatis jpa

都是“算法”惹的祸,字节三面处处坑,我的offer要凉了?

Java~~~

字节跳动 面试 编程语言 算法和数据结构

视频作品播放量低:自媒体作者如何走出新手村

石头IT视角

纷享销客罗旭:拐点下的中国SaaS

ToB行业头条

SaaS

接口请求(get、post、head等)详解

测试人生路

HTTP

为什么程序员不做外包

Java架构师迁哥

关于Mule 3发布对Ross Mason的访谈_Java_Dilip Krishnan_InfoQ精选文章