您现在的位置是:首页 > 数码 > 

智能路由——ESB

2025-07-18 12:48:32
智能路由——ESB SOA之我见 SOA已然是企业级开发的必然之路。有人会问:我们有了OOP,还需要SOA吗?好吧我承认,这个问题也困扰了我很久。现如今我得出的结论是:OOP是OOP,SOA是SOA。 OOP是指面向对象程序设计,是指程序开发中的编程思想或者是编程设计方法。它的产生是为了

智能路由——ESB

SOA之我见

SOA已然是企业级开发的必然之路。有人会问:我们有了OOP,还需要SOA吗?好吧我承认,这个问题也困扰了我很久。现如今我得出的结论是:OOP是OOP,SOA是SOA。


OOP是指面向对象程序设计,是指程序开发中的编程思想或者是编程设计方法。它的产生是为了弥补面向过程开发的缺陷,用现代人的思维方式编写程序的方法。

SOA(面向服务的体系结构Service Oriented Architecture)是大型分布式系统的架构模式,它让架构师站在了一个全新的角度理解企业级架构的开发。SOA本质上是一种架构模式,它与面向对象相比,它是一个粗粒度、松耦合的组件架构模式。它的产生,也是随着生产关系的变化,不适应生产力发展的需要。

面对公司陈旧的老系统,可以用一个词来形容鸡肋(食之无味,弃之可惜)。企业是要生存的,不可能完全丢弃老系统,去开发一个全新的系统。况且在新的系统,也会变成将来的老系统。推倒重来,不是一个长久的解决办法,正途是需要与老系统进行整合。这样,SOA就登场了。


那么OOP与SOA的关系,你可能也有点儿明白了。SOA的内部实现,可能会使用OOP实现,但这不是肯定的;SOA内部完全可以采用其他设计方法进行实现。所以OOP关注的是程序设计层次;SOA关注的是架构模式层次,它希望通过服务化,来实现系统集成,解决信息孤岛。


ESB

谈了这么久的SOA,那么什么是ESB呢?ESB是SOA的重要实现手段。

         

大家应对各种各样具体的需求,也就对SOA有了行业性的理解,结果就是现如今各种各样的ESB产品。这些ESB都致力于解决各行各业的问题。ESB的表现形式虽然有很多,但是从宏观作用上来讲是一致的。它能实现于各系统见的协议转换、数据装换、动态路由功能。

我也只是接触过几个ESB的产品:Mule ESB、Jboss ESB以及Shuttle ESB。关于再具体的关于ESB的东西,我也只能是谈下自己的理解。因为这些产品,功能各异,侧重的实现不一。


Mule ESB以轻量级著称,它是基于实际需求的整合问题而设计实现的。它能轻松的与目前的系统进行整合,而且很容易进行再扩展。它标榜能够解决一切信息孤岛问题。用一位同事的话来形容:Mule就是一个大杂烩,它里面什么都有,所以能够完成各种格式数据的转化;

Jboss ESB比较重量级,它必须部署到Jboss的应用服务器中,而且它主要专注于与Jboss产品的整合。

Shuttle ESB是.ET平台基于事件的项目。这是一个比较新的开源项目。我目前项目中,就负责这一块的开发与研究。我会在后文中,着重介绍Shuttle ESB在我们项目中的应用。

与此同时,我在网上也了一些资料,也看了很多,发现大家都说的都有道理,而且它们都是致力于不同行业问题的不同解决方案。总结起来,ESB主要起到如下作用:


使系统更便于扩展,增加系统灵活性

如上图所示,这就是ESB的基本思路的一种实现。无论是系统内部的服务调用,还是系统间的调用,都会走ESB这条服务总线。无论哪一个系统,都之和ESB有关系,降低系统间的耦合性,便于系统的功能扩展。

这里发挥的是ESB强大的连通性,整合老系统也是应用了该思想。这个消息通道,也是一个服务中介,为各系统提供基础的服务支持。

这么看来,似乎ESB应该是统一的,不应该有那么多产品的出现,实则不然。实际需求中,业务逻辑是复杂的,一种ESB产品内不可能包含对每个系统都通用的服务。具体到消息、事件,具体实现也不可能做到面面俱到。


服务编排

多个服务进行编排形成新的服务。ESB支持一个直观形式定义新服务的流程。SOA有两个核心组件:一个是ESB,一个是BPEL。ESB是基础设施,BPEL是业务流程驱动下服务的集成与整合。离开SOA,ESB将失去所有连接的服务,而仅仅是一个总线。Bobby做过一个比喻:路是没有任何价值的,除非你利用它把一个东西从一个地方一道另一个地方。离开SOA,ESB就像一个没人通行的道路。


架构设计的考虑

ESB作为一条总线,插入系统之中。所以,就要求ESB具有无状态,高吞吐量的特点。所以,如何给ESB减肥,也是一款成功产品在架构设计中,必然要考虑的问题。

不过,ESB的使用,要注意系统的性能问题。记得GXPT项目中,系统间的通信采用的是Webservice,Webservice的效率就已经很低了,中间再走一层ESB的话,无疑会降低系统的性能,这些在系统架构,必须考虑进去。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/731261.html

相关标签:无
上传时间: 2023-12-02 18:33:15
留言与评论(共有 10 条评论)
本站网友 飞星传恨
10分钟前 发表
它的产生,也是随着生产关系的变化,不适应生产力发展的需要
本站网友 金正大oa
8分钟前 发表
这些ESB都致力于解决各行各业的问题
本站网友 丽水二手房信息
29分钟前 发表
因为这些产品,功能各异,侧重的实现不一
本站网友 小霸王手机
1分钟前 发表
这样,SOA就登场了
本站网友 最有效去黑头
21分钟前 发表
实际需求中,业务逻辑是复杂的,一种ESB产品内不可能包含对每个系统都通用的服务
本站网友 影视吧
27分钟前 发表
推倒重来,不是一个长久的解决办法,正途是需要与老系统进行整合
本站网友 松岗富士康
21分钟前 发表
它标榜能够解决一切信息孤岛问题
本站网友 afnetworking
16分钟前 发表
况且在新的系统,也会变成将来的老系统
本站网友 智齿是什么
7分钟前 发表
ESB支持一个直观形式定义新服务的流程