MuleSoft 最近发布了企业服务总线 (ESB) 产品 Mule ESB 3.3。在新版本中,除了应用程序集成之外,Mule ESB 还拥有了数据集成功能;从而为开发者提供了一个面向本地或云端应用的集成解决方案。
Mule ESB 3.3 提供了集成本地应用、SaaS 和定制软件的套件;这些功能都可以在新的 Mule Studio 中找到。Mule ESB 3.3 有两个分支:企业版和开源社区版。Mule ESB 3.3 企业版包含了一系列相关组件,比如 DataMapper, CloudHub 和 Cloud Connectors 的 Mule Studio。
Muel ESB 3.3 的特性还包括:
- 内存内数据表 (data-grid)
- Mule 表达式语言 (Mule Expression Language 或 MEL),这种语言可用于编写业务逻辑
- Mule 企业版管理控制台支持外部数据库 (PostgreSQL 和 Oracle)
- 完全支持 WS-Security,包括 Web Service 安全协议 SAML2
- 支持 Java 7
InfoQ 访问了 MuleSoft 的 CTO 兼创始人 Ross Mason 和 Mule 的首席架构师 Daniel Feist,向他们了解了 Mule ESB 3.3 的新特性和产品的路线图。
InfoQ:Mule ESB 3.3 的目标是什么?
Ross Mason:在该版本中我们有 3 个目标:
- 我们的总体目标是简化集成工作。在这个版本中,我们的重点是向开发者提供一种完整的集成解决方案,无论是面向本地应用还是云端应用。我们在一年半之前就发布了 MuleSoft 的云端产品 CloudHub。但是,这次新版本的发布是我们第一次完全整合了 Mule Studio、Mule ESB、 Cloud Hub、Cloud Connectors 和 Mule Devkit,并且向开发者和用户提供更好的用户体验。
- 我们完善了开源版 Mule 的运行时 (run-time),从而使它可以更好地处理 XML;同时,我们也完善了 Mule Studio,开发者可以使用它进行异常管理和自定义业务逻辑开发。
- 我们意识到企业中间件的整合趋势。因此,我们使 Mule ESB 3.3 同时拥有了应用程序集成和数据集成功能。
Mule ESB 3.3 包括了以下组件:
- 包含了 DataMapper 的 Mule Studio
- CloudHub
- Mule ESB Enterprise Manage Console
- Cloud Connectors
- Mule Devkit
InfoQ:能否介绍一下 Mule ESB 3.3 所提供的应用程序集成和数据集成功能?
Ross:Mule ESB 3.3 提供了最好的应用程序和数据集成功能。Mule ESB 3.3 在 REST、 Web Service、消息、文件传输和数据库这些应用程序集成标准的基础上扩展出了 100 多种针对企业、SaaS、社交网络和移动应用的集成适配器。在 Mule ESB 3.3 中,这些特性也运用到了数据集成层面。Mule 的高性能 SEDA 集成运行时环境可以提取每个应用程序的元数据并且进行图形化的数据转换。
InfoQ:社区版和企业版 Mule ESB 3.3 的区别是什么?
Ross:社区版包含了 Mule ESB 3.3 的主要核心功能以及免费的开发工具;而企业版则具有更高性能,高可靠性并且是可管理的。以下是一些企业版独有的功能:
- Mule 管理控制台(包括了远程服务、部署管理、管理和监控、性能分析和调优等功能)
- 集群可以不依赖于应用服务器,仅依靠内存内数据表 (data grid) 就可以完成集群的配置
- 业务事件通知提供了分布式系统的业务事件追踪能力
- 流程分析器:一个可以显示 Mule ESB 所处理的数据的实时的图形化工具
- 图形化的 Data Mapper
- 其他适配器,比如 JDBC、WMQ、 FTP 或者 SAP Connector
- 自恢复的连接
- 应用程序仓库
InfoQ:能否详细解释一下 Mule ESB 3.3 对 Java 7 的支持?
Daniel: Mule ESB 3.3 的运行时 (run-time) 在 Java 7 上进行了完整的测试。因而最终用户可以使用 Java 7 的新特性并且提高性能。Mule 自身并没有使用 Java 7 的新特性。但是,只要有可能,我们就想尝试 NIO.2 文件传输通道和 try-with-resource,也对 Fork/Join 并发框架很感兴趣。
InfoQ:另外一个新特性是 Mule 表达式语言 (Mule Expression Language 或 MEL)。它是一种领域专用语言(DSL)吗?能否介绍一下它的特性?
Daniel:以 Mule 表达式语言(Mule Expression Language 或 MEL)和其他成熟的表达式语言为基础,我们构建了领域专用语言(DSL)的特性。这意味着在 Mule ESB 中,表达式不仅仅是一种易用的语言而且是一种非常有用的语言。我们以 MVEL 为基础,这是一种非常成熟而且易于扩展的表达式语言。Drools 团队对 MVEL 赞赏有加。我们在 MVEL 基础上构建的领域专用语言(DSL)能够访问 Mule ESB 的所有运行时上下文,包括服务器、应用程序、消息负载和工作流参数;同时还能够解析内联的 XPath 表达式和正则表达式。为了确保开发效率,我们把这些特性设计得非常易于扩展:开发者可以非常方便地导入和重用函数。
InfoQ: Mule ESB 3.3 还支持 WS-Security 和用于 Web Service 安全的 SAML2 协议。是否还有其他方面的安全特性?比如认证、授权、数据加密或者消息安全方面的。
Daniel:Mule ESB 有一个内建的认证和授权功能;这个功能可以利用各种通用技术来完成工作,比如 HTTP Basic/Digest、 NTLM、LDAP、OpenID、X.509 Certs、CAS 3.0、SAML 1/2 和 JAAS 等。Mule ESB 的云端适配器还支持 OAuth 1.0 和 2.0。开发者还可以使用 Spring Secruity 来完成授权方面的功能。数据加密方面,Mule ESB 支持 JDK 内建的数据加密功能或者使用其他的安全协议,比如 SSL、 HTTPS 或者 TLS。
InfoQ:Mule ESB 3.3 是否包含监控功能?
Daniel:
- 社区版本提供了基于 JMX 的统计和监控应用程序、结点、工作流的功能。
- 企业版的管理控制台是监控功能的核心;通过管理控制台,开发或者运维团队可以完成部署和监控 Mule ESB 的所有工作。管理控制台提供了应用程序管理,审查、性能诊断、流程分析、错误预警和报表等功能。
InfoQ:在 iPaaS (Integration Platform as a Service) 方面,创新的趋势是什么?
Ross:目前,越来越多的 PaaS 方案正在取代本地数据中心系统。未来云端的应用程序会更加依赖于云端平台和云端服务。随着开源 API、SaaS 应用和手持互联设备的快速增长,开发者所需的技能也有所变化。现在开发应用程序更像是把许多 API 整合在一起。未来运行应用程序的设备可能是电脑、可能是手持设备。未来应用程序可能需要使用各种各样的结构化的或非结构化的数据源。我们的产品正是帮助开发者应对各种各样不同的 API、数据格式和用户需求。iPaaS 恰恰就是为这些目的而生的。我们相信 iPaaS 会变得更加流行。
InfoQ:Mule ESB 和 CloudHub 的未来路线图是什么?
Ross:
- Mule:继续关注 API 管理和仓储化的应用程序 / 数据集成。
- Mule Studio:元数据驱动建模和图形化 IDE。
- Connectors:我们时刻都在开发出新的适配器。在短时间内,我们计划发布针对 Google 的 Calendar、Contacts、Spreadsheets 和 Tasks 的适配器以及针对微软 Dynamics 和 Sugar CRM 适配器。
- CloudHub:我们在接下来几个月内发布一些新的管理和监控功能。其中之一就是业务事件通知功能:用户可以使用这个功能监控自定义的业务数据。另外一个就是消息回顾机制:用户可以使用这个功能管理同步。
InfoQ: 感谢 Ross 和 Daniel 宝贵的时间接受采访。
查看英文原文: Mule ESB 3.3 Release and CloudHub
感谢马国耀对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论