企业服务总线在银行系统中的应用
 
2009-07-02 作者:郗嘉,张书杰 来源:ahcit.com
 

摘 要 国库信息处理系统(简称TIPS)是建立在财政、税务与国库各自独立的信息系统之上的信息交换和处理系统。本文详细介绍了ESB,以及如何利用ESB解决TIPS所面临的支持不同接入方式、随需应变的业务处理流程,以及高性能、高可用性和高可扩展性的问题。

关键字 国库信息处理系统;ESB;SOA;中间件

1 系统面临的问题

目前各地财政、税务、国库部门逐渐实现了信息化,建立了自身的计算机业务处理系统,如“金财工程”、“金税工程”、“国库会计核算系统”等。但各部门系统间各自独立,难于实现信息共享等诸多问题。为了从根本上改变目前国库部门在一定程度上存在的“信息孤岛”的局面,需要建立国库与财政、税务、海关、商业银行间的信息交换的国库信息处理系统。

由于需要集成多个部门的现有系统,现有的系统众多并且复杂,所以国库信息处理系统是一个庞大复杂具有高适应性的信息系统。该系统设计不仅必须能支持不同的接入方式,而且需要适应未来组织架构、业务流程、接口规范以及单个系统实现技术的改变,要做到随需应变,同时也要解决系统高性能性、高可用性和高可扩展性的问题。

2 企业服务总线

2.1 企业服务总线的概念

总线一词来源于硬件领域(ESB这一术语是由Gartner提出的)。在软件领域,总线是指一种架构模式,它允许多个应用程序以去耦合或松散耦合的方式结合在一起。在一个软件“总线”上,应用程序的添加和删除对同在总线上的其他应用程序造成的影响非常小。

ESB[1](企业服务总线) 定义通常如下:它是基于中间件技术实现并支持SOA 的一组基础架构功能,它主要实现消息的传输、转换和路由,它是连接企业各种纷繁复杂应用的骨干神经系统。将连接到ESB上的不同的应用程序定义为不同组件(或称为服务),服务之间的接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言[2]。通过这些服务之间定义良好的接口和契约,种种不同应用通过松散耦合的方式结合在一起,以合理的、符合业务需要的节奏连接应用程序和调节消息流量,从而达到提高效率和可靠性、加快响应速度的目的。

2.2 企业服务总线的功能

下面对现有文献中确定的一些 ESB 最基本的功能进行了总结和分类[3]:

  • 通信:提供位置透明性的路由和寻址服务 ;控制服务寻址和命名的管理功能;至少一种形式的消息传递范型(例如,请求/响应、发布/订阅等等)。
  • 集成:支持服务提供的多种集成方式,比如 Java 2 连接器、Web 服务、异步通信、适配器等等。
  • 服务交互:一个开放且与实现无关的服务消息传递与接口模型,它应该将应用程序代码从路由服务和传输协议中分离出来,并允许替代服务的实现。

当然,在许多甚至是大多数情形中往往需要其他的功能,并且这种需要变得越来越常见。主要包括:安全性、服务质量和服务级别、消息处理、管理和自治和基础架构智能等功能。

2.3 ESB与SOA的关系

面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。ESB 支持这些服务交互功能,并通过提供集成的通信、消息 传递以及事件基础架构来支持这些功能。因此,它将当今正在使用的主要企业集成模式组合成一个实体。ESB 为 SOA 提供与企业需要保持一致的基础架构,从而提供合适的服务级别和可管理性、以及异构环境中的操作。

ESB就是在SOA架构中实现服务间智能化集成与管理的中介。

3 系统的设计

以企业服务总线为核心采用面向服务的体系架构,可以解决TIPS与多个部门的不同平台的多个系统进行集成遇到的随需应变具有高度的可适应性的问题。

3.1 系统的逻辑架构

整个系统的逻辑架构如图1所示。

图1 系统逻辑架构图

图2 系统逻辑运行图

