企业应用集成架构和ESB

来源:互联网 发布:数据库模型图 编辑:程序博客网 时间:2024/04/29 20:36

  首先要说的是本文参考了《Service.Oriented.Java.Business.Integration》一书,对于企业应用集成和ESB,这是一本不错的书,它的第一章《Why Enterprise Service Bus》对企业应用集成面临的问题有一个真切地描述,并列举了一些候选方案,然后重点阐述了为什么要选择ESB。

1.企业为什么要进行应用集成?(当前企业IT设施的面临的问题是什么?)
  具体内容可参照Service.Oriented.Java.Business.Integration》一书第一章,总结起来主要是这样几个问题。
  1.企业中有多套独立的系统运行,很显然,企业有让这些系统能在一定程度上连通并相互协作的内在需要.

  2.同一业务实体会存在于多个系统中,并且因系统的关注点不同而表现出不同的属性。并且让人迷惑的是,到底这个数据是属于哪个系统?对于这个问题,我还没有找到SOA的解答,目前认为,如果系统进行了SOA改造,上层系统视图中应该不会再出现有的各系统,因为在SOA中,它们都被一个个的服务屏蔽了,我想那些复合服务可能在一定程度上代表了统一的业务实体吧。


2.企业应用集成基本的架构方案:

宽泛地看,有四种基本的企业应用集成架构,它们是:
Point-to-Point solution
Hub-and-Spoke solution
Enterprise Message Bus Integration
Enterprise Service Bus Integration


3.为什么是ESB?

In my entire career, I have been fortunate enough to participate in much new generation IT system development for domains such as Airline, Healthcare, and Communications. Most of the time, I've been writing either adapters between systems, or negotiating and formalizing data formats between desperate systems. I know this is not because the former system's architects haven't put a long term vision to their systems in the angle of interoperability, but because systems have to evolve and interoperate in many new ways which were not foreseen earlier. This pushes integration providers to define new software pipes across applications. When we start this activity it might be elegant and straight forward, but sooner than later we realize that our integration pipes have no central control, administration, or management provisions.
这是《Service.Oriented.Java.Business.Integration》一书作者写到的。按作者的描述,早期,作者采用P2P方式的架构问题很多,特别是当集成的系统很多时。很显然,作者非常认同需要有一种“中控”机制来协调系统通信,这正是ESB的必要性。
从问题导向出发,我们可以思考:当一系列的系统联通在一起的时候,你需要如何解决这些问题呢?

1.How many channels do we need to define for complete interoperability?
2.How easy it is to change a system interface, while still maintaining interoperability?
3.How do we accommodate a new system to the IT portfolio?
4.How much we can reuse system services in this topology?
5.Where do we plug-in system management or monitoring functionality?

P2P网状结构的集成架构:



其实只要我们想像一下P2P架构如何应对这些问题时,我们就会很自然地明白ESB的优势了。需要说明的是:P2P架构里需要在两两系统中间提供Adapter适配器才能连通,对于ESB来说,只要系统接入总线就能自由地与其他系统连通,根本原因在于ESB有一套标准,所有接入的系统必须满足这一标准才能接入。这一标准实质上就是WebServcie!

下图是ESB架构的图解: