上一代的银行IT系统主要采用客户机/服务器模式,在业务规模较小时,该模式能够很好地满足银行的需求,随着银联、基金代售、二代支付等跨行分布式系统上线,二层架构已经不能满足需求,基于中间件的三层架构系统便能更好地满足银行需求。开发团队更多关注应用系统本身的逻辑开发,对于平台下层的服务以及分布式系统间的服务调用交由中间层来处理。
这时期,业务和交易系统按照所运行的平台分为两个阵营,一种是传统平台,如Mainframe和AS400为代表;另一个是AIX、Linux和Windows为代表的开放式平台。开发语言主要包括COBOL、PRG、C、PL/SQL、JavaEE等。中间件包括交易中间件Ton-gEasy、TUXEDO、CICS,JavaEE中间件TongWeb、WebLogic、WebSphere,消息中间件TongLink/Q、MQ、CORBA。本节主要介绍几种在银行的业务系统中采用的最主流的中间件技术。
1.交易中间件
交易中间件是针对联机交易处理系统而设计的,在银行业的分布式系统中以交易中间件为核心框架的三层客户机/服务器模式(C/S)是绝对的主流架构。它是一组模块,用以减轻开发一个联机交易处理系统所需的开发量。其主要标准是X/Open组织定义的分布式交易处理参考模型,其理论成熟,应用边界清晰,主要应用于银行业务系统、电信计费、交通票务等大规模关键事务领域。
引入交易中间件后,银行业务系统已从传统的二层结构转化为三层体系结构,即操作层、应用服务层、数据服务层。第一层为操作层,即前台网点,通过终端或PC机接入;第二层为应用服务层,安装交易中间件以及应用服务程序,进行业务逻辑的处理;第三层为数据服务层,采用高性能计算机,其上使用大型数据库作为业务处理的核心服务器。采用这种三层结构的好处是:
1)相对隔离,有效防止了误操作和人为的攻击对后台数据库的影响。
2)可根据后台服务器的实际处理能力,在不同的服务器上可灵活地部署逻辑上不同的应用系统,实现负载平衡。
3)简化网络配置,提高网络安全。
4)结构灵活,大大减少了数据库服务器的压力,也提高了中间业务的处理效率。
目前银行应用的主流交易中间件包括TongEasy、CICS和Tuxedo等。
2.Java应用服务器中间件
20世纪90年代后期,Web等互联网技术快速发展,Java逐渐成为互联网B/S模式应用开发的主流。Java应用服务器等中间件的广泛应用,屏蔽了后端服务的复杂性,便于简化程序的开发。主要包括遵循JavaEE标准的商业软件公司产品,如TongWeb、Websphere Application Server、WebLogic Server以及JBOSS等。(www.xing528.com)
JavaEE是SUN公司开发的一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,它们都遵循共同的标准及规格,让各种基于JavaEE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的中间件产品彼此之间无法兼容、企业内部或外部难以互通的窘境。JavaEE为搭建具有可伸缩性、灵活性、易维护性的银行业务系统提供了良好的机制:
1)JavaEE架构可以充分利用用户原有的投资:如果一些银行使用Tuxedo、CICS等传统交易中间件,JavaEE具有相应的接口,可以方便地与这些系统实现集成。
2)高效的开发:JavaEE允许银行把一些通用的、繁琐的服务端技术相关的任务交给Java应用服务器去完成。这样开发人员可以集中精力在如何创建商业逻辑上,大大地缩短了开发时间。包括安全管理、事务管理、远程连接、数据持久服务、分布式共享数据对象缓存服务等。
3)支持异构环境:设计合理的基于JavaEE的程序只需开发一次就可部署到各种硬件平台。这在常见的银行异构计算环境中是十分关键的。
4)可伸缩性:Java应用服务器提供广泛的负载平衡策略。通过多个节点集群部署,可以将应用负载均衡到多个服务器上,能消除系统中的瓶颈。同时,当其中某一节点失效时,可以由集群中其他节点接管。
5)基于公共标准:JavaEEJavaEE平台由一整套服务(Services)、应用程序接口(APIs)和协议标准构成,它对开发基于Web的多层应用提供了标准化的保障,其中关键技术包括JDBC、JNDI、EJB、RMI、JavaIDL/CORBA、JSP、JavaServlet、XML、JMS、JTA、JTS、JavaMail及JAF等,都有相应的标准,这里不做详细讨论。
由于目前互联网金融的快速发展,银行越来越关注用户黏性和体验,一批用户交互类的应用成为热点,如网银、手机银行、移动支付、移动商务等。这些应用后台架构要求更加轻量级,对于传统的事务一致性适度放宽。但是对架构的扩展性性能要求更高,银行和软件提供商也都纷纷着手对开源或轻量级容器的研究。
3.消息传输中间件
在分布式计算环境中,开发者面临着更为异构、复杂的环境,包括不同的编程语言、不同的中间件平台以及不同的接口。而来自业务的压力要求系统更好地集成。为了集成分布式应用,开发者需要一种跨系统的通信手段。消息队列(MessageQueue,MQ)是一种成熟的、异步的基于消息通信的技术,可以用来构建灵活、松耦合的架构。
以MQ为代表的消息中间件很方便地实现了分布式异构系统间的消息传递,屏蔽底层异构操作系统和网络平台,提供一致的通信协议和应用开发接口,确保分布式计算环境下可靠的、跨平台的信息传输和数据交换。它基于消息队列的存储-转发机制,并提供特有的异步传输机制,能够基于消息传输和异步事务处理实现应用整合与数据交换。消息中间件通常提供以下能力:单一API给应用,可以在多种平台上运行;保障消息可以抵达,并且只抵达一次;加快应用通信模块的部署;异步处理,减轻系统间耦合;支持集群方式,通过扩展提高性能。
目前在银行业应用的主流消息中间件包括WebSpereMQ和TongLINK/Q,它们广泛应用于金融行业,如人行国库系统、二代支付系统等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。