红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

关于 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:002467
用户头像

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

关注

评论

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

服装行业多模态算法个性化产品定制方案 | 京东云技术团队

京东科技开发者

数据化 AIGC GPT 企业号 8 月 PK 榜

深入理解 HDFS(三):HRPC

冰心的小屋

hdfs RPC hadoop rpc

挖掘数据价值,助力企业智能升级丨华为云华为云通用AI解决方案简评

YG科技

从源码层面深度剖析Spring循环依赖 | 京东云技术团队

京东科技开发者

spring 源码剖析 循环依赖 @Bean 企业号 8 月 PK 榜

JVM内存管理--GC算法精解(五分钟教你终极算法---分代搜集算法)

java易二三

编程 程序员 计算机 科技 技术宅

ps2023ai破解下载 photoshop 2023beta 25.0最新激活安装 永久使用

晴雯哥

夹具、治具、模具零件加工|云MES系统解决方案

万界星空科技

开源 解决方案 MES系统

如何使用Kafka构建事件驱动的架构

这我可不懂

kafka EDA 事件流

使用 Vue 自定义拖放文件上传

互联网工科生

GitHub Vue 代码

线程池-从零到一了解并掌握线程池

派大星

线程池 Java 面试题

上海博卡:基于支付宝公私域隐私计算的精准营销探索实践

TRaaS

小程序 支付宝小程序 隐私计算

字符串匹配算法BM算法

java易二三

编程 程序员 算法 计算机 BM

redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?

java易二三

redis 编程 程序员 面试 计算机

科兴未来|2023“数智未来,聚放神采”医疗科技创新挑战赛

科兴未来News

面向万物智联的应用框架的思考与探索

OpenHarmony开发者

OpenHarmony

一文详解TextBrewer

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

代码随想录Day41 - 动态规划(三)

jjn0703

企业轻量应用,云耀云服务器L实例能帮大忙!

YG科技

Programming abstractions in C阅读笔记:p76-p83

codists

有奖活动 | 大咖论道:一同畅聊鸿蒙生态

HarmonyOS开发者

HarmonyOS

开发秘籍,教你快速完成MySQL数据的差异对比!

NineData

数据库 监控治理 NineData 对比工具 对比软件

redis 的哨兵模式详解和实战

java易二三

Java redis 编程 程序员 计算机

火山引擎DataLeap数据质量动态探查及相关前端实现

字节跳动数据平台

大数据 数据中台 数据治理 数据安全 企业号 8 月 PK 榜

Go 注释

小万哥

Go 程序员 云原生 后端 开发

探索式测试-用Scrum的套路做测试

大头

Scrum 敏捷测试 探索测试 敏捷迭代

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio快速构建React完成点餐H5页面还原

小小白

腾讯云 Cloud Studio

测试同学如何提升自己的职场竞争力

老张

核心竞争力

面向大模型的存储加速方案设计和实践

百度Geek说

人工智能 nlp 企业号 8 月 PK 榜

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

西柚子

SpringBoot3进阶用法

Java 架构 springboot SpringBoot3

何时使用Elasticsearch而不是MySql

越长大越悲伤

MySQL elasticsearch

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