版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文(科研训练、毕业设计)题 目:资产保全业务管理系统中抵债资产处置模块的设计与实现姓名:学院:软件学院系:专业:软件工程年级: 学号:指导教师校内: 职称: 指导教师校外: 职称: 年 月摘要J2EE平台是近几年流行的企业级应用架构,由于其高平安性、平台无关性及丰富的厂商支持,并且能够有效的降低开发及维护本钱,所以越来越多的企业应用选择J2EE做为构建平台。而JSF+Spring+Hibernate三个主流框架的组合,也是企业应用中首选组合。本文从技术架构、应用架构、物理架构、平安设计等多方面对建行资产保全业务管理系统进行描述。并简要介绍了系统中所涉及的JSF、Spring、Hibe
2、rnate等技术框架。本文进一步给出了系统的详细设计,从业务、功能、数据库设计、模型、控制层设计、及前台页面展示等多方面对系统的设计进行描述,并提供JSF、Spring、Hibernate等框架如何在系统当中应用,并分析这些构架技术所带来的好处,将理论同实际相结合。关键词:J2EE应用; JSF; Spring; Hibernate; 资产保全AbstractJ2EE platform is the most popular enterprise application architecture in recent years. Because of its high security, pl
3、atform independency and wide support from many group, it can reduce the cost on maintaining and developing. So more and more company choose J2EE as their development platform. JSF, Spring and Hibernate are first choice enterprise choose when they build application.This paper describe the Special Ass
4、et Resolution Management System from technology, application, physical structure, security. And brief introduce the framework this system use such as JSF, Spring and Hibernate.This paper give more detail about the SARM system. It describe design from the business, functions, database design, model,
5、control of the design, and the prospects of page impressions, and so on. And introduce how to use JSF, Spring and hibernate in this system, then analyse the advantage these framework bring. Keyword: J2EE, JSF, Spring, Hibernate, Special Asset Resolution目录第一章 绪论1研究背景1研究意义3论文结构4第二章 系统相关框架简介5J2EE5什么是J2
6、EE5J2EE体系架构概述6J2EE主要技术7JSF(JaveServer Faces)8什么是JSF8JSF 体系结构9Spring10Spring框架10IOC与AOP12Hibernate13ORM13Hibernate框架13HQL简述14第三章 系统总体设计15系统概述15应用架构16技术架构17物理架构19平安设计22第四章 模块详细设计25业务描述25功能说明25处理流程26功能流程详细说明27用例及流程模型29相关数据库表设计30BOBusinessObject设计37Hibernate配置文件及DAO设计38BSBusinessService设计38UCCUserCaseCt
7、rollor设计39Spring配置39BBBackingBean设计39页面设计40第五章 总结41致谢42参考文献43ContentsChapter 1 Introduction1Background1Significance3Paper structure4Chapter 2 System Related Framework Description5J2EE5What is J2EE5J2EE architecture6J2EE technology7JSF8What is JSF8JSF architecture9Spring10Spring framework10IOC and AO
8、P12Hibernate13ORM13Hibernate framework13HQL14Chapter 3 System Design15System Overview15Application Architecture16Technology Architecture17Physical Structure19Security Design22Chapter 4 Module detailing25Business Description25Function Description25Processing Flow26Process detail27User case And Workfl
9、ow Model29Database Table Design30BusinessObject Design37Hibernate configure And DataAccessObject Design38BusinessService Design38UserCaseCtrollor Design39Spring configure39BackingBean Design39Page Design40Chapter 5 Summary41Acknowledgement42References43第一章 绪论1.1研究背景这几年来,随着Internet的迅猛开展,越来越多的企业重视到WEB
10、应用所能带来的便利及其中巨大的利益,因此企业纷纷根据自己的业务需求搭建WEB应用系统。由于WEB系统的复杂程序越来越高,一些新的系统往往要在已有系统的根底上进行构建。然而已有的系统往往具有多样性,还要求新的系统能够进行扩展以满足不断变化的业务,对性能与平安性的要求也不断提高。很多的WEB系统在系统的设计和实施阶段都采用了分层架构的方式,希望通过这种方式提高系统的重用性、可扩展性和可维护性。但是,往往在这样的系统当中,都存在着程序可程度低、维护工作繁琐、应变能力较弱等缺乏。SUN公司提出了J2EE,这是一个能够构建复杂企业应用并能满足扩展性、性能、平安性要求的解决方案。JZEE将应用分为表示层、
11、Web层、业务逻辑层和数据层,并且提供了JSP、XML、EJB、JTA、JDBC等多种技术支持各个层组件的开发。对于一个Web应用系统来说,J2EE的架构体系中的表现层和数据层分别对应的是浏览器和数据库管理系统,所以主要的工作就是Web层和业务逻辑层的开发。为了使Web应用能够表达J2EE分层架构和跨平台的优点,实现Web应用的稳定性、可扩展性、可维护性和可重用性,如何开发和部署Web层和业务逻辑层的组件己经成为 JavaWeb系统开发的首要问题。使用Java开发web层组件经历了几个开展阶段。一开始是使用Servlet,直接利用request和response对象接收和响应客户端的请求。se
12、rvlet的一个显著缺点是需要在Java代码中嵌入大量的标记语言(如HTML),处理逻辑和显示逻辑严重耦合,非常不利于程序的维护和界面的设计。基于这种情况,SUN又开展了JSP技术,与Servlet正好相反,JSP是在标记语言中嵌入Java代码,但它仍没有实现Web开发中角色的别离,美工设计人员仍然要在一堆混杂脚本、标记和Java程序的代码中工作,不利于程序的维护。后来JSP参加了 TabLibrary机制,鼓励开发人员使用自定义标签封装业务逻辑,JSP页面尽可能只出现各种标签。大量自定义JSP标签的出现,并经过SUN公司的标准化后,形成了JSTL(Java Standard Tab Libr
13、ary)。JSTL技术根本实现了页面逻辑和显示逻辑的松散祸合,方便了Web的各种开发人员。随着Web应用程序规模的不断扩大,现有的JSTL明显不能满足开发需求,并且复杂的业务操作和页面之间的处理流程都需要开发者自己编写代码实现,这给开发带来了难以想象的困难,于是一些中间件厂商开发出框架技术,比拟流行的有JSF、Struts、Spring框架等。这些框架技术提供了Web应用程序的开发模板,开发人员只要配置好相应的参开发。经过大量实践的检验,框架技术已经成为Web系统开发最常用也是最重要的技术,几乎所有的Web应用程序的开发都要采用一种或者几种框架技术。JSF(JavaServerFaces)是由
14、Sun公司所倡导的技术,它的目的是为开发Web应用用户界面提供一个标准框架。JSF表达了MVC模式把业务逻辑和表现逻辑相别离的思想,是一种可以开发富有表现力的用户界面的Web应用效劳器端技术。它提供了一种以组件为中心来开发 JavaWeb用户界面的方法,从而简化了开发。由于JSF是通过JCP(Java Community Process)制定的一种Java标准,因此开发工具供给商完全能够为JSF提供易于使用的、高效的、可视化的开发环境。其中MyFaces就是较为流行的JSF实现之一。在业务逻辑层组件开发的过程中,对于数据库中实体的操作是通过Java对象来实现的,当实体对象在内存中创立后,它们不
15、可能永远存在。最后,它们要么从内存中去除,要么被持久化到数据库中。内存无法永久地保存数据,因此必须对实体对象进行持久化。一旦实体对象被持久化,它们可以在应用再次运行时被重新读入到内存,并重新构造出实体对象。那么就必须对数据库中的关系表与Java对象进行对象/关系映射。Hibernate是一个面向Java环境的对象与关系数据库映射工具,它是Java应用和关系数据库之间的桥梁。Hibernate提供了强大、高性能的对象到关系数据库的持久化效劳,它不仅仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。Hibernate不仅提
16、供了从Java类到数据表之间的映射机制,也提供了数据查询和恢复机制。相对于使用JDBC和SQL手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用SQL从数据库提取数据的代码的编写量,从而节约开发时间和开发本钱。此外,它是一个开源的代码,提供开放的API,使用者也可能根据需要进行扩充。Hibernate可以和多种web效劳器或者应用效劳器良好集成,如今己经支持几乎所有的流行数据库效劳器,例如Tomcat,WebLogic等。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了
17、管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构根底是基于使用JavaBean属性的Inversion of Control容器。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改良了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够为各种底层事务管理技术提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务。1.2研究意义应用于Web层
18、的开发主要有Struts和JSF架构,Struts是Apache基金会Jakarta工程组的一个 OpenSouree工程,它采用了MVC(ModelView-Controller)模式。MVC模式利用控制器来别离模型和视图,到达一种层间松散祸合的效果,从而减弱了业务逻辑接口和数据接口之间的祸合性,提高了系统灵活性、复用性和可维护性。但是Struts所扩展的JSP标签有限,用户界面表现能力较差,很难满足快速高效的开发web层组件的需求。JSF框架技术具有良好定义的请求处理,目的在于推动基于Java的Web用户界面开发的简易性。JSF可重用、可扩展、基于组件的用户界面框架,在快速开发工具的支持下
19、,可以通过拖放组件的方式对Web用户界面进行可视化编辑,将用户界面上的组件与一个数据源绑定,并将客户端用户界面产生的事件交给效劳器端处理,从而大大降低基于Java的Web应用的开发难度,提高开发效率。因此,JSF框架很好的解决了Struts用户界面交互的问题。Java对于业务逻辑中模型组件的操作通常通常通过Java类实现,同时需要对象/关系映射 (Object Relation Mapping)用来把对象模型表示的类映射到基于SQL的关系型数据库中去。EJB组件技术提供了容器管理持久(CMP)模型完成对象/关系的映射,但需要庞大的EJB容器的支持,EJB标准的复杂性同时增加了开发的难度。 Hi
20、bernate是一个面向Java环境免费的对象/关系数据库映射工具,它对JDBC进行了非常轻量级的封装,使得Java程序员可以随心所欲地使用面向对象编程的思维来操纵数据库,可以在用EJB的J2EE架构中取代CMP完成数据持久化的重任。集成JSP框架和Hibernate框架既能实现web层页面代码和功能代码的别离,又保证了在业务逻辑层有良好的对象/关系映射机制实现数据库的操作,对于web应用系统的开发有几个主要的优点:1. 实现了程序员和网页设计人员的分工。JSF框架为网页设计人员提供了一套标准的UI组件,在工具的支持下,可以通过拖放,简单地添加到网页上,然后设置某些显示属性来满足视觉要求。网页
21、设计人员不需要知道UI组件背后的复杂代码,那是程序员的事,而程序员也不需要再处理任何与视觉相关的细节,程序员所做的只是给UI组件绑定类的属性或方法。虽然程序员和网页设计人员需要修改同一份文件,但他们各司其职,各得其所,互不干扰。程序员和网页设计人员工作的明确划分,是JSF在易用性方面迈出的一大步。2. 实现了用户界面到业务逻辑的直接映射。HTTP请求需要经历解码、类型转换、有效性验证、状态保存、数据更新等环节,处理这些环节的所有细节,对程序员来说是沉重的负担。在JSF下,这些工作的很大一局部都由框架承当了,在程序员看来,这个过程是透明的,用户界面端的HTTP请求可以直接映射到后端的一个事件处理
22、例程,JSF起到了承前启后的作用。3. 实现了系统的可重用性、可扩展性。JSF和Hibernate框架都是开放的体系,利用JSF和Hibernate开发的组件也能够被其他的应用程序调用,并且用户完全可以根据需求定制自己的用户界面组件、事件处理器、数据校验和转换组件等,这些组件和JSF和Hibernate框架提供的标准组件一样是可重用的。4. 实现了系统的稳定性、可维护性。JSF和Hibernate技术是对于JSP、Servlet、JSTL、JDBC等技术的扩充,所以通过JSF和Hibernate构造的应用程序能够在J2EE应用效劳器中良好运行,并且它们是通过标准的配置文件来进行可维护性。1.3
23、论文结构本文主要结构安排如下:1. 第一章绪论。主要介绍了本文的研究背景,论文的研究意义以及说明了论文的组织结构。2. 第二章系统总体设计。简要地对系统进行了描述了,分析了系统需要到达的要求,从应用、技术、物理、平安等多个方面对系统的架构进行分析。3. 第三章业务描述及功能说明。主要描述了我所完成的资产保全业务管理系统中抵债资产处置模块的功能需求及业务要求;并详细的对整个模块的功能流程进行了说明。4. 第四章系统相关构架简介。主要描述了J2EE平台,对其体系架构进行概述,简要介绍了一些J2EE的技术。还对系统中主要应用的3个框架:JSF、Spring、Hibernate及相关技术进行了介绍。5
24、. 第五章模块详细设计。从数据模型、持久化层、控制层、表示层等多方面描述了模块的详细设计。通过实例分析了JSF+Spring+Hibernate的组合的优点。第二章 系统相关框架简介2.1J2EE2.1.1什么是J2EESun Microsystems公司在1996年推出了一种新的纯面向对象的编程语言,命名为Java。Java技术已成为20世纪软件业界出现的最重要的技术之一,这种与平台无关的编程语言的出现,立刻掀起了软件工业的一场革命,如今已是互联网上最为流行的编程语言。Java是一种通过解释方式来执行的语言,其特点为:简单、面向对象、不依赖于机器的结构,具有可移植性、鲁棒性、平安性,并且提供
25、了并发的机制以及与现代网络技术的完美结合。J2EE是使用Java进行企业开发的一套扩展标准,它提供基于组件设计、开发、部署和管理企业应用的解决方案。J2EE标准必须基于J2SE平台,它不仅稳固了标准版中的许多优点,例如“一次编译、随处运行的跨平台特性、方便高效的数据库提供无缝连接的技术JDBCJava Data Base Connectivity,Java数据库连接、能够在Internet应用中确保数据完整性的平安模式以及支持多线程技术等,同时还针对Servlet/JSP、EJB、JMS、JTS/JTA、JCAT和XML等技术提供了全面的支持。J2EE已建立了一套能够使企业级应用开发者缩短软件
26、产品开发周期的标准架构体系。事实上,J2EE已成为企业级开发的工业标准和主流平台。J2EE为建立具有高可用性、高可扩充性、易维护性的企业级系统提供了完美的机制和架构模型。在J2EE提供的统一开发平台下,可以大大降低开发多层应用的本钱和复杂性,对于需要获得高可用性、高平安性以及高可扩充性软件效劳而又缺乏资金的企业来说,J2EE的中间层集成框架完全可以胜任并满足其要求。同时,J2EE自身具备的完备的目录效劳支持、高度的平安机制、高效的性能展现等众多优势技术,为企业平滑集成已有应用系统发挥了巨大作用。基于J2EE的企业级应用系统,不受任何特定操作系统、网络环境、硬件平台的束缚。应用系统可开发并部署在
27、异构的环境中,并能确保系统的可移植性。因此,只要符合J2EE标准的系统开发一次即可部署到各种操作系统平台和网络平台上。J2EE作为长期的性能稳定的企业级应用系统平台,能保障7×24小时的不间断效劳,以满足企业客户、合作伙伴的需要,是企业理想的运行平台也是Internet全球化开展的客观必然要求。J2EE采用负载平衡策略,使系统软硬件资源利用率及性能表现最大化,消除了系统中的瓶颈。允许多台效劳器集成部署,实现可高度伸缩的系统,在保存企业现有IT资产减少重复性投入的同时也满足了未来商业应用的需要。2.1.2J2EE体系架构概述J2EE使用多层的分布式架构模型,模型由组件组成,应用程序的逻
28、辑根据功能划分被封装在各组件中。由于是采用分布式架构,J2EE应用中的大量组件部署在不同的机器中,通常这些机器具有不同的物理地址。J2EE架构一般分为4层:客户层、Web应用层、企业组件层业务层、企业信息系统层。图2-1描述了J2EE架构中典型的多层应用架构模型。图2-1 J2EE架构的多层应用模型一个J2EE客户层软件可以是基于Web的,也可以是基于Application应用的。Web客户端由Web应用层的Web组件动态生成Web页面,主要是HTML文件和XML文件。客户端用户在使用J2EE效劳时,无需安装多余软件,只要计算机上装有一个Web浏览器即可,如MS Internet Explor
29、er、NetScape、Mozilla Firefox,等等。基于应用程序的客户端,可以为用户展示比Web客户端更为丰富的人性化的图形界面,如Java AWT/Swing开发的图形用户界面。Web客户端通过Web应用层中的JSP/Servlet进行通信,而应用程序客户端那么可以跳过Web组件层直接访问运行在企业组件层的Enterprise JavaBeans。Web应用组件层提供的效劳主要依赖于JSP页面或是Servlet。JSP和Servlet都是J2EE应用技术中的重要组成局部。JSP页面由HTML文件、Java程序片段和JSP标签构成,以Servlet的方式执行。Servlet是Web应
30、用开发的根底。它完全用Java语言开发,是Java平台上的CGI技术。它运行于效劳器端的J2EE容器中,具有很高的效率,能够动态地加载,动态地生成Web页面。Servlet擅长于流程控制和事务处理,提供的扩展效劳功能可为企业定制灵活的开发策略。Web应用层主流的效劳器有:Tomcat、Resin等。企业组件层中主要是负责处理企业的业务流,并且将相关的业务逻辑封装在Enterprise JavaBeans中。这一层提供了EJB的开发、部署和运行时管理环境。每一个EJB都是一个可重用的组件。EJB架构定义了3种Enterprise JavaBean类型:会话Bean、实体Bean和消息驱动Bean
31、。其中,会话Bean又分为有状态会话Bean和无状态会话Bean。实体Bean可以进行自行状态管理,也可以交由EJB容器进行管理,两种方式都为了完成实体Bean的持久性。消息驱动Bean始终处于无状态。三种类型的Enterprise JavaBean有着不同的生命周期。企业组件层采用的主流效劳器有:Weblogic、JBoss、Sun Application Server、WebSphere,等等。企业信息系统层的特点是有数据库系统的支持。企业信息系统软件主要包括企业内传统信息系统如财务系统、CRM系统、数据库系统和ERP等。2.1.3J2EE主要技术l Servlet技术Servlet是We
32、b应用开发的根底。它完全用Java语言开发,是Java平台上的CGI技术。它运行于效劳器端的J2EE容器中,具有很高的效率,能够动态地加载,动态地生成Web页面。Servlet擅长于流程控制和事务处理,提供的扩展效劳功能可为企业定制灵活的开发策略。l JSP技术其本质仍是Servlet,只是两者创立方式不同。JSP文件由HTML文件、Java程序片段和JSP标签构成。JSP将首先通过分析器生成相应的Servlet源文件,然后再对此Servlet文件进行编译运行。JSP与Servlet一样,具有相当高的运行效率。l EJB技术Enterprise Java Bean简称EJB,它运行在EJB效劳
33、器上,是由客户端调用的非可视化远程对象。EJB拥有一系列协议,允许自身被远程访问或在特定效劳器上进行安装或部署。允许将效劳平安性、事务行为、并发性支持多个客户端同时访问的情况和持久性其状态的生命周期的主要方面授权给 EJB 效劳器上其所在的容器。EJB提供的事务机制非常周全,但事务机制带来的缺点是性能的降低。EJB支持分部式应用系统。在EJB中定义了三种不同类别的Enterprise Bean:会话Bean、实体Bean、消息驱动Bean。EJB的完整执行过程为:客户端通过JNDI检索Home对象的引用,JNDI返回Home对象的引用,请求创立一个新的EJB对象,创立EJB对象,返回EJB对象
34、,调用相关业务逻辑方法,调用Enterprise Bean。一般J2EE应用效劳器都是EJB效劳器,比方:Weblogic、Jboss、Sun Application Server、WebSphere等。l JMS技术Java Message Service,Java消息效劳。JMS是J2EE平台的重要组成局部。它是一组标准Java应用接口,可以在各种企业通信系统间使用,提供创立、发送、接收、读取消息等效劳。为确保Java应用能够和各种消息中间件进行异步通信,JMS定义了一组公共的应用程序接口和相应语法来满足开发需求。通过使用统一的JMS接口集,开发人员可以无须掌握消息产品的使用方法,就来编写
35、和操纵各种消息中间件。JMS支持点对点、发布/订阅式的异步消息通信机制,并能够最大限度地提升消息应用的可移植性。l JNDI技术Java Naming and Directory Interface ,简称JNDI。J2EE应用程序组件通常分布在不同物理地址的机器上,所以需要一种机制以方便客户端使用者查找和引用J2EE组件及企业系统资源。在J2EE体系中,使用JNDI技术定位各种对象,包括EJB对象、数据库驱动对象、JDBC数据源对象及消息连接对象等。JNDI函数库为应用程序提供了一个统一的接口来完成标准定义的目录操作,如通过对象属性来查找和定位该对象。2.2JSF(JaveServer Fa
36、ces)2.2.1什么是JSFJSF是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广阔 Java/Web 开发人员的兴趣。“企业开发人员和 Web 设计人员将发现 JSF 开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员将发现丰富而强健的 JSF API 为他们提供了无与伦比的功能和编程灵活性。JSF 还通过将良好构建的模型-视图-控制器 (MVC) 设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于 JSF
37、是通过 Java Community Process (JCP) 开发的一种 Java 标准,因此开发工具供给商完全能够为 JavaServer Faces 提供易于使用的、高效的可视化开发环境。2.2.2JSF 体系结构l JSF的MVC实现JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图控制器 (MVC) 设计模式的框架。用户界面代码视图与应用程序数据和逻辑模型的清晰别离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Facesservlet控制
38、器来处理。图2-2 JSF的MVC实现示意图l JSF的生命周期Faces Controller servlet 充当用户和 JSF 应用程序之间的纽带。它在明确限定的 JSF 生命周期规定了用户请求之间的整个事件流的范围内工作。例如,一收到访问 JSF 应用程序的初始 Web 请求,Faces Controller servlet 便通过首先准备 JSF 上下文存放所有应用程序数据的一个 Java 对象来处理请求。然后控制器把用户指引到所请求的页面。该页面通常使用简单的表达式语言来处理来自 JSF 上下文的应用程序数据。一收到后续请求,控制器就更新所有模型数据假设输入了新数据。JSF 开发人
39、员可以通过编程的方式在应用程序运行期间随时访问整个 JSF 生命周期,从而可以随时对应用程序的行为进行高度控制。l JSF的用户界面组件JSF的真正威力在于它的用户界面组件模型。在该模型中,应用程序完全用组件集合构建,这些组件可以针对多种客户端类型用不同的方式来进行显示。与其他专有技术如 ASP.Net有点类似,JSF 的 UI 组件模型技术使开发人员能够使用预先构建的用户界面 (UI) 组件来构建 Web 用户界面而非完全从头构建用户界面,从而提供了前所未有的开发效率。JSF UI 组件有多种形式,可以简单到只是显示文本的 outputLabel,或者复杂到可以表示来自数据集合如数据库表的表
40、格化数据的 dataTable。JSF标准在其参考实施中提供了一组根本 UI 组件,这些组件本身是非常有用的。它们包括两个组件库,即“HTML组件库 它大局部映射了标准的 HTML 输入元素;以及“核心库 它辅助常见的应用程序开发任务如,国际化和验证/转换输入数据。除了提供一个根本 UI 组件库之外,JSF API 还提供了扩展和创立定制 JSF UI 组件的功能,从而在根本组件之上提供更多功能。2.3SpringSpring是一个开源框架,它由Rod Johnson创立。它是为了解决企业应用开发的复杂性而创立的。Spring使用根本的JavaBean来完成以前只可能由EJB完成的事情。然而,
41、Spring的用途不仅限于效劳器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。2.3.1Spring框架Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创立、配置和管理 bean 的方式,如图2-3所示。图2-3 Spring框架的7个模块组成 Spring 框架的每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:l 核心容器:核心容器提供 Spring 框架的根本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFa
42、ctory 使用控制反转 IOC 模式将应用程序的配置和依赖性标准与实际的应用程序代码分开。l Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业效劳,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 l Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理效劳。通过使用 Spring AOP,不
43、用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。l Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供给商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量例如翻开和关闭连接。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。l Spring ORM:Spring 框架插入了假设干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异
44、常层次结构。l Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多局部请求以及将请求参数绑定到域对象的工作。l Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE 效劳器中,大多数功能也适用于不受管理的
45、环境。Spring 的核心要点是:支持不绑定到特定 J2EE 效劳的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 Web 或 EJB、独立应用程序、测试环境之间重用。2.3.2IOC与AOP控制反转模式也称作依赖性介入的根本概念是:不创立对象,但是描述创立它们的方式。在代码中不直接与对象和效劳连接,但在配置文件中描述哪一个组件需要哪一项效劳。容器 在 Spring 框架中是 IOC 容器 负责将这些联系在一起。在典型的 IOC 场景中,容器创立了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。下面列出了 IOC 的一个实现模式。l 类型 1 效劳需
46、要实现专门的接口,通过接口,由对象提供这些效劳,可以从对象查询依赖性例如,需要的附加效劳 l 类型 2 通过 JavaBean 的属性例如 setter 方法分配依赖性 l 类型 3 依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公开Spring 框架的 IOC 容器采用类型 2 和类型3 实现。面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为例如日志和事务管理进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题
47、。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志效劳模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志效劳的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。2.4Hibernate2.4.1ORM对象-关系映射Object/Relation Mapping,简称ORM,是随着面向对象的软件开发方法开展而产生的。面向对象的开发方法是当今企业级
48、应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。面向对象是从软件工程根本原那么(如耦合、聚合、封装)的根底上开展起来的,而关系数据库那么是从数学理论开展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。2.4.2Hibernate框架Hib
49、ernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。图2-4 Hibernate框架2.4.3HQL简述Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和
50、灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形式如下:Select/update/delete from where group by having order by asc/desc其中的update/delete为Hibernate3中所新添加的功能,可见HQL查询非常类似于标准SQL查询。HQL查询在整个Hibernate实体操作体系中处于核心地位。第三章 系统总体设计3.1系统概述资产保全业务管理系统一期Spe
51、cial Asset Resolution Management System简称SARM自2006年全行推广上线后,在控制不良资产风险、标准资产保全业务流程、提高工作效率等方面发挥了重要作用。随着资产保全业务的开展及处置手段的创新,以及业务授权的调整,原系统已不能满足全部保全业务的需要。为满足资产保全新业务如代理资产、已核销资产的管理要求,同时实现资产证券化等创新手段的流程处置,及为解决一期系统使用中存在的问题,启用资产保全系统工程二期开发以下简称SARM。l 功能上SARM将在SARM的功能根底上,根据行内业务系统统一规划,调整、新增与相关系统的接口;完善各类不良资产的处置审批流程;根据新
52、授权调整系统权限设置及处置方案;优化系统各模块功能,使其能适合业务开展需要;优化界面、统一界面风格,简化用户操作;完善报表和灵活查询等功能。l 业务上SARM将在SARM形成的业务平台的根底上,针对一期的缺乏和缺陷,强化以客户资产为中心,完善业务审批流程,优化根底管理功能,增强操作界面向导功能,建立一个覆盖资产保全所有业务、满足全部业务处置流程的综合性业务管理系统,将SARM系统打造成为专家型、向导型业务操作平台的精品系统。SARM工程将继承SARM的架构和局部功能,将对公不良信贷客户、合同、抵质押物信息整合到CLPM数据库中。在技术架构上增加对CLPM数据库的直接访问。同时,结合资产保全的业
53、务性质,将系统分为以下功能模块:n 根底管理n 对公信贷不良资产管理n 抵债资产管理n 其它非信贷不良资产管理n 个人类不良贷款管理n 股权管理n 已核销资产管理n 代理资产管理n 绩效考核管理n 报表管理3.2应用架构SARM系统与CLPM系统首先在信贷客户贷款数据层面整合,其次报表数据来源于CID系统和SARM的应用数据,同时资产处置业务需要工作流引擎的支持,报表的制作、发布需要Cognos效劳器的支持。SARM系统二期的应用架构如以下图3-1所示。图3-1 SARM应用架构图3.3技术架构根据厦门开发中心统一的架构要求,系统采用总行集中、浏览器/效劳器B/S的4层架构模式,包括l 浏览器
54、客户端l Web效劳器l 应用效劳器l 数据库效劳器及其他外部系统用户通过浏览器访问系统,发起操作请求,效劳器端的应用逻辑处理请求并将结果返回给浏览器。为了维护和部署的方便,不在Web效劳器上部署任何应用程序,系统的应用逻辑都运行在应用效劳器的J2EE容器内。在客户端使用HTML和Javascript、Ajax技术进行交互,并且兼容IE浏览器。在效劳器端,系统应用构建在标准的J2EE平台之上,并且与ODS、CLPM、CID等外部系统集成完成相应的业务逻辑。系统应用在设计和开发中引入了以下成熟的框架:l UAAP:总行推行的统一的用户管理和授权认证系统,SARM二期的业务用户统一经过UAAP的认
55、证和授权后才能进入本系统l JSF/MyFaces、Ajax:作为表现层框架,负责接收请求,分发请求,界面显示及响应等l Spring:作为应用的IoC Container,负责管理Bean之间的引用依赖关系,同时利用AOP机制,提供企业级效劳,如事务控制、平安控制、数据访问等l Hibernate:作为对象/关系映射O/R Mapping的框架,负责处理对象模型与关系数据库的交互系统内部根据关注点的不同进行职责的细分,包括以下5层:l 表现层,主要包括JSP页面文件及其对应的BackingBeanl 业务控制层,主要包括各类UCC组件l 业务逻辑层,主要包括各类Service组件l 数据访问
56、/集成层,主要是各类DAO、Adapter等l 公共/根底层,包括日志、异常、消息、事务等公共效劳系统引入了以下软件产品或组件:l Oracle数据库:提供统一的数据存储效劳;l Cognos报表工具:提供报表的制作、部署和运行;技术架构如以下图3-2所示:图3-2 SARM技术架构图3.4物理架构SARM系统采用总行集中的物理架构,其生产系统安装在北京运维中心的生产网段,采用负载均衡效劳器、Web效劳器/报表效劳器、应用效劳器和数据库效劳器四层物理架构。其中,l 负载均衡效劳器:采用负载均衡效劳器后,所有客户端的接入请求均通过负载均衡效劳器连接至Web效劳器;l Web效劳器:为满足用户并发访问的性能要求,SARM系统采用3台配置为4C 8G PC效劳器软件配置采用:Red Hat Linux、 Apache Http Server,通过负载均衡设备将外部的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届福建省泉州市德化县数学三上期末考试模拟试题含解析
- 2027届西藏日喀则地区定日县三年级数学第一学期期末监测试题含解析
- 2025年长沙民政职业技术学院高职单招职业技能考试模拟试卷(能力提升)附答案详解
- 2026年内蒙古呼和浩特青城职业学院高职单招职业技能考试模拟试卷及参考答案详解(满分必刷)
- 2025年关中现代职业学院单招职业技能考试模拟试卷含答案详解【典型题】
- 《我们都是追梦人》课时练习及答案-2026-2027学年统编版(新教材)初中道德与法治九年级上册
- 2026年河北软件职院高职单招职业适应性测试考试模拟试卷附参考答案详解(轻巧夺冠)
- 2025年山东数字产业职业学院高职单招职业适应性测试考试模拟试卷带答案详解(模拟题)
- 初中九年级音乐上册“中国著名音乐家年表”主题式单元教学设计
- 2025年河南郑州西区职业学院高职单招职业技能考试模拟试卷及参考答案详解(新)
- 2025广东惠州市惠东县医疗卫生事业单位(县域医共体)招聘第二批编外人员177人(公共基础知识)综合能力测试题附答案解析
- 关键设备故障应急演练预案
- 焊锡岗位培训知识
- (正式版)DB23∕T 1019-2020 《黑龙江省建筑工程资料管理标准》
- 教研活动同课异构案例分析报告
- 反电诈课件培训
- 血凝五项课件
- 办公室主任面试题及答案
- 辽宁省五校联考2024-2025学年高一(下)期末数学试卷(图片版含答案)
- 2025年卫生系统招聘考试(卫生公共基础知识)试题及答案
- 哈三中2024-2025学年度高一下学期期末考试生物试题含答案
评论
0/150
提交评论