ESB通常被视为瑞士军刀的一个中间件版本,它能提供数据格式之间的消息队列和转化,编排或智能地按照某一路径发送消息。它的多功能性也使它产生一些负面影响——它使得集成变得更复杂,也成为一些瓶颈和性能问题的替罪羔羊,甚至当问题出现在其它地方。据专家所说,事实上,ESB在大多数的SOA开发都不是必要的。 ESB一直以来在SOA的实施中都很常见,Acitura Education的总裁Thomas Erl说。
“这非常的方便,【ESB】能建立一个真正的功能强大的中间件层,可以在一个集中的地方执行以实用程序为中心的功能,例如转换,调解和各种类型的代理功能,”他说。但是ESB可能存在危险,Erl指出,如果……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
ESB通常被视为瑞士军刀的一个中间件版本,它能提供数据格式之间的消息队列和转化,编排或智能地按照某一路径发送消息。它的多功能性也使它产生一些负面影响——它使得集成变得更复杂,也成为一些瓶颈和性能问题的替罪羔羊,甚至当问题出现在其它地方。据专家所说,事实上,ESB在大多数的SOA开发都不是必要的。
ESB一直以来在SOA的实施中都很常见,Acitura Education的总裁Thomas Erl说。“这非常的方便,【ESB】能建立一个真正的功能强大的中间件层,可以在一个集中的地方执行以实用程序为中心的功能,例如转换,调解和各种类型的代理功能,”他说。但是ESB可能存在危险,Erl指出,如果他们不与全局计划相符的话。
ESB以相互协作的服务形式简化了软件的设计和建立,但这对于SOA来说是并不是很难的需求,Adroit Logic的创始人兼首席技术官,Asankha Perera说。实际上,ESB也可以用于非SOA环境中,例如简化传统的企业应用集成(EAI),通过网络联系合作伙伴,或者作为一个安全网关,他说。
其它的一些专家也同意ESB并不是SOA必须的,但他们也有自己的观点。据Daigneau所说,他是Blue Metal Architects的服务应用程序主管,过去几年随着协议转换对ESB需求越来越少,ESB现在主要有三个核心功能:信息发送、信息转化以及协议转换和传输映射。
当有“多对多”类的依赖关系时,ESB可以得到最好的利用,Daigneau说。如果ESB只推动一个信息中心,而在这个信息中心中经常把消息发送给同一个人接收者,“那么你所得到就是一个真真正正的复杂且高价的软件基础设施中间的一部分。这是不能恰当地使用ESB造成的,”他说。
Perera强调说,在高吞吐量的情况下ESB对多条信息的发送的作用尤其有用。这包括为处理、转化、记录、管理、监测、缓冲、节流和安全确认操作发送信息到后端服务,他说。
Daigneau举了一个大学支付系统的例子,这个系统需要从不同的银行以不同的方式进行支付——即“多对多”的方式。“这种情况下正适合使用ESB,”他说。“ESB在中心和接收器之间提供了一个交互层,这样在某种程度上就降低了联轴器的使用。”
ESB帮助信息传送到正确的目的地中,转换也一样,因为接收和处理付款的银行可能会有不同的信息结构。银行不太可能更改信息结构,如果任何一个大学想要不通过ESB进行支付信息传送的话,那它就发了解所有它正在使用银行的信息结构,他说。“总线可以做到,所以他们不必连接每一个信息接收器,并为信息结构编写特定的信息。……总结有责任对信息进行监测,并在信息发送到正确的目的地之前,判断出它是发给谁的,然后把它转化在成要求的格式,”Daigneau补充说。
ESB有利也有弊——如果他们被滥用,他们最终会被视为昂贵且无用的中间部分。当ESB作为权宜之计,而不考虑业务组织或IT的战略和长期目标是,麻烦就出现了。使用ESB可以总结为两点:了解ESB和了解IT企业的目标,Erl说。
熟悉ESB的一个方法是,至少有三个厂商从业务出发通过真实的场景建立一个概念验证(POC),Perera说。“通常ESB厂商会免费提供这样的POC,所以说这是一个机会,你不用花费一毛钱就可以尝试不同的ESB,并观察到每个ESB在实际中是怎样应用的,”他补充。
最后,要了解ESB需要做什么,并从长远的战略目标考虑,这才是ESB成功实施的关键。“我们需要了解在我们自己的IT企业中,我们计划达到的目标是什么,实现目标的状态又是什么样。……从这一目标状态出发,我们制定出标准,并运用任一厂商的产品、技术和工具,使之成为我们的SOA项目的一部分,”Erl说。
否则,组织所购买的ESB就会被滥用,并且需要大量的时间进行配置。当公司不知道他们需要ESB的原因时,“用户就会浪费大量的时间在努力使每一个业务问题都适应一种由ESB解决的方式,”Perera说。“另一个相关问题是,什么时候ESB会总把信息转化成内部形式。……有时业务用例并不需要这种转化,存留或有效负载转换,而且这种附加转化只能影响使用ESB的性能,复杂性和开销,他补充。
另一个最佳实践是,一旦就位,就要标准化ESB的使用,Erl说。“一个最差实践是,为了开放使用,要为它所安装的IT企业位置建立复本,而且无论想要达到什么程度,都不规定和允许任何项目团队使用它的功能集合,这就导致有些地方可能会用到,而有些地方又用不到,”他说。
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。