论文部分内容阅读
摘要:近年来,涉及银行客户的司法案件与日俱增。为了更好的配合司法机关侦破案件,方便、快捷、高效地提供相关的数据资料,银行司法查询系统应运而生。随着网络的发展,用户对系统分布式的要求也越来越高。因此,司法查询系统在软件架构上采用B/S应用架构。B/S架构是对C/S架构的一种改进,它统一了客户端,将系统功能实现的核心部分集中到服务器上,从而简化了系统的开发、部署、维护和使用,客户端通过浏览器便可以完成处理任务。本文基于B/S架构,结合J2EE设计模式的核心思想,从系统架构入手,详细阐述系统的设计与实现。
关键词:B/S架构;J2EE;设计与实现
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 02-0000-02
Design and Implementation of the Agricultural Bank of China Judicial Inquiry System Based on B/S Structure
Tao Yong
(Agricultural Bank of China Branch of Jiangsu Province,Nanjing210002,China)
Abstract:In recent years,increasing judicial cases involving bank customers.In order to better work with the judiciary to crack cases,convenient,fast and efficiently provide the data bank judicial inquiry have emerged.With the development of increasingly high requirements on the system distributed.Therefore,the judicial system software architecture,the B/S application architecture.B/S architecture is an improvement of the C/S structure,unified client focus on the core part of the system function to the server,which simplifies the system development,deployment,maintenance and use of the client by browsing we can complete the processing tasks.Based on B/S architecture,combined with the core idea of the J2EE design patterns,from the start of system architecture,the elaborate system design and implementation.
Keywords:B/S framework;J2EE;Design and Implementation
一、背景
隨着农行业务量不断增大,客户数不断增多,各类司法查询需求也在成倍增长。目前,大部分司法查询需求,网点和市行都无法处理,需要上报省行,导致司法查询需求过于集中在省行科技部门。而且没有统一软件、操作不规范、运行时间较长且不方便司法机关查询。所以迫切希望能够开发一套司法查询系统。通过技术层面建立一个面向省行、市行及网点的司法查询平台,合理分散查询的业务量,提高查询效率;制度上以省、市行数据运行中心查询处理为主,以减轻网点工作压力。
二、系统技术架构
(一)总体架构
司法查询系统在技术架构上主要分为两部分:系统前端架构和后台数据处理架构。其中,系统前端部分完成应用功能的实现。后台数据处理架构部分完成系统所需要的业务系统数据和外部数据的加工处理功能。
司法查询系统前端基于J2EE的多层架构,采用B/S应用模式。数据库采用Sybase ASE+Sybase IQ。应用服务器采用WebSphere Application Server。采用iBatis完成数据对象持久化的处理。业务组件基于Spring框架完成日志管理、缓存管理、安全控制、事务管理、消息服务、异常处理等系统公共功能。展现组件是业务组件的入口,用户的请求通过展现组件的控制反转和消息格式处理,调用相应的展现组件进行处理。页面组件是呈现给用户外观样式的软件,本系统的页面组件以三种形式呈现:JSP动态页面,HTML静态页面和EXCEL文件。系统总体技术架构如图1所示。
图1 系统总体技术架构
(二)B/S+JAVA的软件体系
考虑到司法查询系统应该具有很好的集成性和可扩展性,而JAVA是目前INTERNET上应用的最新技术,具有较好的跨平台性,几乎所有的操作系统都已经或正在支持JAVA技术,同时JAVA是一种面向对象开发工具,有很强的扩展性和继承性。因此,我们采用B/S+JAVA技术来进行开发。B/S结构的优点是维护量低,而且扩展性和移植性都很好,很适合农行这样地域分布广、机器多样化的银行。使用B/S技术开发也符合我们建立统一的基础平台的设想,因为B/S技术的客户端是浏览器,所有安装了Windows的机器中均有浏览器,而且目前所有的用户对浏览器的操作都比较熟悉,所以采用浏览器的方式是比较友好的。另外JAVA技术的优点是跨平台,用JAVA开发的应用可以不修改一行代码就在Windows平台和Unix平台上运行,这样可以很好的适应农行目前的设备情况。
(三)开发技术
对于司法查询系统这样的JAVA应用系统,应将日常业务逻辑抽象封装在多个独立的组件模型中。这样保证了数据的完整性和安全性,并对将来新出现的业务有着很好的扩展性。客户端技术实现的关键在应用服务器层,它涉及了与Web服务器的数据交换和与后台数据库的数据交换,并且进行数据处理和封装业务规则。组件模型结构如图2所示。
图2 组件模型结构
因此,应用服务器系统采用JSP/Servlet/Spring/Struts/Javabean/EJB/Ibatis技术开发,遵从J2EE标准。应用系统的表示层封装在JSP/Servlet中,应用逻辑控制层和展现控制层封装在Spring/Struts中,数据库访问层封装在Javabean/EJB/Ibatis中,使得程序具有良好的模块化、层次化、平台独立等特性,便于维护、扩展和升级。
三、系统功能
(一)功能模块设计
本系统的功能模块主要包括四部分:数据采集、个人信息查询、对公信息查询和系统维护。如图3所示。
数据采集模块主要负责从外部获取各种数据文本,并装载入库。
个人信息查询模块主要负责查询个人在行内产生的所有资产及负债类的信息。其中包括个人基本信息查询、个人账户信息查询、个人活期交易明细查询、个人定期明细查询、卡交易明细查询等。
对公信息查询模块主要负责查询企业在行内产生的所以资产及负债类的信息。其中包括企业基本信息查询、企业账户信息查询、企业活期交易明细查询、企业定期明细查询等。
系统维护模块主要负责系统用户的维护、功能模块的维护及一些统计报表的生成等。
图3 功能模块图
(二)逻辑流程设计
首先,用户根据查询需要提交查询任务单。任务单保存在Ase的任务表中。初始任务单的状态为“未处理”。
其次,守护进程定时扫描任务表,获取任务状态为“未处理”的任务。如果存在“未处理”的任务,那么循环调用IQ中对应查询任务的存储过程。同时将任务状态更新为“处理中”。
最后,存储过程执行结束会将查询的结果通过代理表回传给Ase中的结果表。同时更新任务状态为“已处理”。用户点击此任务即可看到查询的结果,并可以下载保存为xls格式。
图4 系统逻辑流程图
四、系统实现
(一)系统登录及主页面
当以管理员角色登录本系统,四个功能模块都可用。如果是二级分行的普通用户登录系统,那么“数据采集”功能模块不可用。
进入系统主页面后,页面左上方是功能模块的快捷下拉菜单。左侧是功能模块的树状菜单。两种不同的菜单显示模式为用户提供了更多的操作习惯选择。页面的右侧区域显示用户登录信息以及发布系统公告。系统主页面如图5所示。
圖5 系统主页面
(二)个人卡交易明细查询
本文以“个人卡交易明细查询”为例,进行简要说明。点击左侧树状菜单中的“个人卡交易明细查询”,在右侧区域弹出查询条件的页面,如图6所示。条件前带“*”号说明是必输项。输入完“产品账号”、“开始日期”、“结束日期”后,点提交查询即可提交此次查询任务。在提交时,系统会自动判断输入条件的合法性,包括判空、账号位数、开始日期必须小于等于结束日期等,如果出错,那么系统会弹出相应的提示对话框。成功提交后的任务可以在查询任务维护页面查到。
图6 个人卡交易明细查询页面
(三)查询任务维护
查看提交的任务情况可以点击系统维护菜单下的“系统查询任务维护”,如图7所示。任务状态分为“未处理”、“处理中”、“已处理”和“异常”四种。刚提交的任务状态通常都是“未处理”;当守护进程扫描到“未处理”的任务,将其传给后台处理时,任务状态就变更为“处理中”;后台成功处理完后,任务状态变更为“已处理”,此时用户可以点击任务状态获取查询结果;如果处理过程中出错,那么任务状态变更为“异常”。
图7 查询任务维护页面
五、结束语
本系统基于B/S架构,使得系统的维护量低,而且扩展性和移植性都很好。操作简单,界面友好,运行效率高,比较实用。目前已推广至各二级分行运营管理部门使用。系统无论是用于行内部门查询还是配合司法机关办案查询都发挥了很大的作用。下一步工作将继续针对系统的数据库进行优化,充分发挥iBatis的价值;根据设计模式的核心思想,进一步降低模块间的耦合性,以提高模块的复用性与扩展性;随着需求的不断变化,不断添加系统功能以满足实际业务要求。
[作者简介]陶勇(1980.6-),男,硕士研究生,工程师,中国农业银行江苏省分行。
关键词:B/S架构;J2EE;设计与实现
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 02-0000-02
Design and Implementation of the Agricultural Bank of China Judicial Inquiry System Based on B/S Structure
Tao Yong
(Agricultural Bank of China Branch of Jiangsu Province,Nanjing210002,China)
Abstract:In recent years,increasing judicial cases involving bank customers.In order to better work with the judiciary to crack cases,convenient,fast and efficiently provide the data bank judicial inquiry have emerged.With the development of increasingly high requirements on the system distributed.Therefore,the judicial system software architecture,the B/S application architecture.B/S architecture is an improvement of the C/S structure,unified client focus on the core part of the system function to the server,which simplifies the system development,deployment,maintenance and use of the client by browsing we can complete the processing tasks.Based on B/S architecture,combined with the core idea of the J2EE design patterns,from the start of system architecture,the elaborate system design and implementation.
Keywords:B/S framework;J2EE;Design and Implementation
一、背景
隨着农行业务量不断增大,客户数不断增多,各类司法查询需求也在成倍增长。目前,大部分司法查询需求,网点和市行都无法处理,需要上报省行,导致司法查询需求过于集中在省行科技部门。而且没有统一软件、操作不规范、运行时间较长且不方便司法机关查询。所以迫切希望能够开发一套司法查询系统。通过技术层面建立一个面向省行、市行及网点的司法查询平台,合理分散查询的业务量,提高查询效率;制度上以省、市行数据运行中心查询处理为主,以减轻网点工作压力。
二、系统技术架构
(一)总体架构
司法查询系统在技术架构上主要分为两部分:系统前端架构和后台数据处理架构。其中,系统前端部分完成应用功能的实现。后台数据处理架构部分完成系统所需要的业务系统数据和外部数据的加工处理功能。
司法查询系统前端基于J2EE的多层架构,采用B/S应用模式。数据库采用Sybase ASE+Sybase IQ。应用服务器采用WebSphere Application Server。采用iBatis完成数据对象持久化的处理。业务组件基于Spring框架完成日志管理、缓存管理、安全控制、事务管理、消息服务、异常处理等系统公共功能。展现组件是业务组件的入口,用户的请求通过展现组件的控制反转和消息格式处理,调用相应的展现组件进行处理。页面组件是呈现给用户外观样式的软件,本系统的页面组件以三种形式呈现:JSP动态页面,HTML静态页面和EXCEL文件。系统总体技术架构如图1所示。
图1 系统总体技术架构
(二)B/S+JAVA的软件体系
考虑到司法查询系统应该具有很好的集成性和可扩展性,而JAVA是目前INTERNET上应用的最新技术,具有较好的跨平台性,几乎所有的操作系统都已经或正在支持JAVA技术,同时JAVA是一种面向对象开发工具,有很强的扩展性和继承性。因此,我们采用B/S+JAVA技术来进行开发。B/S结构的优点是维护量低,而且扩展性和移植性都很好,很适合农行这样地域分布广、机器多样化的银行。使用B/S技术开发也符合我们建立统一的基础平台的设想,因为B/S技术的客户端是浏览器,所有安装了Windows的机器中均有浏览器,而且目前所有的用户对浏览器的操作都比较熟悉,所以采用浏览器的方式是比较友好的。另外JAVA技术的优点是跨平台,用JAVA开发的应用可以不修改一行代码就在Windows平台和Unix平台上运行,这样可以很好的适应农行目前的设备情况。
(三)开发技术
对于司法查询系统这样的JAVA应用系统,应将日常业务逻辑抽象封装在多个独立的组件模型中。这样保证了数据的完整性和安全性,并对将来新出现的业务有着很好的扩展性。客户端技术实现的关键在应用服务器层,它涉及了与Web服务器的数据交换和与后台数据库的数据交换,并且进行数据处理和封装业务规则。组件模型结构如图2所示。
图2 组件模型结构
因此,应用服务器系统采用JSP/Servlet/Spring/Struts/Javabean/EJB/Ibatis技术开发,遵从J2EE标准。应用系统的表示层封装在JSP/Servlet中,应用逻辑控制层和展现控制层封装在Spring/Struts中,数据库访问层封装在Javabean/EJB/Ibatis中,使得程序具有良好的模块化、层次化、平台独立等特性,便于维护、扩展和升级。
三、系统功能
(一)功能模块设计
本系统的功能模块主要包括四部分:数据采集、个人信息查询、对公信息查询和系统维护。如图3所示。
数据采集模块主要负责从外部获取各种数据文本,并装载入库。
个人信息查询模块主要负责查询个人在行内产生的所有资产及负债类的信息。其中包括个人基本信息查询、个人账户信息查询、个人活期交易明细查询、个人定期明细查询、卡交易明细查询等。
对公信息查询模块主要负责查询企业在行内产生的所以资产及负债类的信息。其中包括企业基本信息查询、企业账户信息查询、企业活期交易明细查询、企业定期明细查询等。
系统维护模块主要负责系统用户的维护、功能模块的维护及一些统计报表的生成等。
图3 功能模块图
(二)逻辑流程设计
首先,用户根据查询需要提交查询任务单。任务单保存在Ase的任务表中。初始任务单的状态为“未处理”。
其次,守护进程定时扫描任务表,获取任务状态为“未处理”的任务。如果存在“未处理”的任务,那么循环调用IQ中对应查询任务的存储过程。同时将任务状态更新为“处理中”。
最后,存储过程执行结束会将查询的结果通过代理表回传给Ase中的结果表。同时更新任务状态为“已处理”。用户点击此任务即可看到查询的结果,并可以下载保存为xls格式。
图4 系统逻辑流程图
四、系统实现
(一)系统登录及主页面
当以管理员角色登录本系统,四个功能模块都可用。如果是二级分行的普通用户登录系统,那么“数据采集”功能模块不可用。
进入系统主页面后,页面左上方是功能模块的快捷下拉菜单。左侧是功能模块的树状菜单。两种不同的菜单显示模式为用户提供了更多的操作习惯选择。页面的右侧区域显示用户登录信息以及发布系统公告。系统主页面如图5所示。
圖5 系统主页面
(二)个人卡交易明细查询
本文以“个人卡交易明细查询”为例,进行简要说明。点击左侧树状菜单中的“个人卡交易明细查询”,在右侧区域弹出查询条件的页面,如图6所示。条件前带“*”号说明是必输项。输入完“产品账号”、“开始日期”、“结束日期”后,点提交查询即可提交此次查询任务。在提交时,系统会自动判断输入条件的合法性,包括判空、账号位数、开始日期必须小于等于结束日期等,如果出错,那么系统会弹出相应的提示对话框。成功提交后的任务可以在查询任务维护页面查到。
图6 个人卡交易明细查询页面
(三)查询任务维护
查看提交的任务情况可以点击系统维护菜单下的“系统查询任务维护”,如图7所示。任务状态分为“未处理”、“处理中”、“已处理”和“异常”四种。刚提交的任务状态通常都是“未处理”;当守护进程扫描到“未处理”的任务,将其传给后台处理时,任务状态就变更为“处理中”;后台成功处理完后,任务状态变更为“已处理”,此时用户可以点击任务状态获取查询结果;如果处理过程中出错,那么任务状态变更为“异常”。
图7 查询任务维护页面
五、结束语
本系统基于B/S架构,使得系统的维护量低,而且扩展性和移植性都很好。操作简单,界面友好,运行效率高,比较实用。目前已推广至各二级分行运营管理部门使用。系统无论是用于行内部门查询还是配合司法机关办案查询都发挥了很大的作用。下一步工作将继续针对系统的数据库进行优化,充分发挥iBatis的价值;根据设计模式的核心思想,进一步降低模块间的耦合性,以提高模块的复用性与扩展性;随着需求的不断变化,不断添加系统功能以满足实际业务要求。
[作者简介]陶勇(1980.6-),男,硕士研究生,工程师,中国农业银行江苏省分行。