TIPS系统基于面向消息的架构,不同的应用系统之间通过ESB发送和接受报文(消息)进行数据交换。国库信息处理系统定义了一组基于XML格式的报文格式,以实现与不同应用系统的数据交换和信息共享[4]。

TIPS系统由表示层、业务逻辑层(包括业务管理模块和核心交易模块)、数据库访问层、企业服务总线以及与相关系统集成的适配器组成。

TIPS的ESB采用IBM公司的WebSphere Business Integration Message Broker(WBI MB)中间件实现。WBI MB提供了一个在不同应用系统之间进行通信的消息框架;WBI MB通过WebSphere MQ提供了一个功能强大的消息代理解决方案;WBI MB基于消息流(Message flow)来处理消息转换和路由。消息流描述了在把输入消息发送到目标应用系统前要在其上执行的操作比如:消息格式的验证和转换,以及操作的顺序。根据不同的业务流程设计不同的消息流程,并将消息流部署到WBI MB上可以实现消息路由的功能。

3.2 企业服务总线的优势

ESB主要提供相关系统的接入,提供对消息的传输、转换、路由功能。ESB解决了TIPS面临的一下几个问题:

(1) 不同接入方式的问题:以WBI MB为基础构建的ESB支持多种接入方式如:SOCKET、HTTP/SOAP、MQ、CICS等,并且进行各种接入协议之间的转换。

(2) XML报文与异构报文之间转换的问题[5]:在消息流中可以加入报文格式转换的过程以支持SWIFT、EDI、CALINF、IFCSUM等格式的报文与XML报文的转换。

(3) 支持业务流程改动的问题:可以根据业务流程的改动灵活的修改消息流,并将修改后消息流重新部署到WBI MB,这样可以使系统可以做到随需应变,具有高度的可适应性。

(4) 解决系统高性能性、高可用性和高可扩展性问题:WBI MB具有优异的处理性能,该产品在业界同类产品中的性能是无可比拟的,它内部用于数据处理的消息流是以多线程方式工作的,同一个消息流还可以分配到不同的执行组,从而提高整个系统的运行效率;具有交易完整性保证,该产品支持不同层次的交易完整性要求。同时 WBI MB提供了Cluster群集解决方案,通过横向扩展提高系统的吞吐能力。

3.3 系统逻辑运行模型

利用交换机和防火墙 (Firewall) 将系统划分为不同的安全域,包括接入环境 (中国人民银行内联网)、停火区 (DMZ)、生产域和集成域 (Extranet)。利用工作负载均衡节点来完成工作负载在多个 Web 服务器间的均衡,以提升系统的吞吐率。在生产域中,将应用服务器分为显示应用服务器和交易应用服务器两类节点。通过企业服务总线与外部相关系统集成。

4 结束语

在金融信息化领域,以信息通信技术的发展和成熟为基础的数据大集中(数据的集中和系统的整合)是近年来的一个热门话题,并成为包括银行证券、保险等行业在内的整个金融信息化的发展大趋势。在构建数据大集中的系统中都会遇到对现有系统的集成以及对高性能性、高可用性和高可扩展性的问题,通过构建ESB可以有效的解决这些问题。

参考文献

[1]Chappell D. Enterprise Service Bus[M]. O’Reilly Publishing, 2004.

[2]Michelson B M. Enterprise Service Bus Michelson B M. Enterprise Service Bus Q&A[EB/OL].http://www.ebizq.net/ hot_topics/esb/features/6117.html.

[3]Keen M, Acharya A, Bishop S. Patterns: Implementing an SOA Using an Enterprise Service Bus [EB/OL]. http://www. redbooks. ibm.com/ redbooks/pdfs/sg246346.pdf.

[4] 刘迎春,兰雨晴,于乐乐. ESB中的数据交换技术[J].计算机系统应用.2005,(10):42-45

[5] 李晓东,杨扬,郭文彩. 基于企业服务总线的数据共享与交换平台[J]. 计算机工程.2006, 32(21):217-219


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织