已阅读5页,还剩85页未读, 继续免费阅读
(计算机应用技术专业论文)基于ssh架构的多层分级党务管理信息系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 当今,以信息科学技术为先导的社会变革,全面推动着社会的发展,现 代社会进入了以网络信息为中心的信息时代。作为国有大型企业的成都铁路 局,建立以计算机技术、网络技术、现代数据库技术为基础的现代多层分级 党务管理信息系统,不仅是建立现代化企业的需要,也是铁路部门跨越式发 展的需要。 论文结合成都铁路局党务管理工作的实际情况,应用软件开发的原理, 沿着系统分析、系统设计和系统实现展开论述。从j 2 e e 技术出发,首先对 s t r u t s 、s p r i n g 和h i b e r n a t e 框架进行了分析。s t r u t s 是一个m v c 模式的框架, 它将业务代码与视图代码分离开,有效的优化了系统结构,提高了系统的扩 展性。s p r i n g 是一种轻量级的容器,依赖注入动态的使系统各组件间达到松 散耦合,同时能够很好的兼容各种框架。h i b e r n a t e 是一个对象关系数据库映 射工具,提供了j a v a 类到数据表之间的映射,实现了对象与数据库关系之间 的交互,使系统具有良好的性能和移植性。然后在此基础上,以作者参与设 计开发的成都铁路局多层分级党务管理信息系统项目为例,结合s t r u t s 、 s p r i n g 和h i b e r n a t e 的各自特点,将这三种开源框架有效的整合成为s s h ( s t r u t s + s p r i n g + h i b e r n a t e ) 通用架构。其中s t r u t s 主要负责表现层,完成页 面显示、响应用户请求等功能;s p r i n g 主要负责业务逻辑层,完成应用系统 的业务逻辑功能;h i b e r n a t e 主要负责数据持久层,完成对象与数据库的交互 功能。通过整合而成的s s h 架构,充分发挥了s t r u t s 、s p r i n g 和h i b e r n a t e 框架 各自的优势,解决了w e b 应用系统开发过程中由于系统结构复杂所带来的一 些问题。 最后,详细设计并实现了多层分级党务管理信息系统,具体介绍了系统 多层分级、主要功能模块的设计和模块中关键技术的实现以及s s h 架构在系 统组织机构管理模块中的实现。本系统目前已经实际应用于成都铁路局,实 际应用表明,该系统实现了设计目标,性能可靠,取得了令人满意的应用效 果。 关键词架构;多层分级;s t r u t s ;s p r i n g ;h i b e r n a t e 西南交通大学硕士研究生学位论文第1 l 页 a b s t r a c t n o w a d a y s ,t h es o c i e t yr e f o r m a t i o nw h i c hl e db yi n f o r m a t i o nt e c h n o l o g y p r o m o t e s t h es o c i e t yg e n e r a l l y , t h em o d e ms o c i e t yc o m e si n t oan e t w o r k i n f o r m a t i o nt i m e s a sal a r g e s c a l es t a t ee n t e r p r i s e ,t h ec h e n g d ur a i l w a yb u r e a u ( c r b ) b u i l d sam o d e mn t i e rh i b e r a r c h yc h i n e s ec o m m u n i s tp a r t ya f f a i r m a n a g e m e n t i n f o r m a t i o n s y s t e mb a s e d o nc o m p u t et e c h n i q u e s ,n e t w o r k t e c h n i q u e s ,m o d e md a t a b a s et e c h n i q u e s i ti sn o to n l yt h en e e df o re s t a b l i s h i n g m o d e me n t e r p r i s eb u ta l s ot h en e e df o rd e v e l o p m e n to fr a i l w a y a p p l y i n gt h es o f t w a r ed e v e l o p m e n tp r i n c i p l e s ,t h i sp a p e rp r e s e n t st h es t a g e s o fs y s t e mr e q u i r e m e n ta n a l y s i s ,o v e r a l ls y s t e md e s i g na n di m p l e m e n t a t i o n t h i s p a p e rb a s e do nt h es i t u a t i o no fc r bp a r t ya f f a i r sa n de x p l o r e st h er e l a t e d k n o w l e d g eo ft h r e em a i n s t r e a m sw e bf r a m e w o r ks t r u t ss p r i n ga n dh i b e r n a t e w h i c hb a s e do nj 2 e ea r c h i t e c t u r e s t r u t si saf r a m e w o r kb a s e do nm v cm o d e l w h i c hs e p a r a t e st h eb u s i n e s sc o d ea n dt h ev i e wc o d e ,o p t i m i z e st h es y s t e m s t r u c t u r ee f f e c t i v e l y ,e n h a n c e se x p a n s i b i l i t yo fc o m p l e x i t ys y s t e m s p r i n gw h i c h i sal i g h t w e i g h tc o n t a i n e ri sd e s i g n e dw i t hd e p e n d e n c yi n j e c t i o na n dc a nm a k e c o m p o n e n tl o o s ec o u p l i n gd y n a m i c a l l ya n dc o m p a t i b l ew i t ho t h e rf r a m e w o r k a s a no b j e c t r e l a t i o n a lm a p p i n gt o o l ,h i b e r n a t ec a ns u p p l yt h em a p p i n gf r o mj a v a c l a s s e st od a t at a b l ea n de s t a b l i s ht h er e l a t i o n s h i pb e t w e e no b j e c ta n dd a t a b a s e v i au s i n gh i b e m a t e ,c a nm a k es y s t e mh a v eh i g h e rp e r f o r m a n c ea n dp o r t a b l e t h e nt h ep a p e rt a k e st h ep r o j e c to fc r bn - t i e rh i b e r a r c h yp a r t ya f f a i rm i sa s e x a m p l e ,i nw h i c ht h ea u t h o rh a sb e e ni n v o l v e d a c c o r d i n gt h e i rf e a t u r e ,w e d e s i g nt h ec o m b i n a t i o no ft h et h r e ef r a m e w o r k sw h i c hc a l l e ds s hf r a m e w o r k i n t h es s hf r a m e w o r k ,s t r u t st a k ec h a r g eo ft h ep r e s e n t a t i o nl a y e r ,c o m p l e t i n gp a g e d i s p l a y i n ga n da n s w e r i n gu s e r sr e q u i r e m e n t s ;h i b e r n a t et a k e sc h a r g eo fd a t a p e r s i s t e n c el a y e r ,c o m p l e t i n gi n t e r a c t i v ew i t ht h ed a t a b a s e ;s p r i n gt a k e sc h a r g e o fb u s i n e s sl o g i c ,c o m p l e t i n gt h eb u s i n e s sl o g i ca n dm a n a g e m e n to fa p p l i c a t i o n p r o g r a m s b yt h i sw ec a nn o to n l ye x e r tt h ea d v a n t a g eo fs t r u t ss p r i n ga n d h i b e r n a t ec o m p l e t e l yb u ta l s os o l v es o m ep r o b l e m sb r o u g h t b yt h eh i g h c o m p l e x i t yo ft h es y s t e ms t r u c t u r e a tl a s t ,w ed e s i g nt h en t i e rh i b e r a r c h yp a r t ya f f a i r sm i s ,i n t r o d u c et h e n t i e rh i b e r a r c h y ,t h ep r i m a r yf u n c t i o nm o d u l ea n dt h ep i v o t a lt e c h n o l o g y ,a n d m e na p p l yt h es s hf r a m e w o r ki n t ot h i ss y s t e m t h ef 1 t i e rh i b e r a r c h yp a r t ya f f a i r m i sh a sb e e nu s e di nc h e n g d ur a i l w a yb u r e a ua l r e a d y i ti sd e p e n d a b l ea n di t a p p e a r st h a tt h es y s t e ma c h i e v e dt h eg o o de f f e c t k e yw o r d s : a r c h i t e c t u r e ,n t i e rh i b e r a r c h y ,s t r u t s ,s p r i n g ,h i b e r n a t e 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 - 保密口,在年解密后适用本授权书; 2 不保密i 使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:毕酉皱指导老师签名_ = 薪仍t o s 广 日期: 扣7 弓z g 日期: 跏卜毋 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均己在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 以成都铁路局的党务管理工作为出发点,结合实际,以j 2 e e 平台为基础, 设计并实现了成都铁路局多层分级党务管理信息系统。这里“多层”的含义是 从成都铁路局各级党组织机构的行政隶属关系出发,将成都铁路局党委组织部 到各个地方车间党支部,划分为六个行政级别层次,行政隶属关系层次一目了 然;“分级 的含义是指该系统采用b s ( b r o w s e r s e r v e r ,即浏览器和服务器) 模式,通过特定的访问权限控制机制,不同层次不同地理位置的各个党组织机 构的党务管理实现了分级控制,在权限允许的范围内,各级管理员可对本级部 门及其所有下属部门进行相关的党务管理和业务操作,同时又受到上级党组织 的监督。与此同时,该党务管理信息系统内所有大约四千多个党组织机构的电 子党务信息数据,实现集中存放,统一管理,资源共享。 阜酉妓 z 。哆f 多 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 课题研究背景及意义 当今,以信息科学技术为先导的社会变革,全面推动了社会的发展,改 变了社会经济结构,现代社会进入了以网络信息为中心的信息时代。“信息 高速公路”的建设为社会各个行业的发展提供了良好的契机,各种新的网络 和通信技术的迅速发展和应用为“信息高速公路 的建设奠定了基础。全球 信息化、网络化进程正在改变着人们的工作、生活方式,电子商务、电子政 务等概念及其实践得到了越来越广泛的社会认可。党务管理工作作为保证党 的领导和党的建设顺利进行的一系列技术性、事务性和实施性的工作,在经 济建设中显得更加突出和重要。 党务工作管理功能的强化和发展将对党的领导和党的建设产生极大的 推动作用,所以建设适合党务管理工作实际需要的电子党务管理信息系统是 党的领导和党的建设的需要,也是国家经济建设的需要。党的十六届四中全 会通过的中共中央关于加强党的执政能力建设的决定,提出了加强党的 执政能力建设的总体目标,确定了加强中国共产党执政能力建设的主要任务 和各项部署,把加强党的执政能力建设作为党在新世纪、新阶段、新形势、 新任务下党建工作的重中之重。相应地,学术界提出了“电子党务 这一全 新的概念,把“电子党务 建设作为加强党的执政能力建设,提高党的领导 水平和执政水平的重要途径n 】。 新兴的电子党务的发展对传统的w e b 技术提出了有力的挑战。由于党务 管理信息的发布内容严谨,反馈批复权威,内部逻辑复杂,安全性要求高, 开发周期越来越短,这就要求w e b 技术提供足够的复杂度和灵活性以适应电 子党务的需求。现有的w e b 应用技术,例如j s p 等等,大大减轻了w e b 编 程的难度,但是它们存在一个共同的弱点,即显示结构和业务逻辑混杂。这 在很大程度上限制了开发人员的灵活性和开发进度,并且不利于后续的开发 和维护工作,很难满足用户的变化性的需求。 综上所述,电子党务管理信息系统的发展方兴未艾。在现有的w e b 开发 技术中,普遍存在着程序可重用程度低、维护工作繁琐、应变能力较弱等不 足。为了满足党务管理信息系统越来越复杂的需求和越来越高的系统的稳定 性、扩展性和可维护性要求,如何将混杂的结构进行合理的分层以及完成各 层的框架搭建就显得尤为重要。 西南交通大学硕士研究生学位论文第2 页 1 2 国内外文献综述和研究现状 j 2 e e 软件平台在多层w e b 体系结构的设计中,存在着程序可重用程度 低、维护性、兼容性和扩展性差等不足。分层结构和组件复用为解决这些问 题提供了选择:分层结构让系统的功能更加明确,减少了各层次之间的关联 和依赖,让开发人员可以同步工作而不会受到其他人的影响。组件复用是在 分层的基础上,由于层间的耦合性低,独立性强,对于以往成功的案例和功 能重复的组件直接使用,极大的提高了软件的开发效率、缩短了开发周期, 而且在成熟组件的基础上开发,使软件产品的稳定性、兼容性、扩展性都得 到了提高。因此,人们越来越意识到软件重用技术的重要性,设计模式和框 架技术应运而生。开源社区的发展壮大,使开源软件、框架技术更是层出不 穷【2 】o 设计模式和框架技术在整个系统开发中发挥了重要的作用,但从更广泛 的角度说,它们只是在更小的颗粒度上发挥功用。如何组织各个层次、如何 合理选择使用模式和框架技术又将开发人员的关注点提高到整个系统层面 上来。架构技术为这一问题提供了解决方案。架构是软件系统从整体到部分 的最高层次的划分,一般由多个不同领域的框架组成。一个成功的软件需要 有一个成功的架构,它将各个框架技术有机的组织起来,相互关联但又不失 其独立性。软件架构的建立是一个复杂而又持续改进的过程,开发人员不可 能对每个项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通 用的架构方案嘲。 如何在众多的框架中选择建立适合企业应用的架构,并且怎样让各个应 用层无缝连接? 如何整合框架以便让各个层以一种松散耦合的方式彼此作 用而不用管底层的技术细节? 这给软件人员提出了挑战。 具体运用到电子党务平台的建设方面,我国的电子党务平台建设经历了 由理论探讨到初步实践,再到具有明确指导思想的建设阶段,统一的电子党 务系统规划、建设、试点工作己经展开。总的来说,我国的电子党务建设正 在如火如荼地展开,呈现的总体发展趋势是:从党的内部管理的信息化,办 公自动化,到外部的建设党建党务网站,再向具有互动性、实效性、使用性 的一体化信息系统演进,最终形成统一的、综合的、多功能的电子党务平台 的方向发展。国外,特别是英美等发达国家,利用新的信息技术来参与政党 的运作,从9 0 年代初就开始了。发达资本主义国家的政党电子党务建设的 特点主要是突出强化了“沟通”和“服务”职能,善于通过网络来推销政党 的政制理念,吸引更多的支持者,基本不涉及政党的“管理和“领导”功 能的建设1 1 。 西南交通大学硕士研究生学位论文第3 页 1 3 课题来源及主要研究内容 1 3 1 课题来源 成都铁路局人事处和西南交通大学信息科学与技术学院合作开发的成 都铁路局多层分级党务管理信息系统。该项目已经通过了成都铁路局相关部 门的验收,实际应用效果良好。 1 3 2 主要研究内容 1 ) 首先介绍了系统相关技术知识,包括j 2 e e 、m v c 模式、框架的概念。 介绍了s t r u t s 框架,分析了它的m v c 设计模式的实现及其核心组件、 工作流程。接着介绍了s p r i n gf r a m e w o r k 这一多层j 2 e e 应用程序框架, 分析了它的体系结构和核心机制。最后介绍了数据持久层框架h i b e r n a t e , 分析了h i b e r n a t e 的体系结构和运行过程。 2 ) 对成都铁路局多层分级党务管理信息系统进行了分析与设计。进行了系 统的详细功能需求,完成了系统的多层分级、系统数据库、系统结构、 系统架构和系统安全性的设计。 3 ) 详细阐述了成都铁路局多层分级党务管理信息系统的实现,主要包括系 统多层分级权限控制的实现、系统主要功能模块中关键技术的实现和 s s h ( s t r u t s + s p r i n g + h i b e m a t e ) 架构在系统组织机构管理模块中的实现。 4 ) 论文的最后,对全文内容做出了相关总结,并且提出了下一步需要探索 和研究的任务。 1 4 课题创新性 成都铁路局是一个以运输业为主的大型国有企业,管辖川、渝、黔两省 一市5 0 0 0 多公里国有铁路,下属成都分局、重庆分局、贵阳分局、多元集团 公司、达成铁路有限责任公司等单位,下属党组织机构部门众多,上到成都 铁路局机关党委,下到每一个地方车间党支部,一共约有四千多个党组织 机构,各组织机构之间行政隶属关系复杂。如此庞大的党组织机构,到目前 为止,还没有一个全局性的基于网络的党务管理信息系统。 本课题以成都铁路局的党务管理工作为出发点,结合实际,以j 2 e e 平台 为基础,设计并实现了成都铁路局多层分级党务管理信息系统。这里“多层” 的含义是从成都铁路局各级党组织机构的行政隶属关系出发,将成都铁路局 党委组织部到各个地方车间党支部,划分为六个行政级别层次,行政隶属关 系层次一目了然;“分级 的含义是指该系统采用b s ( b r o w s e r s e r v e r ,即浏 西南交通大学硕士研究生学位论文第4 页 览器和服务器) 模式,通过特定的访问权限控制机制,不同层次不同地理位置 的各个党组织机构的党务管理实现了分级控制,在权限允许的范围内,各级 管理员可对本级部门及其所有下属部门进行相关的党务管理和业务操作,同 时又受到上级党组织的监督。与此同时,该党务管理信息系统内所有大约四 千多个党组织机构的电子党务信息数据,实现集中存放,统一管理,资源共 l 早。 下面以党费报表审批为例进行说明: 成都铁路局党委组织部处于整个流程环节的最顶层,负责制定出相应政 策、计划下发到各基层,党费决算报表则由基层单位来填写完成并向上级部 门提交,等待上级的审核与批复。 目前,成都铁路局相关部门的大多数应用软件系统都是c l i e n t s e r v e r 形式 的两层结构。下级部门党费凭证单和党费决算报表的申报仍然主要以纸质形 式,通过人工填写后邮寄送递的方式实现,一部分电子文档资料则通过私人 电子邮件或者邮寄光盘的方式实现送递,整个过程缺乏统一管理,操作漏洞 很大,安全性难以保证。上级部门收到报表后,各类汇总管理以人工操作为 主,有简单的计算机管理软件辅助计算,有些报表申报需要按行政隶属关系 逐级上报、审核和汇总。这个过程中,上下级部门和各个有关单位及个人之 间收集和交换信息的速度很慢,最终成都铁路局党委组织部完成一次年度党 费报表统计工作,往往要花费一个多月的时间。而且各级部门之间信息交流 少,信息渠道不畅通,工作不易协调,特别是当上下级部门间党费凭证单汇 总数目出现不一致,要从繁多的纸质党费凭证单中查找出出错条目的时候, 将浪费大量的时间和人力物力。 多层分级的党务管理信息系统的实现,一改成都铁路局以往的传统工作 模式,极大的提高了相关部门的工作效率。通过成都铁路局良好的内部网络, 系统内的各个党组织部门都可以向自己的上级部门提交电子党费凭证单和 党费决算报表,等待上级部门的审核与批复;同时也可以作为上级,在权限 允许的范围内,完成对全部所属下级部门提交上来的电子党费决算报表的审 核和汇总工作,然后将电子党费决算报表批复后下发回各个下级部门。最后, 在上下级部门都确认信息无误的情况下,将党费决算报表打印、归档。 这样,各个级别的党费管理人员可以足不出户,通过电子党费凭证单的 新方式完成党费凭证信息录入,然后利用系统提供的党费决算表生成功能方 便快捷的生成本部门任意时间段内的党费决算表,自动完成本级部门和下级 部门之间党费上缴、经费下拨等凭证类别的财务对帐,第一时间发现并解决 账目不一致的问题。最后,将电子党费决算报表以附件形式申报,等待上级 部门的审核批复,同时也可以审核并批复下发所属下级部门的党费决算报 表。通过这样的方式,将成都铁路局内各个相对独立的党组织机构系统有机 的结合起来,实现所有党费管理信息的集中存放、统一管理、分散操作、信 息共享,同时在很大程度上减少了纸质报表的传递,提高了安全性。电子党 西南交通大学硕士研究生学位论文 第5 页 费决算表和党费自动对账管理功能将党费财务人员从复杂机械的党费信息 核对计算中完全解放出来,减少了他们8 0 以上的工作量,极大的提高了办 公效率和数据信息处理的速度和准确性,使传统的党务管理向数字化、智能 化、综合化的方向发展,提高党务管理水平、实现党务管理的电子化、现代 化。 西南交通大学硕士研究生学位论文第6 页 2 1 j 2 e e 架构 2 1 1j 2 e e 概述 第2 章系统相关技术研究 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 是一种利用j a v a2 平台来简化企业解决方 案的开发、部署和管理相关的复杂问题的体系结构。目前,j a v a2 平台有3 个 版本,它们是适用于小型设备和智能卡的j a v a2 平台m i c r o 版( j 2 ) 、适用 于桌面系统的j a v a2 平台标准版( j 2 s e ) 、适用于创建服务器应用程序和服务 的j a v a 2 平台企业版( j 2 e e ) 。j 2 e e 技术的基础就是核心j a v a 标准平台。j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存 取数据库的j d b c a p i 、c o r b a 技术以及能够在i n t e m e t 应用中保护数据的安 全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e r v l e t s a p i 、 j s p ( j a v as e r v e r p a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个 能够使企业应用开发大幅缩短投放市场时间的体系结构。事实上,j 2 e e 是使用 j a v a 技术开发企业级应用的工业标准。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可 用性、高可靠性以及可扩展性的应用需求。通过提供统一的开发平台,j 2 e e 降 低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持, 完全支持e n t e r p r i s ej a v a b e a n s ,具有良好的向导支持打包和部署应用,添加目 录支持,增强了安全机制,提高了性能。j 2 e e 平台提供的多层分布式应用模型、 组件重用、一致化的安全模型以及灵活的事务控制,加快了企业应用的设计与 开发,这些都是传统的互联网应用程序模型无法比拟的。 2 1 2j 2 e e 体系结构 j 2 e e 是一个标准的体系结构,它提供了基于组件的、以应用服务器为核心 的多层应用体系结构,以及系统必须的可靠性、可扩展性、可管理性和安全性。 应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机 器上( 也可以放在同一台机器上) 。s u n 设计j 2 e e 的初衷正是为了解决两层 模式( c l i e n t s e r v e r ) 的弊端。在传统的两层模式中,客户端担当了过多的角色而 显得臃肿,虽然程序在第一次部署的时候比较容易,但难于升级或改进,同时 可伸展性也不理想。而且这类程序通常基于某种专有的协议( 通常是某种数据 西南交通大学硕士研究生学位论文第7 页 库协议) 在网络上传输数据,这样就使得重用业务逻辑和界面逻辑非常困难。 j 2 e e 使用多层的分布式应用模型,多层结构的设计极大地简化了开发、配置和 维护企业应用的过程,它最大的优点就在于将企业的业务逻辑同系统服务和用 户接口分开,并且应用服务器为组件提供了一系列的底层服务,如事务管理、 多线程、分布式程序设计、缓冲池等,使得开发者能够将精力集中于特定领域 的业务规则的组织上,而不用过多的关心那些底层的复杂而又烦琐的系统级事 项。 j 2 e e 的多层企业级应用模型将两层化模型中的不同层面切分成许多层,一 个多层化应用能够为不同的每种服务提供一个独立的层,以下是j 2 e e 典型的 四层结构,其逻辑结构如图2 1 川所示: 客户层c l i e n tw e l :表示层业务逻辑层企业信息系统 e i s 厂、 厂、 e j b 容器 厂、 厂浏览器、 w 曲容器 e j b h t i 甲j s p 儿a 数据库 止a n 证s 犷 h t f l s e r v i e t r叫 n a ) 0 d l x m l la p p l e t j a v a m a i ll j ) b c r 一 j n d j 1 盟h j 香一¥蕊1厂、 ( a p p l i c a t i o n j a c c c l i e n l :s e r v l e t 刀卜、 应用客户端 儿扒 j 2 e e j a a x 廿 数据库 - 7 容器 n -叫 p i a t f o r m j 2 e e ( a p p l i c a t i o n p l a t f o r m c l i e n t c o n t a i n e r l 发白如 1 f e 日b ! 基巽f 1 q 日b :5 0 罢 图2 - 1j 2 e e 架构应用程序 结合上图,我们可以看出,一个基于j 2 e e 的企业应用从结构上来看,可 以分成四部分:分别是客户层、w e b 层、业务层和企业信息层。对他们的描述 如下嗍: 客户层:j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。基 于w e b 的j 2 e e 应用,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载w e b 层中的静态h t m l 页面或由j s p s e r v l e t s 生成的动 西南交通大学硕士研究生学位论文第8 页 态h t m l 页面。 w e b 层:w e b 层组件是在j 2 e ew e b 容器上运行的软件程序。w e b 容 器主要支持多层结构的表示层。它的功能是在h t t p 协议上对w e b 请 求进行响应。j 2 e e 平台的w e b 构件对这些请求进行处理后回复给客户 端相应的h t m l 或x m l 文件。j 2 e ew e b 构件包括s e r v l e t , j a v a s e r v e r p a g e ( j s p ) 和j a v as e r v e rp a g e ss t a n d a r dt a gl i b r a r y ( j s t l ) 。 业务层:业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域 的需要,由运行在业务层上的e n t e r p r i s eb e a n 进行处理。e n t e r p r i s eb e a n 从客户端程序接收数据,进行处理( 如果必要的话) ,并发送到e i s 层储 存的,这个过程也可以逆向进行。业务层中的e j b 要运行在e j b 容器 中,容器解决了底层的问题,如事务处理、生命周期、状态管理、多线 程安全管理、资源池等。 企业信息系统层:企业信息系统层运行企业信息系统软件,包括企业基 础设施系统,例如企业资源计划( e r p ) 、大型机事务处理、数据库系统 及其他信息系统。j 2 e e 应用组件通过j d b c 等方式访问企业信息系统。 2 2m v c 模式 模型一视图一控制器( m o d e l v i e w c o n t r o l l e r ) 是x e r o xp a r c 在八十年代为 编程语言s m a l l t a l k - - 8 0 发明的一种软件设计模式【卿,至今已被广泛使用,最近几 年被推荐为s u n 公司j 2 e e 平台的设计模式。m v c 模式强制性的使应用程序的输 入、处理和输出分开。使用m v c 应用程序被分成三个核心部件:模型、视图、 控制器。下面详细说明各部分的作用【l o 】: 模型( m o d e l ) :就是业务流程状态的处理以及业务规则的制定和企业数据。 业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并 返回最终的处理结果。业务模型的设计可以说是m v c 最主要的核心。目前流行 的e j b 模型就是一个典型的应用例子。 视图( v i e w ) :代表用户交互界面,对于w e b 应用来说,h t m l 依旧在视图 中扮演着重要的角色,但一些新的技术已层出不穷,它们包括f l a s h 和象 x h t m l ,x m l x s l ,w m l 等一些标识语言和w e bs e r v i c e s 。随着应用的复杂 性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图, m v c 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请 求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型( m o d e l ) 处理。 控制器( c o n t r o l l e r ) :可以理解为从用户接收请求,将模型与视图匹配在一 起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它 就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的 西南交通大学硕士研究生学位论文第9 页 用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层 接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做 什么,选择符合要求的视图返回给用户。 m v c t 作原理图如下图2 2 n 0 1 所示: 2 3 框架概述 调用方法事件 图2 - 2m v c 工作原理图 工业化的软件复用已经从通用类库进化到了面向领域的应用框架。g a r t n e r g r o u p 认为:“到2 0 0 3 年,至少7 0 的新应用将主要建立在如软件构件和应用框 架这类构造块之上,应用开发的未来就在于提供一开放体系结构,以方便 构件的选择、组装和集成 。框架的复用已成为软件生产中最有效的复用方式 之一。 什么是框架呢? 在设计模式中,g a m m a t 5 1 等人为框架给出了一个定义:“框 架就是一组协同工作的类,它们为特定类型的软件构筑了一个可复用的设计。 框架,即f r a n l e w o r k ,其实就是某种应用的半成品,就是一组组件,供你选用完 成你自己的系统。框架是一种特殊的软件,为软件开发带来了高度的复用性, 另外,框架一般是成熟的、不断升级的软件嘲。 框架通常有一组紧密关联的模块或者类,强调彼此的配合以完成某种可以 重复运用的设计概念。可以说,一个框架是一个可复用的设计组建,它规定了 应用的体系结构,阐明了整个设计、协作组件之间的依赖关系、责任分配和控 制流程,表现为一组抽象类及其实例之间协作的方法,它为组件复用提供了上 下文关系。框架一般处在低层应用平台( 如j 2 e e ) 和高层业务逻辑之间的中 西南交通大学硕士研究生学位论文第1o 页 间层,它强调的是软件的设计复用性和系统的可扩充性,以缩短大型应用软件 系统的开发周期,提高开发质量。 目前基于j 2 e e 架构上已开发出许多框架,这大大减轻了开发人员的负担。 在构建w e b 应用时,用户请求的处理,业务逻辑处理及数据的持久化是必须重 点考虑的问题。针对这三个方面,人们开发了很多框架【引,其中在w e b 层、业 务层和数据持久层上比较常用的框架分别是s t r u t s ,s p r i n g 和h i b e r n a t e ,下面将分 别对它们进行介绍与分析。 2 4s t r u t s 框架 2 4 1s t r u t sm v c s t r u t s 框架是a p a c h e 软件基金下j a k a r t a 项目的一部分,s t r u t s 这个名字来 源于在建筑和旧式飞机中使用的支持金属架,是为了提醒我们记住那些支撑我 们房屋、建筑、桥梁的基础支撑,这也是一个解释s t r u t s 在开发w e b 应用程序 中所扮演的角色的精彩描述【1 。 和其他的j 2 e e 架构一样,s t r u t s 也是面向对象设计,实现了m v c 模式“分离 显示逻辑和业务逻辑”的功能。基于s t r u t s 构架的w e b 应用程序可以说是m v c 设计模式的一种变化类型,我们很容易理解s t r u t s 实际上就是一个w e b f r a m e w o r k 1 2 1 。下面我们就从m v c 角度出发,分别从模型、视图、控制器来分 析一下s t r u t s 的体系结构。s t r u t s 的体系结构如图2 3 【1 2 所示: 图2 3s t r u t s 体系结构图 西南交通大学硕士研究生学位论文第1 1 页 作为一个m v c 的框架,s t r u t s 对m o d e l 、v i e w 和c o n t r o l l e r 都提供了对应的实 现组件,对应上面的s t r u t s 的体系结构图,分别进行介绍,并且看它们是如何结 合在一起的【9 1 。 模型( m o d e l ) :m o d e l 从概念上可以分为两个部分:系统的内部状态和改 变系统状态的操作( 事务逻辑) ,s t r u t s 为m o d e l 部分提供了a c t i o n f o m 和a c t i o n 对象。内部状态通常由s t r u t s 提供的a c t i o n f o r m 组件对象表 示,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子 类对象,利用它和s t r u t s 提供的自定义标记库结合可以实现对客户端的 表单数据的良好封装和支持。a c t i o n 处理器对象则封装了具体的处理逻 辑,a c t i o n 对象获取从a c t i o n s e r v l e t 传来的f o r m b e a n ,取出f o r m b e a n 中的相关信息,并做出相关的处理,调用业务逻辑模块( j a v a b e a n 或 e j b ) ,并且把响应提交到合适的v i e w 组件以产生响应。 视图( v i e w ) :s t r u t s 应用中的v i e w 部分是通过j s p 技术实现的。s t r u t s 提供了自定义的标记库可以使用,通过使用这些自定义标记创建的j s p 表单,可以实现和m o d e l 部分中的a c t i o n f o r m 的映射,完成对用户数 据的封装。 控制器( c o n t r o l l e r ) :在s t r u t s 中c o n t r o l l e r 功能由a c t i o n s e r v l e t 和 a c t i o n m a p p i n g 对象构成,基本的控制器组件是a c t i o n s e r v l e t 类中的实 例s e r v l e t ,实际使用的s e r v l e t 在配置文件中由一组映射( 由 a c t i o n m a p p i n g 类进行描述) 进行定义。对于业务逻辑的操作则主要由 a c t i o n 、a c t i o n m a p p i n g 、a c t i o n f o r w a r d 这几个组件协调完成的,其中 a c t i o n 扮演了真正的业务逻辑的实现者,每个a c t i o n m a p p i n g 与 a c t i o n f o r w a r d 对象则实现了一个请求到一个具体的m o d e l 部分中 a c t i o n 处理器对象之间的映射。所有这些控制逻辑利用s t r u t s c o n f i g x m l 文件来配置。 s t r u t s 框架的处理流程清楚的体现了m v c 系统的特点,a c t i o n s e r v l e t 处 理客户请求,利用配置的a c t i o n m a p p i n g 对象把请求映射到a c t i o n 处理器对象 进行处理。a c t i o n 处理对象访问a c t i o n f o r m 中的数据,处理和响应客户请求, 它还调用后台的b e a n 组件,这些组件封装了具体的业务逻辑。a c t i o n 处理器 对象根据处理结果通知c o n t r o l l e r ,c o n t r o l l e r 进行下一步的处理。 2 4 2s t r u t s 的核心组件 s t r u t sl 拘核一i 二, a p i t ”1 包括a c t i o n s e r v l e t 、a c t i o n f r o m 、a c t i o n 、a c t i o n m a p p i n g 和a c t i o n f o r w a r d ,它们构成了s t r u t s 框架中的控制器组件、视图组件和模型组件。 下面分别对它们进行详细介绍【9 】: 1 ) a c t i o n s e r v l e t 类 a c t i o n s e r v l e t类是s t r u t s的核心控制器,这个类是 西南交通大学硕士研究生学位论文第12 页 i a x a s e r v l e t h t t p h t t p s e r v l e t 类的扩展,其职责是把h t t p 消息打包起来并传送到 框架中合适的处理器。s t r u t s 的启动通常从加载a c t i o n s e r v l e t 开始。它的基本 功能是: a ) 截获用户的h t t p 请求。 b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资源化利用项目土建施工方案
- 铜矿开采现场作业流程优化方案
- 铅锌资源循环再生利用项目施工方案
- 波兰公务员考试试题及答案
- 白山市公务员考试价格试题及答案
- 开发区南部污水处理厂项目技术方案
- 农村生活污水治理工程申请报告
- 水厂迁建工程商业计划书
- 十五五规划纲要:油气行业绿色低碳转型政策
- 2026年蔬菜种植公司办公用品库存与补充管理制度
- 教培用输血注意事项资料课件
- 注塑生产计划自动排程
- 智慧树知到《大学生心理健康教育(西南民族大学)》章节测试答案
- 棉花各生长阶段田间长相图片
- 大创申报答辩ppt
- 人体工程学无障碍设计环境
- cimatron紫藤教程系列gpp2运行逻辑及block说明
- GB/T 19494.3-2004煤炭机械化采样第3部分:精密度测定和偏倚试验
- 遗传学试题库及答案-(12套-)
- 科技创新中心项目方案设计建议书
- 硫酸包装说明和使用说明书
评论
0/150
提交评论