APP下载

基于J2EE架构的现金流通管理系统设计

2019-05-24孙枫

电脑知识与技术 2019年9期
关键词:系统设计架构

孙枫

摘要:随着我国经济金融的快速发展,社会公众对人民币现金的服务要求越来越高,给传统的人民币现金管理模式带来了新的压力和挑战。目前,现金机具可在清分清点处理环节记录人民币字号码信息,但这些信息不能在银行业金融机构间共享利用。设计一套基于冠字号码信息共享的人民币现金流通管理系统,实现信息标准规范化、信息交换自动化、资源共享最大化,对提升人民银行现金管理水平有重要意义。该系统设计为典型的J2EE三层架构,表现层采用JSP技术,方便地实现页面表示;业务逻辑层采用轻量级Spring框架,充分利用Spring的开发效率高、易测试维护和应用服务可移植性等优点;数据访问层采用Mybatis持久层框架,程序员可灵活编辑SQL语句操作数据库。基于J2EE的轻量型开发架构能简化系统中的组件,使系统扩展更加简单。

关键词:现金流通;架构;系统设计

中图分类号:TP315 文献标识码:A

文章编号:1009-3044(2019)09-0082-02

1 人民币冠字号码管理现状

人民币冠字号码是人民币的身份证,目前,商业银行的点钞机、清分机、自助机具均具备了冠字号码记录功能,一方面可以确认清分责任,严禁对外付出不宜流通人民币;另一方面可以解决金融机构假币纠纷举证难题。由于信息不共享,各商业银行记录的冠字号码信息成为一个个的信息孤岛,商业银行从人民银行取出已清分现金需重复清分,且人民银行无法掌握现金流向,大大降低了工作效率和质量。为实现清分信息共享的核心功能,使冠字号码信息流与实物同步流转,解决重复清分和手工管理现金无序化、效率低下等问题,亟待设计开发一套人民币现金流通管理系统。该系统运用物联网RFID溯源和数据分析技术,实现现金的全过程跟踪,做到事前预防、事中控制、事后追溯,防范现金管理风险。

2 人民币现金流通管理系统的架构设计

系统设计过程中,要始终把握查询准确方便、存储数据安全可靠、良好的设计界面几个原则。金融系统多年来一直较重视信息技术的发展,金融城域网已经实施。考虑到商业银行网点众多,软件系统的改进和升级工作量较大,使用B/S架构能使维护和升级相对简单,只需对服务器进行升级和维护即可;虽然服务器的负担加重,但商业银行总体成本是下降的,因此首先考虑B/S架构体系。人民银行和商业银行均部署相应的服务器,并通过web service进行交互。在系统的软件平台上,我们使用JAVA语言基于Eclipse进行开发,JAVA语言的平台兼容性,可以让数据在整个系统安全、有效地流动。整体架构设计采用Struts+Sping+Mybitis,用以构建简洁、灵活、可扩展性与易维护性的多层应用系统。

3 人民币现金流通管理系统的实现设计

Struts+Sping+Mybitis基于典型的分层架构,主要分为表现层、业务逻辑层、数据访问层[1]。

2)业务逻辑层,主要针对具体问题的操作,即负责处理系统中的各类业务逻辑,是系统架构的核心,具体包含业务规则的制定、业务流程的实现等与业务需求有关的设计。应用软件可通过逻辑单元的封装,使代码更加清晰明了,从而提高软件的可靠性和稳定性。业务逻辑层的核心是在数据交换中起承上启下的作用,因此业务逻辑层的有效设计有利于架构的后期扩展[3]。在后台开发中,我们遵循面向接口设计的思想,采用分层的办法,自顶向下依次为controller层,service接口层,service实现层,DAO层,数据持久层,这五层自顶向下依次调用,实现依赖关系的解耦。除此之外,为了保证该层对事物能够进行很好的控制,我们充分利用了Spring容器本身的特点,通过配置文件的方式来达到这一目的,充分发挥了Spring开发效率高、易测试维护和应用服务可移植性等优点。

3)数据访问层,设计中我们使用Mybatis作为持久层框架,Mybitis消除了几乎所有的JDBC代码和参数,通过手动配置和对检索结果集的封装,即可将POJO类映射成数据库中的记录。考虑到每张人民币都要生成一条冠字号码信息,数据量无疑很大,数据库的负载必须进行考虑。数据连接池技术能避免频繁创建和释放连接,通过资源重用减少系统消耗,使响应速度更快。商业银行每天清分现金的次数较多,清分机具生成的冠字号码按时间段或业务笔数分别生成规范的FSN文件,如果频繁创建和释放连接,必然导致服务器性能的下降。因此,在系统初始化的时候,将数据库连接作为对象存储在内存中,用户读取数据库时都是对连接池进行操作,可有效降低资源的消耗。另一方面,通过高速缓存技术,对某些固定的数据库查询结果,如日期、金融机构编码、面额、券别、版别进行缓存,以加快数据库的访问速度,优化服务器的性能。

该架构充分体现了"低耦合,高内聚"的特点,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换[4],从而降低各层间的耦合度,实现代码的健壯性和可扩展性。总的来说,该架构充分体现了Spring的高开发效率、易测试维护性及应用服务的可移植性等优点,同时也能体现出该系统的可扩展性与灵活性,达到了项目的预期目标。

4 结束语

人民币现金流通管理系统采用更注重架构灵活性和扩展性的轻量级J2EE开发,能够灵活地整合前沿技术,有利于系统的开发、维护和扩展。但仍然有值得改进的地方。首先,在用户界面定制方面,我们希望通过不断的实践,加强其灵活性,尽可能把可供选择的字段扩大到整个数据库。再次,各银行网点数量的增加,将使服务器性能不断下降,今后将通过分布式服务器架构及更多技术进行优化。

参考文献:

[1] 蔡淑波.三层体系结构在油田软件开发中的应用[J].电脑编程技巧与维护,2010(22).

[2] 温文,王燕敏,牛国富, 等.基于WPF三层架构的油气管输价格管理系统的开发与应用[J].科技和产业,2017(10).

[3] 钱建裕.基于MVC的公交车辆信息管理系统的设计与实现[D].厦门:厦门大学,2017.

[4] 张艳华,郑杰.论多层分布式系统的开发[J].成才之路,2007(31).

【通联编辑:谢媛媛】

猜你喜欢

系统设计架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
LSN DCI EVPN VxLAN组网架构研究及实现
一种基于FPGA+ARM架构的μPMU实现
具身学习环境SMALLab的架构分析及启示