免费预览已结束,剩余45页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资产保全业务管理系统中抵债资产处置模块的设计与实现本科毕业论文(科研训练、毕业设计)题 目:资产保全业务管理系统中抵债资产处置模块的设计与实现姓名:学院:软件学院系:专业:软件工程年级: 学号:指导教师(校内): 职称: 指导教师(校外): 职称: 年 月43摘要J2EE平台是近几年流行的企业级应用架构,由于其高安全性、平台无关性及丰富的厂商支持,并且能够有效的降低开发及维护成本,所以越来越多的企业应用选择J2EE做为构建平台。而JSF+Spring+Hibernate三个主流框架的组合,也是企业应用中首选组合。本文从技术架构、应用架构、物理架构、安全设计等多方面对建行资产保全业务管理系统进行描述。并简要介绍了系统中所涉及的JSF、Spring、Hibernate等技术框架。本文进一步给出了系统的详细设计,从业务、功能、数据库设计、模型、控制层设计、及前台页面展示等多方面对系统的设计进行描述,并提供JSF、Spring、Hibernate等框架如何在系统当中应用,并分析这些构架技术所带来的好处,将理论同实际相结合。关键词:J2EE应用; JSF; Spring; Hibernate; 资产保全AbstractJ2EE platform is the most popular enterprise application architecture in recent years. Because of its high security, platform 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 Asset 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, 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目录第一章 绪论11.1研究背景11.2研究意义31.3论文结构4第二章 系统相关框架简介52.1J2EE52.1.1什么是J2EE52.1.2J2EE体系架构概述62.1.3J2EE主要技术72.2JSF(JaveServer Faces)82.2.1什么是JSF82.2.2JSF 体系结构92.3Spring102.3.1Spring框架102.3.2IOC与AOP122.4Hibernate132.4.1ORM132.4.2Hibernate框架132.4.3HQL简述14第三章 系统总体设计153.1系统概述153.2应用架构163.3技术架构173.4物理架构193.5安全设计22第四章 模块详细设计254.1业务描述254.2功能说明254.3处理流程264.4功能流程详细说明274.5用例及流程模型294.6相关数据库表设计304.7BO(BusinessObject)设计374.8Hibernate配置文件及DAO设计384.9BS(BusinessService)设计384.10UCC(UserCaseCtrollor)设计394.11Spring配置394.12BB(BackingBean)设计394.13页面设计40第五章 总结41致谢42参考文献43ContentsChapter 1 Introduction11.1Background11.2Significance31.3Paper structure4Chapter 2 System Related Framework Description52.1J2EE52.1.1What is J2EE52.1.2J2EE architecture62.1.3J2EE technology72.2JSF82.2.1What is JSF82.2.2JSF architecture92.3Spring102.3.1Spring framework102.3.2IOC and AOP122.4Hibernate132.4.1ORM132.4.2Hibernate framework132.4.3HQL14Chapter 3 System Design153.1System Overview153.2Application Architecture163.3Technology Architecture173.4Physical Structure193.5Security Design22Chapter 4 Module detailing254.1Business Description254.2Function Description254.3Processing Flow264.4Process detail274.5User case And Workflow Model294.6Database Table Design304.7BusinessObject Design374.8Hibernate configure And DataAccessObject Design384.9BusinessService Design384.10UserCaseCtrollor Design394.11Spring configure394.12BackingBean Design394.13Page Design40Chapter 5 Summary41Acknowledgement42References43第一章 绪论1.1研究背景这几年来,随着Internet的迅猛发展,越来越多的企业重视到WEB应用所能带来的便利及其中巨大的利益,因此企业纷纷根据自己的业务需求搭建WEB应用系统。由于WEB系统的复杂程序越来越高,一些新的系统往往要在已有系统的基础上进行构建。然而已有的系统往往具有多样性,还要求新的系统能够进行扩展以满足不断变化的业务,对性能与安全性的要求也不断提高。很多的WEB系统在系统的设计和实施阶段都采用了分层架构的方式,希望通过这种方式提高系统的重用性、可扩展性和可维护性。但是,往往在这样的系统当中,都存在着程序可程度低、维护工作繁琐、应变能力较弱等不足。SUN公司提出了J2EE,这是一个能够构建复杂企业应用并能满足扩展性、性能、安全性要求的解决方案。JZEE将应用分为表示层、Web层、业务逻辑层和数据层,并且提供了JSP、XML、EJB、JTA、JDBC等多种技术支持各个层组件的开发。对于一个Web应用系统来说,J2EE的架构体系中的表现层和数据层分别对应的是浏览器和数据库管理系统,所以主要的工作就是Web层和业务逻辑层的开发。为了使Web应用能够体现J2EE分层架构和跨平台的优点,实现Web应用的稳定性、可扩展性、可维护性和可重用性,如何开发和部署Web层和业务逻辑层的组件己经成为 JavaWeb系统开发的首要问题。使用Java开发web层组件经历了几个发展阶段。一开始是使用Servlet,直接利用request和response对象接收和响应客户端的请求。servlet的一个显著缺点是需要在Java代码中嵌入大量的标记语言(如HTML),处理逻辑和显示逻辑严重耦合,非常不利于程序的维护和界面的设计。基于这种情况,SUN又发展了JSP技术,与Servlet正好相反,JSP是在标记语言中嵌入Java代码,但它仍没有实现Web开发中角色的分离,美工设计人员仍然要在一堆混杂脚本、标记和Java程序的代码中工作,不利于程序的维护。后来JSP加入了 TabLibrary机制,鼓励开发人员使用自定义标签封装业务逻辑,JSP页面尽可能只出现各种标签。大量自定义JSP标签的出现,并经过SUN公司的标准化后,形成了JSTL(Java Standard Tab Library)。JSTL技术基本实现了页面逻辑和显示逻辑的松散祸合,方便了Web的各种开发人员。随着Web应用程序规模的不断扩大,现有的JSTL明显不能满足开发需求,并且复杂的业务操作和页面之间的处理流程都需要开发者自己编写代码实现,这给开发带来了难以想象的困难,于是一些中间件厂商开发出框架技术,比较流行的有JSF、Struts、Spring框架等。这些框架技术提供了Web应用程序的开发模板,开发人员只要配置好相应的参开发。经过大量实践的检验,框架技术已经成为Web系统开发最常用也是最重要的技术,几乎所有的Web应用程序的开发都要采用一种或者几种框架技术。JSF(JavaServerFaces)是由Sun公司所倡导的技术,它的目的是为开发Web应用用户界面提供一个标准框架。JSF体现了MVC模式把业务逻辑和表现逻辑相分离的思想,是一种可以开发富有表现力的用户界面的Web应用服务器端技术。它提供了一种以组件为中心来开发 JavaWeb用户界面的方法,从而简化了开发。由于JSF是通过JCP(Java Community Process)制定的一种Java标准,因此开发工具供应商完全能够为JSF提供易于使用的、高效的、可视化的开发环境。其中MyFaces就是较为流行的JSF实现之一。在业务逻辑层组件开发的过程中,对于数据库中实体的操作是通过Java对象来实现的,当实体对象在内存中创建后,它们不可能永远存在。最后,它们要么从内存中清除,要么被持久化到数据库中。内存无法永久地保存数据,因此必须对实体对象进行持久化。一旦实体对象被持久化,它们可以在应用再次运行时被重新读入到内存,并重新构造出实体对象。那么就必须对数据库中的关系表与Java对象进行对象/关系映射。Hibernate是一个面向Java环境的对象与关系数据库映射工具,它是Java应用和关系数据库之间的桥梁。Hibernate提供了强大、高性能的对象到关系数据库的持久化服务,它不仅仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。Hibernate不仅提供了从Java类到数据表之间的映射机制,也提供了数据查询和恢复机制。相对于使用JDBC和SQL手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用SQL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。此外,它是一个开源的代码,提供开放的API,使用者也可能根据需要进行扩充。Hibernate可以和多种web服务器或者应用服务器良好集成,如今己经支持几乎所有的流行数据库服务器,例如Tomcat,WebLogic等。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够为各种底层事务管理技术提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务。1.2研究意义应用于Web层的开发主要有Struts和JSF架构,Struts是Apache基金会Jakarta项目组的一个 OpenSouree项目,它采用了MVC(ModelView-Controller)模式。MVC模式利用控制器来分离模型和视图,达到一种层间松散祸合的效果,从而减弱了业务逻辑接口和数据接口之间的祸合性,提高了系统灵活性、复用性和可维护性。但是Struts所扩展的JSP标签有限,用户界面表现能力较差,很难满足快速高效的开发web层组件的需求。JSF框架技术具有良好定义的请求处理,目的在于推动基于Java的Web用户界面开发的简易性。JSF可重用、可扩展、基于组件的用户界面框架,在快速开发工具的支持下,可以通过拖放组件的方式对Web用户界面进行可视化编辑,将用户界面上的组件与一个数据源绑定,并将客户端用户界面产生的事件交给服务器端处理,从而大大降低基于Java的Web应用的开发难度,提高开发效率。因此,JSF框架很好的解决了Struts用户界面交互的问题。Java对于业务逻辑中模型组件的操作通常通常通过Java类实现,同时需要对象/关系映射 (Object Relation Mapping)用来把对象模型表示的类映射到基于SQL的关系型数据库中去。EJB组件技术提供了容器管理持久(CMP)模型完成对象/关系的映射,但需要庞大的EJB容器的支持,EJB标准的复杂性同时增加了开发的难度。 Hibernate是一个面向Java环境免费的对象/关系数据库映射工具,它对JDBC进行了非常轻量级的封装,使得Java程序员可以随心所欲地使用面向对象编程的思维来操纵数据库,可以在用EJB的J2EE架构中取代CMP完成数据持久化的重任。集成JSP框架和Hibernate框架既能实现web层页面代码和功能代码的分离,又保证了在业务逻辑层有良好的对象/关系映射机制实现数据库的操作,对于web应用系统的开发有几个主要的优点:1. 实现了程序员和网页设计人员的分工。JSF框架为网页设计人员提供了一套标准的UI组件,在工具的支持下,可以通过拖放,简单地添加到网页上,然后设置某些显示属性来满足视觉要求。网页设计人员不需要知道UI组件背后的复杂代码,那是程序员的事,而程序员也不需要再处理任何与视觉相关的细节,程序员所做的只是给UI组件绑定类的属性或方法。虽然程序员和网页设计人员需要修改同一份文件,但他们各司其职,各得其所,互不干扰。程序员和网页设计人员工作的明确划分,是JSF在易用性方面迈出的一大步。2. 实现了用户界面到业务逻辑的直接映射。HTTP请求需要经历解码、类型转换、有效性验证、状态保存、数据更新等环节,处理这些环节的所有细节,对程序员来说是沉重的负担。在JSF下,这些工作的很大一部分都由框架承担了,在程序员看来,这个过程是透明的,用户界面端的HTTP请求可以直接映射到后端的一个事件处理例程,JSF起到了承前启后的作用。3. 实现了系统的可重用性、可扩展性。JSF和Hibernate框架都是开放的体系,利用JSF和Hibernate开发的组件也能够被其他的应用程序调用,并且用户完全可以根据需求定制自己的用户界面组件、事件处理器、数据校验和转换组件等,这些组件和JSF和Hibernate框架提供的标准组件一样是可重用的。4. 实现了系统的稳定性、可维护性。JSF和Hibernate技术是对于JSP、Servlet、JSTL、JDBC等技术的扩充,所以通过JSF和Hibernate构造的应用程序能够在J2EE应用服务器中良好运行,并且它们是通过标准的配置文件来进行可维护性。1.3论文结构本文主要结构安排如下:1. 第一章绪论。主要介绍了本文的研究背景,论文的研究意义以及说明了论文的组织结构。2. 第二章系统总体设计。简要地对系统进行了描述了,分析了系统需要达到的要求,从应用、技术、物理、安全等多个方面对系统的架构进行分析。3. 第三章业务描述及功能说明。主要描述了我所完成的资产保全业务管理系统中抵债资产处置模块的功能需求及业务要求;并详细的对整个模块的功能流程进行了说明。4. 第四章系统相关构架简介。主要描述了J2EE平台,对其体系架构进行概述,简要介绍了一些J2EE的技术。还对系统中主要应用的3个框架:JSF、Spring、Hibernate及相关技术进行了介绍。5. 第五章模块详细设计。从数据模型、持久化层、控制层、表示层等多方面描述了模块的详细设计。通过实例分析了JSF+Spring+Hibernate的组合的优点。第二章 系统相关框架简介2.1J2EE2.1.1什么是J2EESun Microsystems公司在1996年推出了一种新的纯面向对象的编程语言,命名为Java。Java技术已成为20世纪软件业界出现的最重要的技术之一,这种与平台无关的编程语言的出现,立刻掀起了软件工业的一场革命,如今已是互联网上最为流行的编程语言。Java是一种通过解释方式来执行的语言,其特点为:简单、面向对象、不依赖于机器的结构,具有可移植性、鲁棒性、安全性,并且提供了并发的机制以及与现代网络技术的完美结合。J2EE是使用Java进行企业开发的一套扩展规范,它提供基于组件设计、开发、部署和管理企业应用的解决方案。J2EE规范必须基于J2SE平台,它不仅巩固了标准版中的许多优点,例如“一次编译、随处运行”的跨平台特性、方便高效的数据库提供无缝连接的技术JDBC(Java Data Base Connectivity,Java数据库连接)、能够在Internet应用中确保数据完整性的安全模式以及支持多线程技术等,同时还针对Servlet/JSP、EJB、JMS、JTS/JTA、JCAT和XML等技术提供了全面的支持。J2EE已建立了一套能够使企业级应用开发者缩短软件产品开发周期的标准架构体系。事实上,J2EE已成为企业级开发的工业标准和主流平台。J2EE为建立具有高可用性、高可扩充性、易维护性的企业级系统提供了完美的机制和架构模型。在J2EE提供的统一开发平台下,可以大大降低开发多层应用的成本和复杂性,对于需要获得高可用性、高安全性以及高可扩充性软件服务而又缺乏资金的企业来说,J2EE的中间层集成框架完全可以胜任并满足其要求。同时,J2EE自身具备的完备的目录服务支持、高度的安全机制、高效的性能展现等众多优势技术,为企业平滑集成已有应用系统发挥了巨大作用。基于J2EE的企业级应用系统,不受任何特定操作系统、网络环境、硬件平台的束缚。应用系统可开发并部署在异构的环境中,并能确保系统的可移植性。因此,只要符合J2EE规范的系统开发一次即可部署到各种操作系统平台和网络平台上。J2EE作为长期的性能稳定的企业级应用系统平台,能保障724小时的不间断服务,以满足企业客户、合作伙伴的需要,是企业理想的运行平台也是Internet全球化发展的客观必然要求。J2EE采用负载平衡策略,使系统软硬件资源利用率及性能表现最大化,消除了系统中的瓶颈。允许多台服务器集成部署,实现可高度伸缩的系统,在保存企业现有IT资产减少重复性投入的同时也满足了未来商业应用的需要。2.1.2J2EE体系架构概述J2EE使用多层的分布式架构模型,模型由组件组成,应用程序的逻辑根据功能划分被封装在各组件中。由于是采用分布式架构,J2EE应用中的大量组件部署在不同的机器中,通常这些机器具有不同的物理地址。J2EE架构一般分为4层:客户层、Web应用层、企业组件层(业务层)、企业信息系统层。图2-1描述了J2EE架构中典型的多层应用架构模型。图2-1 J2EE架构的多层应用模型一个J2EE客户层软件可以是基于Web的,也可以是基于Application(应用)的。Web客户端由Web应用层的Web组件动态生成Web页面,主要是HTML文件和XML文件。客户端用户在使用J2EE服务时,无需安装多余软件,只要计算机上装有一个Web浏览器即可,如MS Internet Explorer、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应用开发的基础。它完全用Java语言开发,是Java平台上的CGI技术。它运行于服务器端的J2EE容器中,具有很高的效率,能够动态地加载,动态地生成Web页面。Servlet擅长于流程控制和事务处理,提供的扩展服务功能可为企业定制灵活的开发策略。Web应用层主流的服务器有:Tomcat、Resin等。企业组件层中主要是负责处理企业的业务流,并且将相关的业务逻辑封装在Enterprise JavaBeans中。这一层提供了EJB的开发、部署和运行时管理环境。每一个EJB都是一个可重用的组件。EJB架构定义了3种Enterprise JavaBean类型:会话Bean、实体Bean和消息驱动Bean。其中,会话Bean又分为有状态会话Bean和无状态会话Bean。实体Bean可以进行自行状态管理,也可以交由EJB容器进行管理,两种方式都为了完成实体Bean的持久性。消息驱动Bean始终处于无状态。三种类型的Enterprise JavaBean有着不同的生命周期。企业组件层采用的主流服务器有:Weblogic、JBoss、Sun Application Server、WebSphere,等等。企业信息系统层的特点是有数据库系统的支持。企业信息系统软件主要包括企业内传统信息系统如财务系统、CRM系统、数据库系统和ERP等。2.1.3J2EE主要技术l Servlet技术Servlet是Web应用开发的基础。它完全用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服务器上,是由客户端调用的非可视化远程对象。EJB拥有一系列协议,允许自身被远程访问或在特定服务器上进行安装或部署。允许将服务安全性、事务行为、并发性(支持多个客户端同时访问的情况)和持久性(其状态的生命周期)的主要方面授权给 EJB 服务器上其所在的容器。EJB提供的事务机制非常周全,但事务机制带来的缺点是性能的降低。EJB支持分部式应用系统。在EJB中定义了三种不同类别的Enterprise Bean:会话Bean、实体Bean、消息驱动Bean。EJB的完整执行过程为:客户端通过JNDI检索Home对象的引用,JNDI返回Home对象的引用,请求创建一个新的EJB对象,创建EJB对象,返回EJB对象,调用相关业务逻辑方法,调用Enterprise Bean。一般J2EE应用服务器都是EJB服务器,比如:Weblogic、Jboss、Sun Application Server、WebSphere等。l JMS技术Java Message Service,Java消息服务。JMS是J2EE平台的重要组成部分。它是一组标准Java应用接口,可以在各种企业通信系统间使用,提供创建、发送、接收、读取消息等服务。为确保Java应用能够和各种消息中间件进行异步通信,JMS定义了一组公共的应用程序接口和相应语法来满足开发需求。通过使用统一的JMS接口集,开发人员可以无须掌握消息产品的使用方法,就来编写和操纵各种消息中间件。JMS支持点对点、发布/订阅式的异步消息通信机制,并能够最大限度地提升消息应用的可移植性。l JNDI技术Java Naming and Directory Interface ,简称JNDI。J2EE应用程序组件通常分布在不同物理地址的机器上,所以需要一种机制以方便客户端使用者查找和引用J2EE组件及企业系统资源。在J2EE体系中,使用JNDI技术定位各种对象,包括EJB对象、数据库驱动对象、JDBC数据源对象及消息连接对象等。JNDI函数库为应用程序提供了一个统一的接口来完成规范定义的目录操作,如通过对象属性来查找和定位该对象。2.2JSF(JaveServer Faces)2.2.1什么是JSFJSF是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广大 Java/Web 开发人员的兴趣。“企业开发人员”和 Web 设计人员将发现 JSF 开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员”将发现丰富而强健的 JSF API 为他们提供了无与伦比的功能和编程灵活性。JSF 还通过将良好构建的模型-视图-控制器 (MVC) 设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于 JSF 是通过 Java Community Process (JCP) 开发的一种 Java 标准,因此开发工具供应商完全能够为 JavaServer Faces 提供易于使用的、高效的可视化开发环境。2.2.2JSF 体系结构l JSF的MVC实现JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Faces”servlet(控制器)来处理。图2-2 JSF的MVC实现示意图l JSF的生命周期Faces Controller servlet 充当用户和 JSF 应用程序之间的纽带。它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流)的范围内工作。例如,一收到访问 JSF 应用程序的初始 Web 请求,Faces Controller servlet 便通过首先准备 JSF 上下文(存放所有应用程序数据的一个 Java 对象)来处理请求。然后控制器把用户指引到所请求的页面。该页面通常使用简单的表达式语言来处理来自 JSF 上下文的应用程序数据。一收到后续请求,控制器就更新所有模型数据(假设输入了新数据)。JSF 开发人员可以通过编程的方式在应用程序运行期间随时访问整个 JSF 生命周期,从而可以随时对应用程序的行为进行高度控制。l JSF的用户界面组件JSF的真正威力在于它的用户界面组件模型。在该模型中,应用程序完全用组件集合构建,这些组件可以针对多种客户端类型用不同的方式来进行显示。与其他专有技术(如 ASP.Net)有点类似,JSF 的 UI 组件模型技术使开发人员能够使用预先构建的用户界面 (UI) 组件来构建 Web 用户界面(而非完全从头构建用户界面),从而提供了前所未有的开发效率。JSF UI 组件有多种形式,可以简单到只是显示文本的 outputLabel,或者复杂到可以表示来自数据集合(如数据库表)的表格化数据的 dataTable。JSF规范在其参考实施中提供了一组基本 UI 组件,这些组件本身是非常有用的。它们包括两个组件库,即“HTML”组件库 它大部分映射了标准的 HTML 输入元素;以及“核心”库 它辅助常见的应用程序开发任务(如,国际化和验证/转换输入数据)。除了提供一个基本 UI 组件库之外,JSF API 还提供了扩展和创建定制 JSF UI 组件的功能,从而在基本组件之上提供更多功能。2.3SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。2.3.1Spring框架Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图2-3所示。图2-3 Spring框架的7个模块组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:l 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。l Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 l Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。l Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。l Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。l Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。l Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。2.3.2IOC与AOP控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。下面列出了 IOC 的一个实现模式。l 类型 1 服务需要实现专门的接口,通过接口,由对象提供这些服务,可以从对象查询依赖性(例如,需要的附加服务) l 类型 2 通过 JavaBean 的属性(例如 setter 方法)分配依赖性 l 类型 3 依赖性以构造函数的形式提供,不以 JavaBean 属性的形式公开Spring 框架的 IOC 容器采用类型 2 和类型3 实现。面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。2.4Hibernate2.4.1ORM对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。2.4.2Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。图2-4 Hibernate框架2.4.3HQL简述Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此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系统概述资产保全业务管理系统一期(Special Asset Resolution Management System)(简称SARM)自2006年全行推广上线后,在控制不良资产风险、规范资产保全业务流程、提高工作效率等方面发挥了重要作用。随着资产保全业务的发展及处置手段的创新,以及业务授权的调整,原系统已不能满足全部保全业务的需要。为满足资产保全新业务(如代理资产、已核销资产)的管理要求,同时实现资产证券化等创新手段的流程处置,及为解决一期系统使用中存在的问题,启用资产保全系统项目二期开发(以下简称SARM)。l 功能上SARM将在SARM的功能基础上,根据行内业务系统统一规划,调整、新增与相关系统的接口;完善各类不良资产的处置审批流程;根据新授权调整系统权限设置及处置方案;优化系统各模块功能,使其能适合业务发展需要;优化界面、统一界面风格,简化用户操作;完善报表和灵活查询等功能。l 业务上SARM将在SARM形成的业务平台的基础上,针对一期的不足和缺陷,强化以客户(资产)为中心,完善业务审批流程,优化基础管理功能,增强操作界面向导功能,建立一个覆盖资产保全所有业务、满足全部业务处置流程的综合性业务管理系统,将SARM系统打造成为专家型、向导型业务操作平台的精品系统。SARM项目将继承SARM的架构和部分功能,将对公不良信贷客户、合同、抵质押物信息整合到CLPM数据库中。在技术架构上增加对CLPM数据库的直接访问。同时,结合资产保全的业务性质,将系统分为以下功能模块: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 浏览器客户端l Web服务器l 应用服务器l 数据库服务器及其他外部系统用户通过浏览器访问系统,发起操作请求,服务器端的应用逻辑处理请求并将结果返回给浏览器。为了维护和部署的方便,不在Web服务器上部署任何应用程序,系统的应用逻辑都运行在应用服务器的J2EE容器内。在客户端使用HTML和Javascript、Ajax技术进行交互,并且兼容IE浏览器。在服务器端,系统应用构建在标准的J2EE平台之上,并且与ODS、CLPM、CID等外部系统集成完成相应的业务逻辑。系统应用在设计和开发中引入了下列成熟的框架:l UAAP:总行推行的统一的用户管理和授权认证系统,SARM二期的业务用户统一经过UAAP的认证和授权后才能进入本系统l JSF/MyFaces、Ajax:作为表现层框架,负责接收请求,分发请求,界面显示及响应等l Spring:作为应用的IoC Container,负责管理Bean之间的引用依赖关系,同时利用AOP机制,提供企业级服务,如事务控制、安全控制、数据访问等l Hibernate:作为对象/关系映射(O/R Mapping)的框架,负责处理对象模型与关系数据库的交互系统内部根据关注点的不同进行职责的细分,包括以下5层:l 表现层,主要包括JSP页面文件及其对应的BackingBeanl 业务控制层,主要包括各类UCC组件l 业务逻辑层,主要包括各类Service组件l 数据访问/集成层,主要是各类DAO、Adapter等l 公共/基础层,包括日志、异常、消息、事务等公共服务系统引入了下列软件产品或组件:l Oracle数据库:提供统一的数据存储服务;l Cognos报表工具:提供报表的制作、部署和运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东深圳市光明区面向市内选调公务员10人笔试考试备考试题及答案解析
- 2025下半年广东肇庆四会市教育系统招聘教师55人(第一轮编制)笔试考试参考题库及答案解析
- 2025年青岛平度市中医医院 (青岛市海慈医疗集团平度院区)公开招聘高级人才(7人)笔试考试备考题库及答案解析
- 2025山东省立第三医院急诊医学科院前急救医师招聘笔试考试备考试题及答案解析
- 2025贵安新区康桥食品有限公司仓管专员招聘笔试考试备考试题及答案解析
- 2025贵州安顺市关岭德艺高级中学教师招聘27人笔试考试备考题库及答案解析
- 2025云南临沧高新技术产业开发区管理委员会公益性岗位招聘4人笔试考试备考试题及答案解析
- 直线与平面垂直+课件2024-2025学年高一下学期数学人教A版必修第二册
- 2025海南三亚市人民医院四川大学华西三亚医院(考核)招聘事业编和员额制卫生专业技术人员招聘(第1号)考试笔试备考题库及答案解析
- 2025聊城市东元物产有限公司招聘考试笔试参考题库附答案解析
- 2025年国企央企笔试题库及答案
- 老年人医疗需求调查报告
- 收缩衣架创新创业策划书
- 肠梗阻教学查房培训课件
- 安全吃药教案课件中班
- 2025年河北省健康体检主检医师题库
- 2025年气垫粉底市场调研:持久遮瑕需求与控油效果分析
- 12S522混凝土模块式排水检查井图集
- 人教版英语九年级unit12全单元课件
- 高血压脑出血的外科治疗课件
- 回转窑拆除方案
评论
0/150
提交评论