论文部分内容阅读
摘要:本文结合J2EE中Struts、Hibernate与Spring的特点,分析传统的设计方式在银行绩效考核系统中的缺点,设计出一套企业轻量级架构的系统。
关键词:轻量级;J2EE;绩效考核
中图法分类号: TP391.78 文献标识码B
根据目前软件业的发展情况和企业应用系统的业务特征,表明系统所要达到以下几点要求:①良好的系统结构,②易于维护,③易于升级,④支持数据的频繁变化,⑤数据安全性高。对于传统的设计方案很难达到客户和业务的需求,为此,提出一套新的解决方案迫在眉急。
一、Struts、Hibernate和Spring技术介绍
J2EE是SUN公司定义的一个开放式企业级应用规范, 他提供了一个多层次的分布式应用模型和一系列开发技术规范, 多层次分布式应用模型是根据功能把应用逻辑分成多个层次, 每个层次支持相应的服务器和组件。组件在分布式服务器的组件容器中运行, 如Servlet 组件在Servlet 容器上运行, EJB组件在EJB 容器上运行, 容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持, 使企业级应用的开发变得简单、快速。(基于Hibernate的轻量级J2EE架构)
Spring是一个解决了许多在J2EE开发中常见问题的强大框架。Spring提供了管理业务对象的一致方法,并可通过对接口编程而不是对类编程去实现。Spring的架构基础是基于使用javabean属性的IOC容器,这使得Spring在使用IOC容器作为构建所有架构层的完整解决方案方面是独一无二的。(一种基于J2EE、Spring和Hibernate的轻量级EAI架构)
Hibernate是一个开放源代码的ORM框架,它对对象/关系映射进行了很好的封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在Servlet/Jsp的web应用中使用,最具革命意义的是,hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据库持久化的重任。(一种基于J2EE、Spring和Hibernate的轻量级EAI架构)。
Struts框架是典型的基于MVC模式应用架构的框架,MVC是模型(Model)、视图(Viewer)、控制(Controller)的缩写,Struts分别对这三个类提供了实现组件,本系统对这三个类所采用的实现组件分别JavaBean、Jsp、Servlet,Struts系统结构[3]如图1所示。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-1-l.jpg)
二、Struts+Hibernate+Spring架构
利用成熟的开源产品实现各层,与自己编写代码实现相比,能缩短开发周期;且架构所用到的开源产品均有相当广泛的用户群,经受过多个项目实践的考验,其质量和性能更有保障;层与层之间松散耦合,增加代码重用率;各层分工明确,这样也利于项目小组的明确分工。
图2体现了《Wiring Your Web Applicationwith Open Source Java》一文中所阐述的架构思想,从Struts+Hibernate+Spring架构图可以看出,在该架构下系统分为四层:
(1) 表示层:由Struts实现,以Strutsconfig.xml为核心,通用的控制组件ActionServlet承担MVC 中Controller的角色,ActionForm类封装与用户界面的数据元素,用Action类实现业务逻辑、动作处理、链接转向。
(2) 业务层:由Spring实现业务组件的组装关联,通过依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统兼容性和可扩展性。
(3) 持久层:借助ORM工具Hibernate实现数据库访问性能优化和与数据库交互的常用操作(添加、修改、删除、浏览),并将数据库表与对象进行关联,把利用SQL对数据库表的交互转化为直接针对对象的数据库交互,如此大大提高编码效率。
(4) 域对象层:域对象是与数据库表关联的对象的集合,是各层之间数据通信的载体,业务的对象化主要是基于业务逻辑复用的考虑。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-2-l.jpg)
总的来说,把Struts、Hibernate和Spring三种业内主流的开源技术相结合,在银行绩效考核系统开发中不管是从效率上还是易维护上都是极其完美的组合。
三、银行考核系统的架构
1.系统的核心结构
利用本文提出的设计方案,设计出一个银行绩效考核系统。传统的绩效考核系统采用的应用系统模式是C/S结构,通过客户端多个独立子系统完成整体系统要求,服务器是系统资源的存储与管理中心,各个客户端完成各自的功能,业务处理及客户交互集中在客户端。这样的体系结构存在着以下缺点:①维护工作量大,业务规则变化时,客户端程序必须随之改动;②客户端与服务器直接相连,不仅消耗了大量本就紧张的服务器资源,而且安全性低;③客户端与服务器间的大量数据传送,容易堵塞网络,明显地与绩效考核系统的性能需求背道而驰。为此我们采用了B/S模式的结构来避免C/S结构下所存在的问题,在这种模式中客户端只要安装操作系统、网络协议软件、浏览器即可,HTTP传输协议为所有的应用提供了统一的通信基础。所有的处理核心都在服务器端实现,这个特点对于系统维护来说大大提供了方便:一方面,新营业厅的开设无需专业人员进行客户端系统的协试、安装;另一方面,对于业务规则的变化,只要修改服务器端的程序,而客户端是透明的,无需变更。本系统的B/S结构[1][2]如图3所示。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-3-l.jpg)
2.系统的总体结构
在此系统模式下,各分行通过专线连接到总行的业务生产系统。当有客户进行业务操作时,支行的业务人员通过终端受理客户的存款、取款或贷款需求,将客户的信息,比如帐号、金额、开户行、币种类型等提交到总行的业务生产系统中。通过存储过程定时将业务系统中导出的数据文本文件按一定规则导入到本系统数据库中,然后总行受理人员可以对各客户信息进行查询统计、监控账户余额变动情况、报表生成。图4为系统的网络结构图:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-4-l.jpg)
四、 结语
目前国内大部分银行的绩效考核系统还是基于C/S架构,尤其是中小城市的银行相关业务系统。这就造成了数据的分散和系统维护的分散,不利于行内的集中管理和风险控制,再加上支行比较多而分散,所以,基于B/S模式的绩效考核系统为实现银行的发展战略目标提供了一条可行的道路。
虽然这种技术方案的实施目前得到了很多银行业务系统的采纳,也得到了银行客户的肯定,但是在一些方面还有待进一步的改进,比如说:①对柜员的工作量、工作效率难以做出量化分析;②访问、处理海量的数据是以牺牲系统的性能为代价的。
作者单位:北京师范大学信息科学与技术学院
参考文献:
[1]闫斐,王亚弟,韩继红.基于Struts架构的J2EE应用软件的设计与开发[J]. 微计算机信,2006,22(10):227-229.
[2]孙莹,许俊华.MVC编程模型在Web程序中的应用及Java实现[J]. 计算机工程与应用,2001,37(17):160-163.
[3]任文娟,王华,鞠宏伟,宋柱芹.基于Struts和Hibernate框架的Web应用的设计与实现[J]. 微计算机信息,2006,22(9-3):184-187.
关键词:轻量级;J2EE;绩效考核
中图法分类号: TP391.78 文献标识码B
根据目前软件业的发展情况和企业应用系统的业务特征,表明系统所要达到以下几点要求:①良好的系统结构,②易于维护,③易于升级,④支持数据的频繁变化,⑤数据安全性高。对于传统的设计方案很难达到客户和业务的需求,为此,提出一套新的解决方案迫在眉急。
一、Struts、Hibernate和Spring技术介绍
J2EE是SUN公司定义的一个开放式企业级应用规范, 他提供了一个多层次的分布式应用模型和一系列开发技术规范, 多层次分布式应用模型是根据功能把应用逻辑分成多个层次, 每个层次支持相应的服务器和组件。组件在分布式服务器的组件容器中运行, 如Servlet 组件在Servlet 容器上运行, EJB组件在EJB 容器上运行, 容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持, 使企业级应用的开发变得简单、快速。(基于Hibernate的轻量级J2EE架构)
Spring是一个解决了许多在J2EE开发中常见问题的强大框架。Spring提供了管理业务对象的一致方法,并可通过对接口编程而不是对类编程去实现。Spring的架构基础是基于使用javabean属性的IOC容器,这使得Spring在使用IOC容器作为构建所有架构层的完整解决方案方面是独一无二的。(一种基于J2EE、Spring和Hibernate的轻量级EAI架构)
Hibernate是一个开放源代码的ORM框架,它对对象/关系映射进行了很好的封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在Servlet/Jsp的web应用中使用,最具革命意义的是,hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据库持久化的重任。(一种基于J2EE、Spring和Hibernate的轻量级EAI架构)。
Struts框架是典型的基于MVC模式应用架构的框架,MVC是模型(Model)、视图(Viewer)、控制(Controller)的缩写,Struts分别对这三个类提供了实现组件,本系统对这三个类所采用的实现组件分别JavaBean、Jsp、Servlet,Struts系统结构[3]如图1所示。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-1-l.jpg)
二、Struts+Hibernate+Spring架构
利用成熟的开源产品实现各层,与自己编写代码实现相比,能缩短开发周期;且架构所用到的开源产品均有相当广泛的用户群,经受过多个项目实践的考验,其质量和性能更有保障;层与层之间松散耦合,增加代码重用率;各层分工明确,这样也利于项目小组的明确分工。
图2体现了《Wiring Your Web Applicationwith Open Source Java》一文中所阐述的架构思想,从Struts+Hibernate+Spring架构图可以看出,在该架构下系统分为四层:
(1) 表示层:由Struts实现,以Strutsconfig.xml为核心,通用的控制组件ActionServlet承担MVC 中Controller的角色,ActionForm类封装与用户界面的数据元素,用Action类实现业务逻辑、动作处理、链接转向。
(2) 业务层:由Spring实现业务组件的组装关联,通过依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统兼容性和可扩展性。
(3) 持久层:借助ORM工具Hibernate实现数据库访问性能优化和与数据库交互的常用操作(添加、修改、删除、浏览),并将数据库表与对象进行关联,把利用SQL对数据库表的交互转化为直接针对对象的数据库交互,如此大大提高编码效率。
(4) 域对象层:域对象是与数据库表关联的对象的集合,是各层之间数据通信的载体,业务的对象化主要是基于业务逻辑复用的考虑。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-2-l.jpg)
总的来说,把Struts、Hibernate和Spring三种业内主流的开源技术相结合,在银行绩效考核系统开发中不管是从效率上还是易维护上都是极其完美的组合。
三、银行考核系统的架构
1.系统的核心结构
利用本文提出的设计方案,设计出一个银行绩效考核系统。传统的绩效考核系统采用的应用系统模式是C/S结构,通过客户端多个独立子系统完成整体系统要求,服务器是系统资源的存储与管理中心,各个客户端完成各自的功能,业务处理及客户交互集中在客户端。这样的体系结构存在着以下缺点:①维护工作量大,业务规则变化时,客户端程序必须随之改动;②客户端与服务器直接相连,不仅消耗了大量本就紧张的服务器资源,而且安全性低;③客户端与服务器间的大量数据传送,容易堵塞网络,明显地与绩效考核系统的性能需求背道而驰。为此我们采用了B/S模式的结构来避免C/S结构下所存在的问题,在这种模式中客户端只要安装操作系统、网络协议软件、浏览器即可,HTTP传输协议为所有的应用提供了统一的通信基础。所有的处理核心都在服务器端实现,这个特点对于系统维护来说大大提供了方便:一方面,新营业厅的开设无需专业人员进行客户端系统的协试、安装;另一方面,对于业务规则的变化,只要修改服务器端的程序,而客户端是透明的,无需变更。本系统的B/S结构[1][2]如图3所示。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-3-l.jpg)
2.系统的总体结构
在此系统模式下,各分行通过专线连接到总行的业务生产系统。当有客户进行业务操作时,支行的业务人员通过终端受理客户的存款、取款或贷款需求,将客户的信息,比如帐号、金额、开户行、币种类型等提交到总行的业务生产系统中。通过存储过程定时将业务系统中导出的数据文本文件按一定规则导入到本系统数据库中,然后总行受理人员可以对各客户信息进行查询统计、监控账户余额变动情况、报表生成。图4为系统的网络结构图:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zgsc/zgsc200810/zgsc20081033-4-l.jpg)
四、 结语
目前国内大部分银行的绩效考核系统还是基于C/S架构,尤其是中小城市的银行相关业务系统。这就造成了数据的分散和系统维护的分散,不利于行内的集中管理和风险控制,再加上支行比较多而分散,所以,基于B/S模式的绩效考核系统为实现银行的发展战略目标提供了一条可行的道路。
虽然这种技术方案的实施目前得到了很多银行业务系统的采纳,也得到了银行客户的肯定,但是在一些方面还有待进一步的改进,比如说:①对柜员的工作量、工作效率难以做出量化分析;②访问、处理海量的数据是以牺牲系统的性能为代价的。
作者单位:北京师范大学信息科学与技术学院
参考文献:
[1]闫斐,王亚弟,韩继红.基于Struts架构的J2EE应用软件的设计与开发[J]. 微计算机信,2006,22(10):227-229.
[2]孙莹,许俊华.MVC编程模型在Web程序中的应用及Java实现[J]. 计算机工程与应用,2001,37(17):160-163.
[3]任文娟,王华,鞠宏伟,宋柱芹.基于Struts和Hibernate框架的Web应用的设计与实现[J]. 微计算机信息,2006,22(9-3):184-187.