J2EE的企业资产管理系统网上采购模块的设计与实现.docx
J2EE的企业资产管理系统网上采购模块的设计与实现随着经济一体化进程的加快与互联网信息技术的飞速开展,企业的信息化的步伐也逐渐加快,从通常的手工操作到办公自动化套件的广泛应用,再到各式各样企业管理平台的大量实施,以及将来向1.体化的方向进展,我国的企业信息化经历了一个技术化层面从低到高,集成化程度从分散到集中,管理理念不断更新,管理方式逐渐走向成熟的过程。期问涌现出许多优秀的管理平台,资产管理系统(EAM)就是其中比较有影响力的一款。EAM系统下的采购管理作为供给越管理的一个重要环节,日渐显示出其重要性。要想在信息化的浪潮中提高企业竞争力,建立一套适合企业开展的资产管理系统势在必行,而其中网上采购模块是其中的一个重要角色。本系统基于B/S模式,采用应用广泛的J2EE开发平台、设计与实现了EAM资产管理系统,满足了企业管理信息化的密求。系统分为四个模块:网上采购、资产核查、资产申请申报.系统管理。其中网上采购管理模块目录管理、信息发布、报价系统构成。本文国院设计与实现EAM采购管理系统,首先对采购管理系统的流程进行了详细分析,以及各个模块与网上采购系统的关系,明确了需求:然后根据采购管理系统的常求分析,设计了采购管理系统的总体与详细架构,并在此基础上设计了相应的数据库;最后展示了采购管理系统的运行效凫关键词:J2EE,EAM,Stmts,MVC,采购管理系统,ABSTRACTWiththerapiddeve1.opmentoftheeconomicg1.oba1.izationandinforma1.iontcchno1.ogysuchastheInternet,computertechno1.ogyandnetworktechno1.ogy,companiesacce1.eratethepaceofinformationization.Fromusua1.manua1.toextensiveuseofofficeHUIanationsoftware,tothekindsofvariousenterprisemanagementp1.atform*SiKp1.ementationandfuture*Sdirectionoftheintegrationprogress,ourcountry,Sinformationizationof:«:panyintechno1.ogyve1.from1.o<tohightthedeHofintegrationfrondecentra1.izedtocentra1.ized,deve1.opmanagementtheoriesandmanagementmodemovetomaturity.Duringtheemergenceofmanyexce1.1.entsystem,EAMisoneofthemoreinf1.uentia1.EMprocurementmanagementasanimportantpartosupp1.ychainmanagement,itisincreasing1.yi三por.nt.Inordertnimprovingthe>>nj>ttitit.>frr.:tsub1.ishingprocuremt?ntmanagementsystemBhichadapttoenterpriseisi三porative.ThispaperbasesonB/Ssystem,adoptJ2EEdeve1.opmentp1.atform.designandiBp1.ementa1.1EAMprocureaentmanagementsystem,achievetheenterpriseprocurementmanagementinfonationrequirements.TheEAMprocure三entma11agrentsysteinvo1.vefoursub-w>du1.esre1.ated,suchasprocurementmodu1.c.三atcria1.schockmodu1.e,purchaseordermodu1.e,systemmanage三odu1.c.Andtheprocurementmodu1.edividedinto3specificmodu1.es.ThepaperfocusesonCata1.oguemanageModu1.e,InfoiikitionModu1.e,PriceReportingModu1.e.Then,withtherequire三entsofEAMprocurementmanagementsystem,WedeterminethearchitectureofIhCsystem,functiona1.designing,andschemeoutthedatabases.At1.astthepaperdemonstratestherunti三eeffectivenessofsomemodu1.es,conc1.udesthecharacteristicsand1initationsofthesystem,andpointsouttheprospectoffuturework.KeyWords:J2EEEAM.Struts.MVC.ProcurementManageeentSystem第1章引言.选题的目的和意义企业从采赌、生产.销售到全面琼算,处于一不迅遑变化且难于预测的买力市场,为了提高竞争力,需要采取更加先进的制造技术与管理方法,做出快速哨应。而实现按期交费,满足客户的窜求,第一个环节就是采购.国此,采购作为企业运作的核心环节,共地位举足轻重.采购工作为了企业生产与管理,以及时、按质与按量的要求供给所需的物资,以最小的物资储研到达最正确的供货状态。防止物资的软压与缺料对于一个企业来说至关重要。因此,有必要创立可以集成在EAM的杲购管理系统,以适应电子商务时代企业开展的需要.该采婶管理系统是E仙系统中物流、生产流、资金流中沏流与资金流的更要组成局部,在保障信息在不同部门之间的正常流动,按时交货与降低本钱起着重要作用。本EAM系统面向中小型制造企业、莹用于多行业的、E根抠具体业务需求进行功能裁减并支持企业业务流程重组。并在广州、珠三角乃至全国制造企业中推广应用,逐步实现产业化.机械制造业主要通过就原材料的加工,改造与组装成为市场所帝要的产品.主要包括机械如工、机床加工与级共性行业.其中涉及的工业镇城主要有机械设备、汽车、造船、飞行器、机车与日用器具等等,1.2 企业资产管理系统的开展状况工业开展经历了从手工作坊到机械化.自动化再到集成化的变迁,因此各个时期的检修方式也阳之不断更新和开展.从息体上看,可分为以下几个阶段:第一阶段:事后维修而预防性维修(从18世纪第一次产亚革命到20世圮初).事后维修是指当设多发生世漳时进行的非方案性维修,慎防性维修即实施定期的点枪及早期维护。第二阶段:姣济检修(从20世纪初至80年代),随着科学技术的开展,检修力式也变的多种多样,于是就产生了以节约本钱为宗旨的琮合检修力式。即将各利一检修方式根据需要,有机地结合在一起的检修方式。其显著的特点是设备现代化、管理现代化。箫三阶段:状态和强知维修(从20世纪80年代至今).依*盟和设备,对设备运行状态的进行监控,然后做出维修决策.通过这种力式,可以大大减轻专业维修人员的工作量,不仅如比,运行人员也可以通过监测设各参与检修,及时调整设备运行状态,以雄护设备的正常高效运转。机观设备维修的开展史,我们可以发现,每一中设备维修方法的诞生,都是伴殖着科学枝木的进步应运而生的,在科学技术低下的初期,因为没有先选的设备管理系统.说各维修只能依靠事后维修的方式进行:图者符学技术的开展,首先出现的更低层次的设备管理系统,只能时设备进行期单的管理,所以可以制定出一定的维修方案和设备的维修周期,进行颈防性维护:到了设备维修的笫三个阶段,恰逢信息技术飞速开展的时代,先进的管理系统,就可以使经济维修成为可能:和了今天.殖着其他技术,例如装测技术的飞速开展,笠律系统可以实时此控设备的运行犹态,这就可以根据设备的实时状态进行f防性维修。正是生于当今设备维修开展的需要,一会先进的,融合最新技术的设备管理平台就显得尤为重要,而企业资产管理系统(EAY)就是在这个背景下诞生的。EAM的前身是QIMS(ComPUteriZedMaintenanCeManagementSystem:计算机化的设备维护管理条统)。CMMS更多倒IE维修管理,包括于页防性、预测性维修方案,从系统的应用范囹来看,OWS更多停曲在部门级的水平.EAM系统巳经在管理的广度和深度上提高到整个企业圾,甚至是.多企止的管理,EAY系统支将多组织管理。在这样的管理犊式下,充分保存了各分公司百身的管理郁点,并在济要时互相方便地交换信息和共享流程。这样的EAM系统将帮助管理决策层方便、及时、完孩的了解下属企业的运营状泥,特别是可以直援在系统中直接对下属企业、部门、系统或其遏合模式迸行预算控制,以此帮助跨国公司.集团企业全局掌控和管理费产.最大程度降低管理本钱,实现企业价值最大化.IT技术的应用同时,EAM帮助企业把实现企业设备舆产管理的战略目标变得更加灵活和简单.趋着计算机、数据库,尤其是InIernet的广泛应用,EAM系统也从过去QfttS可以单机安装开展到今天的同络化运行.任何地点,任何时间,用户只需要运用标准IrHerneI包电器即可登录系统.荻取实时的管理信息。这样的运作方式同时降低了企业对于IT谀菸投转,以及维护的本钱。全球EAM软件及效劳中场规横早在2000年已超过13亿美金,2005年将达到19亿美金.而对于国内EAM的市场窄阿,各家公司对于具体的数字说法不一,而一致的看法是EAM的增长速质是企业信息产品中开展最快的.1.3 论文研究内容本文对EAM的采购管理系统的各个模块逆行了需求分析,在希求分析的基础上,设计了系统架的,并实现了EAM采购管理模块,满足了企业采购信息化的需求。本文的主要工作有:I.对采购管理系统进行了需求分析。首先,分析了采购管理的总体业务流程与采期管理莓整个EAM系统中的地位:然后.将网上建市管理.资产申请,资金申请功能.详组分析.明确需求。2,设计了系统的总体架拘.总体架构分为视图层、代理层、控制层、模型层与DAo层,设计了系统的总体业务流程和各层处理逆辑。3.设计了系统的详组整为。首先谀计了详细架构通信图与蚊据流:然后分别设计了前台与后台的电辑处理系列图。4,设计了相应的系统数据库。5.对系统模块中的类与接口、页育进行没计与编码.1.4论文结构本文分为6章第1章,绪论。角要叙述了工程背景与开发杲娣管理系统的意义.弓I出了本文主要工作.第2章,系统平台与技术.简单说明了本文涉及的关键技术J2EE、MYC和SSH混架技术。第3章,网上采购槎块需求分析。首先分析了采婶管理的总体目标,然后详细分析了采购管理涉及的各个模块的流程与功能,明确了甯求。第4聿,网上采的模块设计与实现.首先设计了系统的总体架构与原理,辘后设计了系统的详维架为设计与数据库,最后详组说明系统模块的主要类与页面设计.以及说明了系统开发与运行环境,并直观彘现系统周部槿块的运行效果。第5章,总结与展里.对总给了本文.分析了工程的句点与优势、指明了未未工作的切入点。第2章系统平台与技术2.1 MVC设计模式2.1.1 MVC模式的介绍便着WCb开发的不断开展和察要,VVC模式祓推荐并成为SUn公司J2EE平台的设计模式,并且在应用中受到越来越多的开发者的欢送。ModeI-View-ControI1.er原来是XerOXPARC在八十年代为编程语SmaI1.Ia1.k-80创造的一种应用程序的框架结构,至今已被广泛使用。该框架绪构支持三层绪构的类:表现应用程序状态层、屏幕表现层和控制流层,因此这三层祓称为模式(MOdeD、视图(View)和控制器(Contro1.1.er).MVC是可以满足那些需要为同样的数据提供多个视图的应用程序的开发需要,在开发与用户接口相关,特别是对用户接口要求较复杂的相关的应用程序时,可以偎好地以不同的方式来显示同一数据,也就是在不改变软件功能的前提下,可以实现用户对用户接口的个性化要求,而MVC模式的景大特点就是将业务层与表示层别高,而且提供了很多使显示接口更加个性化的卷标库,所以它镇更好地实现用户接口的各种个性化密求。MVC通常用于分布式应用系统的设计和分析,如:大型商业网站、企业信息系统、管理信息系统、决策支桥系统等,但它本身并不局限于某一个特定的领域。MvC设计模式,最近几年被推荐为S1.JN公司JZEE平台的设计模式,它强制性地把应用程序的输入、处理和粕出分开。它的三个核心痂件分别是模型、视图和控制器,它们各自处理各自的任务:(1)模型(业务专辑层):表示企业数据和业务规则,实现具体的业务逐辑、状态管理的功能。在MVC的三个劄件中,模型拥有最多的处理任务。例如它可能用像EJB和Co1.dFusionCotnpanies这样的构件对象来处理数裾库。被模型返回的数据都是中立的,也就是说模型和数据格式无关.这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用所以减少了代码的重复性。(2)视图(表示层):即用户看到并与之交互的接口,是应用程序的外在表现,通常实现数据的输入和输出功能。对老式的Web应用程序来说,视图就是由RTM1.元素组成的接口,在新式的Web应用程序中,HTM1.依旧在视图中扮演着重要的角色,但一些新的技术也层出不穷,它们包括MacromediaFIaSh和僮XHTM1.XM1./XS1.,WM1.等一些标识语言和WebServices,因此如何处理应用程序的接口变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。(3)控制器(控制层):起到控制整个业务流程的作用,根据用户的输入调用相应的模型和视图去完成用户的需求和相关的操作。具体地来说:控制器本身不输出任何东西和做出任何处理。它只是接受客户的请求并迸一步决定调用哪个模型去处理该请求,并根据处理结果来确定用哪个视图来显示模型处理之后返回的数据.它们三者之间的关系如图3.1所示。方法何用事件图2.1MVC俎件类型的关系和功能2.2StrUt8工程概述StrUtS是APaChe组织的一个工程,像其它的APaChe组织的工程一样,它也是一个开源专案.Struts作为一个设想是CraigRMcC1.anahan于2000年提出的,该设计的目标是为利用Java技术开发基于MVC模式的Web应用提供一个标准模式。基于Struts架构的Web应用程序根本上符合JSPMode1.2的设计标准,是MVC设计模式的一种变形,提供了对开发MC系统的底层支持,它枭用的主要技术是SerVIet、JSPfoCustomTag1.ibrary'aStrUtS.框架是一种基于JaVa的技术,Web应用程序开发人员通过StrUtS柩架即可充分利用面向对象设计,代码重用及“端写1.次,到处运行"的优点。另外,Struts不仅是拥有自己的控制器,同时整合了其它的一些技术来实现模型层和视图层,例如:在模型层,它可以很容易与数据库的访问技术相缎合,包括JDBC技术和EJB技术;在视图层,它能够与JSP、XS1.等组件相结合恁。所以从一定的意义上讲,采用StrUtS来实现基于MVC的Web应用的开发,可以根裾具体的需求来选择设计的复杂程度,具有很好的扩展性。Struts的主要优势功能如下:(I)Struts中包含一个控制器SerV1.et,用来控制用户的请求发送到相应的Aetion对象;(2)在JSP页面中可以选用自定义标签库,并且在控制器SerVIet中梃供关联支持,这样可以帮助开发人员方便怏捷地创立交互式窗体应用;(3)Struts还提供了一系列实用对象:XM1.文件处理,通过JavaRef1.ectionAPI自动处理JaVaBean属性、国际化的提示和消息。2.2.1Struts核心期件S1.rUIS是一组相互协作的类、SerVIe1.和JSP标记,它们组成了一个可重月的MVC设计模式。这个定义表示SIrU1.S是一个框袈,而不是一个库,但同时S1.ruis也包含了丰富的标记库和独立于该程架工作的实用程序类库。Struts通过一些组件类来完成棍架的功能,这些组件包:ActionServ1.et.Action.ActionForm,ActionForward,ActionMiippinge1. ActionServ1.otACCionSerV1.et继承自javax.serv1.et,http.HttpServ1.et类,它在StrUtS中扮演的角色是中心控制器C它提供了一个中心位置来主要负责将Ht1.P客户请求组装后,根据配置文件的指定的描述,转发到适当的处理器,另外,除了作为应用程序的前端控制器外,AetiOnServ1.et实例还负责初始化和去除应用程序的资源。2. Action一个ACtiOn类的角色,就像是客户请求动作和业务逻辑处理之间的适配器,它作为应用程序响应用户请求的动作,将请求与业务逻辑分开。这样用户的请求和ACtion类之同可以有多个点对点的映射。ACtiOn最为常用的方法是execute。,典型的ACtiOn类一般要在execute。方法中实现以下逻辑:(D检查用户SeSSiOn的当前状态。如果SeSSiOn过期或者用户没有登录,要将表示层的页面跳转到用户登录页面;(2)检查用户输入的合法性。调用FornIBean实例的Va1.idateo方法检登一些字段的输入值是否恰当或合法;(3)执行业务操作。调用业务逻辑Bean的相应方法执行用户的业务请求:(4)更新效劳器端的对象。将Mode1.的状态改变通知给View,并返回请求页面。3. ActionForm一个应用系统的消息转移(或者说状态转移)的非持久性数据的存储,通常由Ac1.ionFormBean来负责,它的主要功能是为AC1.ion的操作提供与客户盲体相映像的数据。时于每一个客户的请求,一般要经历如下几个步骤:(1)检查Aciiw的映像,确定配置文件中已经配置了5Ac1.i<xR>rm的映像;根据Name属性查找ctionb,orm的信息;(3)查找,AciiCiFonn的使用范围,确定在此范围下是否存在对应的R>rmBean的实例;(4)假设在当前范围内,相应的FormBean的实例己经存在,而且对当前的请求来说是同一类型的话,就可以重用,否则,就要重新构建一个FonnBCan的实例;(5)调用FormBean的reset。方法:(6)调用对应的SotO方法,对状态属性赋值:(7)如果va1.idated属性值被设置为Irue,则调用FormBean的va1.idaie()方法;如果VaIidH100方法没有返回错误,控制器将AC1.iOnF<>rm作为参数,传给ACtion实例的execute。方法执行。4. ActionForward当Action实例的execute。方法运行完毕后,控制器根据Mapping可以将响应信息转到适当的地方,ACtionForWard的主要功能就是对将要转向的视图的地址的一个封装。转向的各种属性也可以在配置文件中设置性,这样就大大提高了软件的复用性和可维护性。5. ActionMappingActionMapping以Java的形式封装了怎样将一个请求UR1.映射到与其对应的Action的一些信息。ACtionMaPPing对象帮助进行框架内部的流程控制,它们可以将请求UR1.映像到Action类,并且将Action类与ActionEormBean相关联。Struts框架的控制器ActionServ1.et在内部使用这些映射将控制转移到特定的ACtiOn类的实例。2.2.2StrUtS的工作流程采用Struts框袈开发Web应用系统时,在Web应用启动时就会自动地加载并初始化ActionServ1.ei.此时ACIiOnSerVIet将会从StrUtS-COnfig.xm1.文件读取配置信息,并把它们存放到各种对应的配置对象中。当ACtionSerV1.et接受到一个客户请求时,将执行如下流程:(D检索与用户请求匹配的ACtion实例,如果不存在,控制器直接将请求转发给JSP或静态页面;如果有对应的ACtiOn,并且这个ACtiOn有一个相应的FormBean,ACtionForm被实例化并用HttP请求的数据来填充其属性,然后保存在SerV1.CtCOtcnxt中,以备其它ACtion对象或JSP调用O(2)控制器根据Struts-Config.xm1.的配置信息将请求切换到具体的Action,对应的相关的FormBean的信息也一起发送给Action类的execute()方法。(3) Action的execute()方法返回一个ActionForward对象,控制器ActionServ1.et再通过该ActIonForward对象来进行转发工作。(4) ACtiOn根据业务处理的不同结果返回一个相应的目标响应对象给总控制器,这个目标响应对象可以对应一个具体的JSP页面或者是另外一个ACtiOn。(5) 总控制器ACtiOnSerVIet根据业务功能ACtion返回的目标响应对象(多数情况下,该响应目标是一个JSP页面),将HttP请求转换到该目标响应对象中,进一步将结果页面展现给用户。2.2.3StrUtS根架实现,IiVC模型S1.rU1.S实质上就是JSPMode1.2的基础上实现的一个MVC模式框架,MVC设计模式为构建可扩展、可重用的体系结构打下了很好的基础,该设计模式需要用户将臼己的代码抽象出来.把工程在一定的程度上分解为表示,逻辑和控制三局部,每局部之间的关系相对校小,以便使得软件绪构更加灵活,并具有较好的可重用性和可扩展性。在StrUtS框架中,模型一般有实现业务逻辑的JaVaBean或EJB组件构成,控制器由ACtionSerV1.et和ACtion来实现,视图由一组JSP檎构成,StrUtS实现的MVC框架如图3.4所示。图2.2StnaS实现的YVC便里StrUtS是APaChe组织的一个工程,提供了一个实现MVC架构的高度自动化的方式,作为一个VVC的框架,StrUtS对Mode1、VieW和COntrOUer都提供了对应的实现组件:(D控制器(ContrO1.Ier):控制器的作用是从客户谓接收请求,并且选择执行相应的业务袤辑,然后把响应结果送回到客户端。在Struts中Contro1.1.er功能由ActionServ1.et和ActionMapping对象构成。ActionServ1.et是MVC设计模式的决策控制局部,也是Struts框架的核心。它根据ActionMiipping把Http消息形式的用户请求转换成相应的应用程序的动作。ACtiOnSerVIet还负责用相应的请求参数填充ACtionFOnn(通常称之为FOnnBean),并将其传给对应的动作类(通常称之为ActionBcan)动作类Action来实现核心商业逻辑.它可以访问JaVaBean或调用EJB.最后动作类指向相应的JSP幡.最终生成相关的视图。ActiOiiServ1.et包括一组基于配置的ActionMapping对"象,每个ActioMapping对象实现了一个请求到一个具体的Mode1.局部中Action处理器对象类之间的点到点的映像。ActionMapping中有Action对象的名字和地址的描述,当有请求传入COnIro1.Ier时,它把请求的路径映像到Action的地址,并把请求传给那个Action类。ActionMapping类也包括一些程序中可能的唯一的信息,例如本地变量,特定环境数据,或者UR1.。模型(MOde1):表示应用程序的状态和业务逻辑,MVC系统中的Mode1.局部从概念上可以分为两类:系统的内部状态和改变系统状态的动作。Struts为Mode1.局部提供了Action和ActionForm所有的ACIia1.处理器对象都是程序开发者从SIrUIS的Ac1.iOn类派生的子类,并对其中主要的方法迸行覆番。Action处理器对象封装了具体的业务处理逻辑,处理具体的业务逻转操作,并且把响应提交到适宜的YieW组件以产生响应。StrUtS提供的ACtiOnFonn组件对象,可以通过定义属性描述客户端窗体数据°我们可以从它派生子类的对象,利用它可以实现对客户端的窗体数据的良好封装和支持,相应的ACtion处理器对象可以直接对它的窗体数据进行读写,而不再密要和ReqUeSt、ReSPOnSe对象进行数据交互,通过ACtionFOrm组件对象实现了对YieW和Mode1.之间非持久性数据交互的支持.(3)视图(YieWh视图是用户看到并与之交互的界面。Struts应用中的VieW局部是通过JSP技术实现的。StrUtS提供了自定义的标签库,通过使用这些卷标定义的JSP资体可以和Yode1.局榻中的ACtiOnForm的映像,完成对用户数据的相关封装,同时还可以使用这些标签来丰富JSP页面。2.3数据持久技术与Hibernate在采用了StrUtS技术的框架中.StrUtS简化了R'eb层的开发,实现了应用程序的显示逻辑和业务逻辑的别离.使应用程序更趋模块化,应用程序更加容易维护。这种应用程序的根本架构是MVC(Struts)+1.)O(1.)ataAccessObject)+.JDBC+Databases为了进一步地提高代码的可复用性和可维护性,提高开发效率,霜要一个更加有效的架构。因为大多数的应用程序都涉及到的数据库操作,通常数据库表会很多而且关系发杂,如果使用DM)+JDBC访问数据库将会使得莱理过程复杂化,进而带来的是大量的维护工作,特别是层与层之间的稠合性大,表格思性的变动将极大的影响代码的维护,因此需要有一种方便通用的方案来解决这个问题。这里将采用时象/关系映像(ObjectZRe1.a1.iona1.MaPPing)的数据持久化技术来简化煽卷的复杂度,目前实现对象关系映像也已经有一些比蛟成熟的工具,如Caster,JDOGenie,HibernatC等。本文主要应用HibCrnate:在Struts中,不需要太多的代码,它转弱将对象映像到关系数据库中的行,不密要编写复杂的SQ1.谙旬,开发架构也就变成Struts+DAO+Hibernate+Database,毫无疑问使用Hibemate实现持久层是一种有效的选择,它可以大大减少操作数据库的工作量,并且使得系统更加易于维护。2.3.1 Hibemate的概述和种点1. Hibernate假述Hibernate是一种很好的ORM(ObjeetZRe1.ationa1.Mapping)映射工具,支持使用各种Java思想如:inheritance,association.ctnnosition,:o1.Iections等实现的对象。它可以直接映像大局部的JavaBean而不需要做任何修改,即使修改最多也就是在对应的Bean里面加上一些私有访问方法;可以将一个用户定义的多个实例映像到一张表的同一行:还可以用代理模式简化加我类的过程对于使用JDBC和SQ1.手工操作数据库来说,使用Hibernate,可以大大减少操作数据库的工作量.因此使用它,既可以用来在JaVa应用程序中取代大局新JDBC代码,也可以很方便地整合到系统中作为持久层根架。Hibernate使用数据库和配置文件数据未给应用程序提供相应的持久化效劳和持久化的对象PO(PersistentObjects),通过简单地设置配置文件hibernate.xm1.和创立每个数据库表的XmI映像文件,可以省去大量复杂的JI)BC编程,Hibernate可以支持17种数据库,同时它也支持连接池应用。2. Hibernate的特点(I)HibeInate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架.HibQrnatC的特点主要是简单、易用、强大、灵活而且速度够快。HibQrnate可以代替JDBC的编程应用的场合,例如JaVa应用程序中访问数据库局部的代码,DAO模型中接入数据库时的访问代码,甚至可以是BVP里面的访问数据库的代玛。另外,Hibemate拥有自己的功能强大的查询语言(HQ1.),HQ1.与SQ1.非常相似,HQ1.基于SQ1.,但它提供了更加面向对象的封装。(2)Hibernate不同于EntityBeanEntityBean由容器处理大局部的资料完整性、资源管理和并发性功能,因此开发人员只需要关注业务逻辑和数据处理。从软件整体的框架来看"1.iberate不能用于完全替代EntityBeanHibernate和EntityBean都为程序员实现了透明的持久性,而且程序员都不需要关心太多的技术细节"''IHibernate另外也为我们提供了更灵活的事务管理机制,Hibernate使用Session未管理事务,而EntityBean则将事务管理委派给了EJB容器。Hibernate虽然具有自己的事务管理,但是实际上它的事务管理是对JDBCTranSaCtion的封装,或者是对JTATranSaCtiOn的封装.也就是上面提到的,Hibernate是对JDBC的轻量级对象封装。值得注意的是Hibernate的事务管理更加灵活,它可以在JDBCTransactionJTATransaction之间进行选择,默认情况下将使用JDBCTransactione(3) Hibernate是一个和JDBC密切关联的框架,Hibernate的兼容性只与JDBC驱动和数据库有关系,而与JaVa程序或者APPSerVer没有任何关系。(4)灵活的对象-系映像方法,可以实现各种不同类型的映射,而且HibernaIe具有简单易于操作的AP1.接口和丰富的资源配置文文件,这些都使得应用程序的开发更加简单和快捷。3. Hibernate持久化椎架的作用在软件开发过程中引入成熟的持久化实现框架,大大提高了数据库访问层的开发效率,具体表现在以下几个方面:(D可以减少乏味代码的编写。Hibernate持久层框架封装了数据持久层的很多相关的技术细节,例如事物管理、数据库连接管理、SQ1.语句的生成等,使得开发人员可以防止重复的JDBC编程,将精力投入到业务逻辑具体实现中去。(2)更加面向对向的设计.HibCrnat。持久层框架是建立在面向对象的设计思想之上的,而ORM(ObjectRe1.ationa1.Mapping)是HibernatC持久层框架的根本特性,也是HibCrnat。实现面向对象设计的关键技术.ORM为系统面向对象的设计的实现提供了更加自然的实现方式,可以通过ORM将系统中的I)OmainObjeCtS自动映像到各个数据库表,从而在编码过程中只需利用面向对象的方法来处理ObjeCtS的相关属性,而无须对JDBCResu1.tSets中的字段进行分别处理。(3)可以保证更好的性能。Hibernate持久层框架提供了优秀的性能优化机制,如内置的数据库连接池支持、PrePareStatement缓存、数据馈存等。这些对于上层架构完全透明的优化机制的综合使用大大提高了系统的性能。(4)更好的可移植性。基于JaVa的跨平台特性,开发的软件系统可以在不同的操作系统之同切换,但由于数据库之间的差异,系统在数据库平台之间移植并不太容易实现.而Hibemate持久层框架由于其设计上的良好隔离,提供了时不同数据库的良好支持,只需简单地修改其配置文件中的数理库的属性参数,即可实现底层数据库的访换,更好地提高了系统的可移植性,也更好地保护了己有的人力和资源投入。2. 4SPring根架的应用SPring是一个开源施架,它由RodJohnSon创立。它是为了解决企业应用开发的宏杂性而创立的。SPring使用根本的JaVaBean未完成以前只可能由EJB完成的事情。然而,SPring的用途不仅限于效劳器端的开发。从筒单性、可测试性和松耦合的角度而言,任何JaVa应用都可以从SPring中受狂传统J2EE应用的开发效率低,应用效劳器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现WriteOnce及RunAnywhere的承诺。Spring作为开源的中词件,独立于各种应用效劳器,甚至无须应用效劳器的支持,也能提供给用效劳器的功能,如声明式事务等。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案阉。可以说SPring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,SPring并不想取代那些巳有的框架,而与它们无墓地整合。简单来说,Spring是一个一个轻量级的控制反转UOC)和面向切面(AOP)的容器框架:(D轻量:大小与开销两方面而言SDring都是轻量的。完整的Spring框架可以在一个大小只有IMB多的JAR槽里发布。并且SPring所需的处理开销也是微缺乏道的。此外,SPring是非侵入式的:典型地,SPring应用中的对象不依赖于SPring的特定类。(2)控制反转:SPring通过一种称作控制反转(IOC)的技术促进了松犒合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创立或者查找依粮对象。你可以认为IoC与JNDI相反一一像沉着器中查找依糕,而是容器在对象初始化时不等对象请求就主动将依赖传递绐它。(3)面向切面:SPring提供了面向切面编程的丰富支持,允许通过别离应用的业芬逻辑与系烧级效劳(例如审计(auditing)和事务管理)迸行内聚性的开发。应用对象只实现它们应该做的一一完成业务逻辑仅此而已。它们并不负贡(甚至是意识)其它的系统级关注点,例如日志或事务支持。(4)容器:SPring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创立基于一个可史置原型(prototype),你的bean可以创立一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的1。然而,Spring不应该被混清于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。(5)框架:SPring可以将简单的组件配置、泡合成为复杂的应用。在SPring中,应用时象被声明式地组合,典型地是在一个XV1.憧里。SPring也提供了很多基础功能(事务管理、持久化框架集成等等)。所有SPring的这些特征使编程更干净、更可管理、并且更易于测试的代码。它们也为SPring中的各种模块提供了基础支持。第3章网上采购模块需求分析2.1 采购业务程分析整个资产管理系统模块结构如图3T所示.图31资产管理系统模块结构图网上采购功能支持从方案、订单、收贤.收票,到转算的全过程的管理.实现采贿系统的物流,资金流、信息i的统一.通过采购过程中价格管理及事后本钱分析,到达榜定产品质量,降低采婶本线目的。对采购业务中的帐务处理提供支持。采购管理模块与资产核查.费产申报、等模块形成良好接口.采购