尽管通过分层和分组把不同的应用进行了逻辑隔离和归类,但从全行来看,它们是一个有机的整体,银行的应用系统能够为客户提供服务,需要不同的应用之间的信息交互和服务协同,这就需要对应用进行集成,对应用集成的结构化描述有时也称之为应用集成架构。
应用集成架构可以结构化地描述多个应用之间的关系。银行的应用集成架构通常有网状、轮状和总线等不同类型的架构模式。近年来,随着SOA(Service-Oriented Archi-tecture面向服务的体系架构)的兴起,总线型架构已经成为银行应用集成架构的主流趋势。
1.网状型架构
在网络型架构中,不同应用之间处于完全平等的地位,应用之间很少有统一的互联规范,任意两个应用可以互联,即点对点连接,如图3-3所示。
网状型架构的优点是任意两个应用之间可以互相连接或服务调用,不必太多关心其他应用的影响,且交易路径简短,总体效率高。尽管如此,由于网状型架构具有互联复杂、不易管理等缺点,近年来,国内银行很少采用此种架构模式。
2.轮状型架构
图3-3 网状型架构
在轮状型架构中,通常银行的主要业务处理应用位于中心节点,其他应用直接与中心节点互联,如图3-4所示。银行比较典型的做法是综合业务系统作为中心节点,其他节点作为综合业务系统的外围外挂系统。
轮状型架构具有应用之间互联简单、交易路径简短等优点,但由于中间节点既要处理大量的银行业务,又要承担应用之间的交互,具有较大性能瓶颈,尽管国内有些银行仍然采用此种类型架构,但轮状型架构已经不是未来的发展趋势了。
3.总线型架构
图3-4 轮状型架构
在总线型架构中,银行的主要应用都通过总线连接和交互,总线不处理或很少处理银行的业务逻辑,它主要负责应用之间的互联互通等功能,如图3-5所示。(www.xing528.com)
总线是总线型架构核心,总线发布统一的、标准的接口,不同应用只有按照总线的规范与总线进行互联。总线型架构具有互联简单,易管理等优点,尽管总线也位于所有应用的中心节点,但总线不承担过多的业务处理逻辑,大大提高了中心节点的处理能力。
近年来,越来越多的银行已经采用总线型架构或正在向总线型架构迁移。
总线型架构有EAI(Enterprise Appli-cation Integration企业应用集成)和SOA(Service-Oriented Architecture面向服务的体系架构)两种集成方式。
图3-5 总线型架构
(1)EAI EAI是将不同应用(包括不同平台的异构应用)集成起来的一种方法和技术。EAI通过中间件连接银行各应用系统,从而实现银行内部应用系统之间信息共享和交换。
EAI为消息传播提供了一个中央消息主干线,即EAI总线。应用将消息发布到EAI总线上,消息通过EAI总线传递到预订的应用中。
(2)SOA SOA是将不同颗粒度的应用看成独立的、规范的服务,也可以把些服务组装成新的服务。每一个服务可以完成一个独立业务功能,并且不依赖于业务上下文或者其他服务的状态。服务的定义是标准的且被广泛支持的,比如WebService。这使得构建在各种各样的系统中的服务能够通过统一和通用的方式进行交互。
ESB(Enterprise Service Bus企业服务总线)是SOA架构中的一个核心基石,它是消息传递的主干线,它用于提供协议转换,消息格式的转换,地址路由,接收并分发从各个连接到ESB的服务请求与系统传递来的消息。
(3)EAI与SOA的比较 EAI的集成方式从本质而言是基于消息的集成,因此EAI的各组成部件,都带有消息转换与消息路由的功能,单个应用只关心其与EAI连接部分消息的输入与输出,不关心具体的业务处理,业务处理都是在应用内部完成。而SOA的集成方式,其本质是对业务功能服务化后根据业务流程进行编排,是真正意义上的基于功能服务的集成。当然在基于SOA的集成中同样包含了基于消息集成的功能。因此基于SOA的集成方式比EAI的集成方式适用范围更广。
EAI从应用的层面看待银行的信息资源,银行的每一个应用被看作一个集成单元,通过EAI为这些已有的应用提供一种中间沟通方式,让这些应用之间可以进行数据的共享与交换,从而盘活这一个个独立的“信息孤岛”。而SOA则从提供服务、使用服务的角度去看待银行的信息资源。同样的一种资源既可能是服务提供者,也同样可以是服务使用者,一个应用模块可能只提供一种服务,因此被封装成一个服务,也可能由于提供了多种服务,而需要进一步划分。因此,SOA方式集成处理的颗粒度比EAI更细,进而比EAI方式具有更大的灵活性。
通过EAI方式实现银行应用集成,其开发的适配器、中间层消息转换规则和消息路由都是紧耦合的,当新系统要在EAI中进行集成,便需要对现有的部分适配器、中间层消息转换规则与消息路由进行改造,很难重用。而在SOA架构中,各个服务是以完全独立的方式集成的,当新集成进来的应用系统需要使用现有的某个服务时,可以直接使用,无须再次开发,即服务是可重用的。因此,使用SOA比使用EAI更经济。
显然,SOA比EAI集成方式优点更加突出,SOA已经成为银行应用集成的新趋势。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。