为你的集成需求选择合适的ESB

公司内外的不同应用间需要进行相互通信。企业服务总线(Enterprise Service Bus,ESB)已经被视为支持应用集成的 工具。但是ESB是什么呢?什么时候使用集成套件(integration suite)更为合适呢?下一个项目最合适的产品是什么?本 文将会讲述为什么没有银弹(silver bullet)以及为何有时ESB可能也是错误的选择。对于项目的成功来讲,选择合适的产 品是至关重要的。

术语“企业服务总线”的定义

众多来自不同供应商的产品都包含了“企业服务总线”的名 字。令人遗憾的是,这个术语并没有标准的定义。因此,这些产品提供了很多不同的特性。在使用之前,ESB这个术语应该 进行清晰地定义。在后文中,ESB可以定义为帮助开发人员进行应用集成的软件产品,因此它会提供必要的基础设施来实现 路由、转换以及其他的集成设施。按照集成的复杂性路径,ESB通常会位于框架和套件之间,会作为应用集成的可选方案, 如下图所示:

图1:应用集成的可选方案

在定义完ESB这个术语后,下一小节将会讨论什么时候要考虑ESB,以及在何时集成框架或集 成套件是更好的选择。

集成框架

框架会帮助实现企业集成模式(Enterprise Integration Patterns,EIP, http://www.eaipatterns.com),如Splitter或基于内容的路由(Content Based Router),从而能够以标准的方式进行应 用集成。使用标准的API来集成产品可以明显地减少实现所付出的努力并且源码能够更容易被其他开发人员理解。框架可以 很好地基于不同的协议和技术来集成不同的应用,像端点(endpoint)、生产者(producer)、消费者(consumer)以及 EIP这样的理念可以用来创建集成逻辑。即便背后的支持性测试也使用了相同的理念。

框架包含了一些通用的库因此可以 与任何开发环境兼容,即便是传统的文本编辑器也是可以的。

在Java环境中知名的框架样例是Apache Camel以及Spring Integration,在.NET中则是NServiceBus。

使用框架的话,开发团队要或多或少全权负责项目的成功。通常不会有商业 上的支持。工具一般也只会部分可用,并且不一定适合“关键任务”(mission-critical)的部署。因此本文剩余的内容将 会关注ESB以及对应的套件,通常来说它们是比框架更好的选择。

企业服务总线

类似于框架,ESB也用来集成 应用。ESB在幕后会基于框架。但是,它是更为强大的产品。相对于框架来讲,除了应用集成的基本功能以外,ESB还提供了 强大的工具来支持部署、管理以及运行时的监控。另外,图形化的编辑器可以用于实现各种集成场景。集成逻辑可以使用“ 拖拽操作”来建模,对应的代码将会自动生成。ESB会包含商业化的支持。

相对于单纯地使用框架,ESB的巨大优势在于 更好的工具,它会明显地降低成本和复杂性。可以在更高的抽象等级解决集成的问题。

集成套件

套件提供了 ESB的所有特性。另外,还会包含很多其他的功能,如业务流程管理(Business Process Management,BPM)、业务活动监 控(Business Activity Monitoring)、主数据管理(Master Data Management)或仓库(Repository)。如果除了单纯的 集成还需要某些附加的特性,那么建议使用套件。借助一个软件栈(software stack)就能实现全部的集成。

希望你现 在已经明白了框架、ESB以及套件的区别。接下来会介绍如何选择合适的ESB或套件。

时间: 2024-10-31 15:44:16

为你的集成需求选择合适的ESB的相关文章

微信营销的模式分析 根据不同需求选择合适模式

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 自2011年微信上线,直至现在一年半多的时间微信的用户就高达2亿.而微信营销也形成了一股风潮,众多商家无一不把眼睛瞄准这个快速发展的新应用.势不可挡的微信营销,到底有那些模式呢? 1.草根广告式--查看附近的人 产品描述:微信中基于LBS的功能插件"查看附近的人"便可以使更多陌生人看到这种强制性广告. 功能模式:用户点击&

中小企业应该根据需求选择ERP方案

企业规模不同,对erp的要求不同.中http://www.aliyun.com/zixun/aggregation/9348.html">小型企业上马erp不宜贪多求全,而应该根据自身的发展需求选择合适的解决方案. 首先,中小型企业erp需求与大型企业无本质区别,"麻雀虽小,五脏俱全",都涉及采购.销售.制造生产.财务会计.人事和组织等诸多方面,只是在管理层次.管理流程上可能简单些.中小型企业erp同样需要全面集成和协同.从各个部门级的信息系统开始,将它们有机地整合起来

如何为企业选择合适的数据集成工具?

企业产生和收集的数据量日渐增长,随之而来的是对这些数据进行集成需求的增长,可以帮助IT团队简化并管理这一流程的数据集成软件应运而生.但是产品类型如此丰富,对你的企业来说哪些数据集成工具才是最佳之选呢?选择这类产品并非要挑那些拥有丰富功能的,而是要选择与你的集成需求和企业特质最为适配的产品. 在对数据集成平台评估之前,要在企业内部进行调查来协助产品选择过程.你的调查应该涵盖下列主题: 源系统.企业拥有多少源系统?是否拥有重叠系统,例如多重CRM或是销售处理应用程序?除了传统结构化数据,是否存在非结

选择合适的java脚本语言

脚本 选择合适的java脚本语言--如果你正考虑在java应用中集成脚本解释器,最难得是决定使用那种 摘要:脚本语言已经向java开发者证明了它的价值.它让客户实现应用功能的扩展和界面的个性化,从而程序的价值得以提升.另外,它们可以显著的简化程序开发者的设计任务,通过实现动态定义.装载和评估.对于开发人员,集成一种或多种脚本语言的任务是简单的,从越来越长的可选列表中选出一个确实困难的.本文描述了一些伴随java应用中脚本语言支持的问题,并从不同角度比较了Groovy, JudoScript, P

如何选择合适的企业移动性管理工具

随着移动设备管理的不断变化,你可以考虑现在所需要的EMM功能以及将来可能需要的功能--不要忽视用户体验. "移动办公人员"这个指称几乎是多余的,因为现在很多员工都以某种方式使用移动设备.管理这个庞大而不断扩大的环境对于IT来说仍然是一个巨大的挑战,对越来越多的企业而言,企业移动管理性管理(enterprise mobility management,EMM)是选择的解决方案. 最近的行业研究显示对EMM产品的需求的预期增长,其中通常包括移动设备管理(MDM).移动应用管理(MAM).移

为Hadoop集群选择合适的硬件配置

随着Apache Hadoop的起步,云客户的增多面临的首要问题就是如何为他们新的的Hadoop集群选择合适的硬件. 尽管Hadoop被设计为运行在行业标准的硬件上,提出一个理想的集群配置不想提供硬件规格列表那么简单. 选择硬件,为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性.(比如,IO密集型工作负载的用户将会为每个核心主轴投资更多). 在这个博客帖子中,你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用.在这个过程中,你也将学到Hadoop管理员应该考虑到各种

【OA办公】选择合适的OA系统的关键要点有什么?

[OA办公]选择合适的OA系统的关键要点有什么? 在OA软件市场,提倡的是"适合的才是最好的",因此企业在选择OA时,一定要考察好OA的适用性!但是,OA办公系统的适用性除了用户体验之外,还有其他什么关键要点呢?今天,小编就带大家来了解一下! 选择合适的OA系统的关键要点有什么? 1.只有系统稳定的OA办公系统才有适用性! OA系统里流转了大量的管理数据,因此必须是可靠的,一般的人为和外部的异常事件不应该引起系统的崩溃:当系统出现问题后能在较短的时间内恢复,而且系统的数据是完整的,不会

如何选择合适的云平台?四大云计算平台均衡对比

软件产品开发公司Altoros Systems的IT基础设施设计师Vadim Truksha发表一篇文章,详细对比了CloudStack.Eucalyptus.vCloud Director和OpenStack等四个云平台.文章全文如下: 考虑到云计算有极大的潜力提高效率,显著节省成本,实现可升级的基础设施和高性能以及安全的数据存储,云计算仍然是目前IT领域最热门的话题之一. 然而,选择合适的云平台是很困难的.这些云平台都有支持意见和反对意见.因此,Truksha说,当一个客户问我和我的同事'适

如何选择合适的用户体验研究方法

注:这篇文章原文发表在可用性大师Jakob Nielsen的网站上,系统介绍了如何选择合适的用户体验研究方法.好的研究方法要在恰当的时间用到恰当的地方才能发挥其应有的效果,切忌手里有把锤子就看什么都像钉子.现在用研组根据我们公司的情况重新编译修改了下,供大家参考. 用户体验研究当前已经可以解答相当广泛的问题.通过在一个3维坐标系以及典型的产品开发阶段中列出各种可用的研究方法,可以了解到什么时候应当使用哪种方法. 用户研究领域有着相当广泛的研究方法,这是件好事(没准也是件坏事).从那些已经广泛验证