




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)轻量级j2ee架构在油田物资管理系统的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
轻量级j 2e e 架构在油田物资管理系统的研究与应用 摘要 随着软件系统开发技术的发展,多层次信息管理软件系统开发 的重点已经从注重组件类库的进化转移到了关注系统应用架构的设 计上来,应用框架的设计更直接地影响到软件系统整体的健壮性、 可重用性和易扩展性。 油田物资管理系统是油田企业信息集成系统的重要组成部分, 是多层次信息管理软件技术的具体应用。本论文以延长油田物资管 理系统的开发为背景,通过对油田公司内部进行深入详细的实地调 研,针对油田企业物资管理信息系统地域分布广泛、各级部门信息 共享难的问题,依据实际工作模式,进行了轻量级j 2 e e ( j a v a 2 p l a t f o r me n t e r p r i s ee d i t i o n ) 架构在油田物资管理系统的应用研究。 论文从分析j 2 e e 架构技术入手,对传统基于e j b ( e n t e r p r i s ej a v a b e a n s ) 的重量级j 2 e e 架构和轻量级j 2 e e 架构进行了对比分析,指 出传统的j 2 e e 架构由于种种原因已经不能适应企业应用系统的发展 要求。针对这些问题,本文在分析研究了轻量级j 2 e e 技术的新发展 和w e b 2 0 时代所出现的许多新技术基础上,结合本文的目标,a j a x 、 e x t j s 、h i b e r n a t e 、s p r i n g 、s t r u t s 等大量先进的技术和框架被应用到 本系统架构中,并给出了系统各层相应的框架组件设计。使用a j a x 和e x t js 开发华丽外观的富客户端应用,增强u i 层与服务器的异步 通信能力,使用户体验到动态且响应灵敏的w e b 应用程序;通过 s t r u t s 的m v c ( m o d e lv i e wc o n t r o l l e r ) 模式实现了业务代码与视图代 码相分离;利用s p r i n gi o c ( i n v e r s i o no fc o n t r 0 1 ) 技术解决了系统模块 间的依赖性;采用h i b e r n a t e 解决了面向对象与关系数据库间互不匹 配问题,从而使整个系统结构做到了强内聚、低耦合,并极大地提 高了系统的开发效率,同时,使系统能够跟上时代的步伐。 最后,论文以作者完成的计划管理功能模块为线索,穿插介绍 了该架构应用在系统各层中关键技术的实现代码,及把它们整合到 一起工作的技术,并给出了系统的部署运行情况。 基于该系统的实现,本论文展示了如何应用所构建的轻量级 j 2 e e 架构开发一个企业级应用的油田物资管理系统。开发结果表明, 整个系统具有平台无关性,并提高了应用系统的可维护性,可扩展 性,可移植性和组件的可复用性。 关键词:轻量级j 2 e e 架构,油田物资管理系统,e x t j s i i r e s e a r c ha n da p p l i c a t i o no f l i g h t w e i g h tj 2 e ea r c h i t e c t u r ei n o i l f i e l dm a t e r i a ls y s t e m a b s t r a c t t h ee m p h a s i so ft h em u l t i - l e v e ii n f o r m a t i o ns o f t w a r eh a se v o l v e d t ot h el e v e lo fc o n s i d e r i n gm o r ea b o u td e s i g n i n gt h ea p p l i c a t i o n a r c h i t e c t u r e w i t hm o d e r ns o f t w a r es y s t e md e v e l o p m e n t ,i ti sc r i t i c a lt o h a v eb e t t e ra p p l i c a t i o na r c h i t e c t u r e ,w h i c hh a sd i r e c t l yi m p a c to nt h e r o b u s t i c i t y ,r e u s a b i l i t ya n df l e x i b i l i t yo ft h ew h o l es o f t w a r es y s t e m t h eo i l f i e l dm a t e r i a ls y s t e mi sa ni m p o r t a n tc o m p o n e n ti no i l f i e l d e n t e r p r i s ei n f o r m a t i o ni n t e g r a t i v es y s t e m i ti sac o n c r e t ea p p l i c a t i o no f t h em u l t i - l e v e li n f o r m a t i o nm a n a g e m e n ts o f t w a r et e c h n i q u e t h i sp a p e r t a k e st h ed e v e l o p m e n to fy a n c h a n go i l f i e l dm a t e r i a ls y s t e ma s a b a c k g r o u n d ,t h r o u g hd e t a i l e di n v e s t i g a t e d i nt h ei n t e r i o ro fo i l f i e l d c o m p a n y ,i nv i e wo f t h eq u e s t i o n so fr e g i o nd i s t r i b u t i o nw i d e s p r e a da n d d i f f i c u l t yi n f o r m a t i o ns h a r i n gi nd e p a r t m e n t s ,b a s i so ni t sp r a c t i c a lw o r k p a t t e r n ,t h ea r t i c l eh a sr e s e a r c h e dt h ea p p l i c a t i o no fl i g h t w e i g h tj 2 e e a r c h i t e c t u r ei no i l f i e l dm a t e r i a ls y s t e m t h ep a p e rf i r s t l ya n a l y z e dt h ej 2 e ea r c h i t e c t u r et e c h n o l o g y ,a n d c o n t r a s t i v e a n a l y s i s e d t h ed if f e r e n c e sb e t w e e nt h et r a d i t i o n h e a v y w e i g h tj 2 e ea r c h i t e c t u r eb a s e do nt h ee j ba n dt h el i g h t w e i g h t j 2 e ea r c h i t e c t u r e ,a n dt h e n p o i n t e d o u tt h a tt h et r a d i t i o n a lj 2 e e a r c h i t e c t u r eh a da l r e a d yc o u l dn o ta d a p tt h e d e v e l o p m e n to ft h e e n t e r p r i s ea p p l i c a t i o ns y s t e mf o rv a r i o u sr e a s o n s i nv i e wo ft h e s e q u e s t i o n s ,t h i sa r t i c l ea n a l y t i c a ls t u d i e dt h en e wt e c h n o l o g i e sw h i c h a l o n gw i t ht h ed e v e l o p m e n t o ft h el i g h t w e i g h tj 2 e ea r c h i t e c t u r ea n dt h e a r r i v a lo fw e b 2 0t i m e s f o l l o w e dt h eg o a l so ft h i sa r t i c l e ,a j a x 、e x t j s 、 h i b e r n a t e 、s p r i n g ,s t r u t sa n do t h e rt e c h n o l o g i e sa n df r a m e sh a db e e n a p p l i e di nt h ed i f f e r e n tl e v e l so ft h es y s t e ma r c h i t e c t u r e d e v e l o p m e n t e d m a g n i f i c e n t r i c hc l i e n t a p p l i c a t i o n a n ds t r e n g t h e n e d a s y n c h r o n o u s i l l c o m m u n i c a t i o na b i l i t yb e t w e e nt h eu ia n ds e r v e rb yu s i n ga ja xa n d e x t i s ;s e p a r a t e dt h ec o d e sb e t w e e ns e r v i c ea n dv i e wt h r o u g hs t r u t s m v cp a t t e r n ;s o l v e dt h ed e p e n d e n c eo fs y s t e mm o d u l e sb ys p r i n gi o c ; s o l v e dt h eu n m a t c h i n gq u e s t i o n e sb e t w e e nt h eo b je c t o r i e n t e ds o f t w a r e a n dr e l a t i o n a ld a t a b a s e t h u s ,t h eo v e r a l ls y s t e mh a dt h es t r o n gc o h e s i o n , t h el o w c o u p l i n g ,a n d r a i s e dt h e s y s t e md e v e l o p m e n te f f i c i e n c y e n o r m o u s l y i na d d i t i o n e n a b l e dt h es y s t e mf o l l o wt h et i m e s s t e p a t l a s t ,t h ep a p e r i n t r o d u c e dt h e k e yt e c h n o l o g i e s o ft h e a r c h i t e c t u r ea n dt h e i rc o n f o r m i t yw o r k e dt o g e t h e ri nt h i ss y s t e mb ya p l a nm a n a g e m e n tf u n c t i o n a lm o d u l e b a s e do nt h ei m p l e m e n to ft h es y s t e m ,t h ep a p e rd e m o n s t r a t sh o w t oa p p l yt h el i g h t w e i g h tj 2 e ea r c h i t e c t u r et o d e v e l o pa ne n t e r p r i s e a p p l i c a t i o no fo i l f i e l dm a t e r i a ls y s t e m t h er e s u l ts h o w st h a tt h es y s t e m d o e s t d e p e n d o n p l a t f o r m ,i t h a st h ec h a r a c t e r i s t i c so f h i g h m a i n t a i n a b i l i t y ,e x p a n s i b i l i t ya n dr e u s e a b i l i t y k e y w o r d s :l i g h t w e i g h tj 2 e ea r c h i t e c t u r e ,o i l f i e l dm a t e r i a ls y s t e m , e x t j s i v 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 原创性声明及关于学位论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均己在文中以明确方 式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名:么丛 关于学位论文使用授权的声明 本人完全了解陕西科技大学有关保留、使用学位论文的规定, 同意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权陕西科技大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据 库,并通过网络向社会公众提供信息服务。 ( 保密论文在解密后应遵守此规定) 论文作者签名:导师签名:超日期: 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 1 绪论 1 1 选题背景及意义 随着信息化技术和网络技术的迅猛发展,企业须通过构建全新的运营模 式,并通过网络以快捷、方便、高效的方式为客户提供优质的服务,科学地降 低成本来提高利润,实时动态地增强与客户的交互,及时准确地得到市场的反 馈数据,从而全方位多层次地增强自身的市场竞争力。油田企业属于大型综合 性企业,目前我国油田企业物资管理系统建设己具备相当规模,但随着经济市 场化和全球化的深入,油田企业面临的是越来越大的机遇与挑战,这就要求企 业通过信息系统整合企业经营、全面强化企业物资管理来提高自身竞争力建立 竞争优势实现企业的生存和发展。 陕西延长石油集团有限责任公司,是国内具有石油和天然气勘探开采资质 的四家企业之一。为了适应油田股份公司物资供应各项工作新的需要,进一步 规范公司的物资管理流程,降低物资管理运作成本,节约工程投资,提高工作 效率和管理水平、树立公司整体形象,油田公司物资供应部根据延长油田股份 有限公司近年来信息化发展的趋势和物资管理业务的迫切需求,在公司信息中 心的协作下共同提出了建立物资管理信息系统的构想。 本课题即以作者实际参与的“延长油田物资信息管理系统”为开发背景, 结合延长油田物资管理的实际情况,针对油田企业物资管理信息系统地域分布 广泛、各级部门信息共享难的问题,研究创建高效、安全的基于轻量级j 2 e e 多层b s 体系架构的w e b 油田物资管理应用系统。 在经济全球化的新形势下,依靠信息系统的支持,用动态的观点研究面临 的问题【l ,开发基于轻量级j 2 e e 架构的油田物资管理系统,是日前较为流行 的程序开发语言及软件开发框架、大型关系数据库、网络通信技术等多项先进 计算机技术的综合应用,将其与油田各种数据库挂接,建立一套供多部门、多 用户共享访问的物资管理系统,可以为采油厂各级管理人员提供有关数据和资 料等信息,强化了油田物资管理过程中从物资需求计划到物资招投标和采购、 物资库存到工程领料,包括审核、财务稽核等环节的高效率管理,减少了手工 管理的差错和漏洞,满足了油田企业在对物资管理的一些通用基本操作的电子 化,实现信息流的全面管理,避免了信息丢失和无序传递,提高了工作效率【:j 。 从而使得油田企业能够对迅速变化的环境灵敏地做出反应和提供有效的决策 支持,保证油田生产经营管理处于最优状态,促进油田事业的更快发展。 陕西科技大学硕士学位论文 1 2 研究及发展现状 随着w e b 应用的发展,当前基于i n t e r n e t i n t r a n e t 的三( 多) 层计算应用系统 正广泛地被用于各个领域,它为我们构造物资管理信息系统提供了更多可供选 择的技术和方法。企业开始研究适应其自身业务发展的基于i n t e r n e t 环境易于 管理、可重用、可伸缩、健壮的w e b 应用服务管理系统。 w e b 应用软件需要面对异构的网络环境、多样化的用户需求、灵活的业 务模式、复杂的业务流程、众多的组织机构及层次、角色分工等问题。因此, 如何设计应用软件使纷杂的应用需求和多样化的客观环境能够彼此尽量少的 受到对方的干扰和牵制,以及我们曾经的成功案例能否再次使用? 分层结构和 组件复用给众多开发人员提供了选择。 分层结构让系统的功能更加明确,减少了各层次之间的关联和依赖,让开 发人员可以同步工作而不会受到其他人的影响。组件复用是在分层的基础上, 由于层间的耦合性低,独立性强,在成熟组件的基础上开发极大的提高了软件 的开发效率、缩短了开发周期,使软件产品的稳定性、兼容性、扩展性都得到 了提高。因此,人们越来越意识到软件重用技术的重要性,设计模式和框架技 术应运而生。 如何组织各个层次、如何合理选择使用模式和框架技术又将开发人员的关 注点提高到整个系统层面上来。架构技术为这一问题提供了解决方案。架构是 软件系统从整体到部分的最高层次的划分,一般由多个不同领域的框架组成。 一个成功的软件需要有一个成功的架构,它将各个框架技术有机的组织起来, 相互关联但又不失其独立性。软件架构的建立是一个复杂而又持续改进的过 程,开发人员不可能对每个项目做不同的架构,而总是尽量重用以前的架构, 或开发出尽量通用的架构方案。架构技术的成功很重要的原因是依赖于架构之 下良好的设计模式的应用。设计模式川是面向对象领域为实现高级代码复用 而总结出来的各种方案,每一种模式都是对在所处环境中不断重复发生的问题 提供的解决的方法,其最根本的意图就是适应需求变化。目前,基于j 2 e e 标 准架构的企业级w e b 应用开发正得到广泛的应用。j 2 e e ,j a v a 2 平台企业版( j a v a p l a t f o a ne n t e r p r i s ee d i t i o n ,j 2 e e ) ,是一种利用j a v a 2 平台来简化企业信息系 统开发、部署和管理的体系结构,它是s u n 公司为企业级应用推出的标准平台 s l 6 1 。j 2 e e 为使用j a v a 进行企业应用系统开发提供了一套扩展标准( 或者说是 一套组件模型) ,为我们开发分布式的多层应用提供了平台和技术基础。 针对j 2 e e 目前的发展趋势和结合众多的应用实例,我们开发的软件系统 在满足用户需求的基础之上,如何才能解决出现的问题从而更进一步的让用户 2 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 满意? 这对于软件开发者来说是个巨大的挑战。实践表明,应用开发采用传统 重量级项目的j 2 e e 架构正在向优秀的轻量级架构转向。在j a v a 开源进行得十 分活跃的今天,许多优秀的开源轻量级框架应运而生,并且为我们提供了帮助, 这些架构不仅可以为我们很好的解决了维护性、复用性和扩展性带来的问题, 而且对于软件开发周期和成本上都有较为明显的改善。 1 3 课题研究内容 本文以作者实际参与项目“延长油田物资管理信息系统”的开发为背景, 结合延长油田公司物资管理的实际情况,进行了轻量级j 2 e e 架构在油田物资 管理系统的研究与应用。利用开源社区所提供的免费而性能又稳定的框架和组 件,很大程度上缩短了系统的开发周期和降低了系统的开发成本,同时使开发 的系统具有很强的易扩展、易维护、跨平台等特性。论文结合作者参与项目期 间的实践,主要完成以下工作: 第一,从j 2 e e 体系结构入手,分析现在流行的j 2 e e 开发架构,比较基于t e j b 的传统j 2 e e 架构和轻量级j 2 e e 架构的各自特点和优势。 第二,分析和研究当前流行的轻量级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 ) 。除了基础框架,还采用a j a x 、e x q s 、l 0 9 4 j 等技术和组件以完整 开发架构。 第三,从油田公司物资管理的实际出发,分析、研究油田物资管理系统的 基本需求和功能,依据搭建的轻量级j 2 e e 架构,完成系统的各层设计。 第四,整合架构中各层框架,实现油田物资管理系统,并调试、测试系统 的基本功能。 在实现方法上,系统采用j 2 e e 轻量级架构在e c l i p s e 环境下进行开发,数 据库采用o r a c l e l0 9 来存储和管理系统中的数据,由此完成基于轻量级j 2 e e 多 层b s 体系架构的w e b 油田物资管理系统设计和实现的大部分工作,使得油 田物资管理更为方便和高效。 1 4 创新点 本文通过整合s t r u t s 、s p r i n g 和h i b e r n a t e 三种轻量级j 2 e e 框架技术,设 计了一个具有通用模式的j 2 e e 架构,并将此架构应用到实际系统的开发中去。 通过分层处理使整个系统结构清晰,功能明确,更重要的是各层次之间相互独 立,对某一层次的修改不会影响其他层次,使层次间的藕合性降到最低,为软 陕西科技大学硕士学位论文 件的重用化和组件化创造了条件。 同时,在表现层的视图开发中,利用具有很强交互性的最新e x t j s 富客户 端技术来增强u i 层与服务器的异步通信能力,使用户体验到动态且响应灵敏 的w e b 应用程序,为用户提供了一个更高和更全方位的网络体验。 1 5 论文组织结构 本论文共分为六章,组织结构如下: 第一章绪论。介绍了本文的选题背景、意义及课题研究内容,阐述了相 关技术的研究及应用现状。 第二章j 2 e e 架构技术分析。在这一章中对j 2 e e 的发展和现状做了介绍, 引入架构技术的概念,对j 2 e e 架构现状进行了深入的研究,剖析传统j 2 e e 架构存在的问题。针对这些问题,提出了轻量级j 2 e e 解决方案,指出轻量级 j 2 e e 架构的优势所在与发展前途。 第三章本架构采用的框架和重要技术。该章主要针对系统实际情况和需 求,基于对分层架构模式的研究,选择了s t r u t s 作为w e b 表现层框架,s p r i n g 作为业务逻辑层框架,h i b e r n a t e 作为数据持久层框架,并且为了让架构提供完 善的服务,采用了一些组件来加强架构的功能。在进行框架和组件的选择同时, 主要分析研究了这些框架和组件,解析了它们的工作过程和采用的技术特性。 这为下一章把这些框架和组件有机的整合在一起,实现本文所提出的轻量级 j 2 e e 架构提供了技术支持。 第四章系统分析与设计。结合“延长油田物资管理信息系统”实际项目 工作,介绍了系统的建设目标、设计原则,分析了系统的功能需求和业务流程, 依据系统架构,完成了系统的分层设计。 第五章架构应用的系统实现。本章以油田物资管理系统的计划管理功能 模块为线索,穿插介绍了各关键技术的实现代码,及把它们整合到一起工作的 技术。 最后,对课题的研究工作进行了总结,并对下一步的研究内容和工作方向 提出了展望。 4 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 2j 2e e 架构技术分析 2 1j 2 e e 技术 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 是s u n 公司提出的在分布式环境 中的一种体系结构,它提供了一种基于组件的设计、开发、集成、部署企业应 用系统的方法。j 2 e e 平台提供了多层分布式的应用系统模型、重用组件的能 力、统一的安全模型和灵活的事务控制。基于组件的j 2 e e 企业应用系统具有 平台独立性,所以不受任何软件产品和任何软件厂家a p i 的约束。 2 1 1j 2 e e 概述 j 2 e e 是一种利用j a v a 2 平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的 标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如”编写一次、随处运行” 的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n 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 a s e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目 的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 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 平台规范是一个由s u n 公司定义的用于简化分布式企业级应用开发 与部署的基于组件的模式( t h ej 2 e ep l a t f o r ms p e c i f i c a t i o nd e f i n e sa c o m p o n e n t - b a s e dm o d e lt h a ts i m p l i f i e se n t e r i s ed e v e l o p m e n ta n dd e p l o y m e n t ) t 7 i 。 它是一整套功能非常健壮的开发企业级中间件的规范,旨在为支持j a v a 语言 服务器端部署而提供平台无关的、可移植的、多用户的、安全的和标准的企业 级平台。它为企业级服务器端应用的开发人员提供了巨大的便利。为企业级 j a v a 应用的部署创造了一个一致的平台。 基于层次化组件模式的j 2 e e 平台把业务逻辑和底层网络技术分离开来, 具有可伸缩性、扩展性、易开发性和易维护性,己经成为企业级商业分布式网 络计算的事实标准。j 2 e e 是大量业内技术专家、教育专家集体智慧和经验设 计出来的一套先进、完美、实用的规范,遵从这个规范的开发者将得到行业的 陕两科技大学硕士学位论文 广泛支持,使企业级应用的开发变得简单、快速。学习j a v a ,与其说是学一种 技术,还不如说是在学习一种编程思想,而j 2 e e 系统平台的思想是通过一个 基于组件的应用程序模式为分布式应用程序提供一个统一的标准。j 2 e e 可以 理解为一个企业级的中间件体系或平台,它为构造和管理、运行可伸缩的企业 级业务应用提供了一系列的应用组件和一个运行环境。 它具有以下主要特点: ( 1 ) 基于j a v a 技术,继承了j a v a 技术的“一次编译,到处运行 的优点, 不依赖具体的操作系统,因此具有良好的可移植性; ( 2 ) 基于多层次的分布式组件应用模型,指根据功能把应用逻辑分成多 个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器 中运行,容器间通过相关的协议进行通讯,实现组件间的相互调用; ( 3 ) j 2 e e 是一种得到行业广泛支持的标准,它提供了一个多层次的分布 式应用模型和一系列开发技术规范,而规范的实现留给了厂商完成。因此,用 户可以有多种选择,并且还可以得到厂商的技术支持; ( 4 ) j 2 e e 应用编程模型要求开发者将自己的工作分成两类:商业逻辑和 表示逻辑。其余则由系统资源自动处理。不必为中间层管道进行编码,开发人 员就能将更多的时间花在商业和表示逻辑上。 2 1 2j 2 e e 体系结构 j 2 e e 是当前的主流架构之一,大多数企业采用j 2 e e 的结构设计和解决方 案。j 2 e e 提供了中间层集成框架,用来满足可用、可靠及可扩展的应用需求。 通过统一的开发平台,j 2 e e 降低了开发多层应用的成本和复杂度;支持e j b : 支持对现有应用程序的集成;提高了异构环境的协同工作能力;支持打包和应 用部署;增强了安全机制,提高了性能。 j 2 e e 也是开发分布式企业软件应用的平台,应用逻辑按功能划分为组件, 各个应用组件根据它们所在的层被分布于不同的物理结点。在j 2 e e 多层应用 中,传统的两层结构,被划分为了多层。一个多层应用能为不同的服务提供一 个独立的层,典型的j 2 e e 架构分为四层: 1 ) 客户层( c l i e n tt i e r ) 是用户与系统的接口逻辑,用来运行在用户机器上的w e b 浏览器。它的功 能是显示数据,用户可以输入数据或更新数据。通常使用h t m l 来构建客户层, 因为通用浏览器都能正确地理解h t m l ,而且它能很好地分离业务逻辑和表示 逻辑。 2 ) w e b 层 6 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 用来生成w e b 页面和w e b 页面中的动态内容,同时可以把客户端传来的 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 as e r v e rp 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 ) 。 3 ) 业务层 包含了企业w e b 应用的大部分业务逻辑,主要有:执行全部必须的计算 和动作、会话管理、客户层和w e b 层中数据访问的管理等。在j 2 e e 平台下, 业务逻辑通过e j b 组件进行实现,而业务逻辑层工作于应用服务器中。 4 ) 企业信息系统层 负责为企业的信息系统服务,包括数据库系统、事务处理系统等。该层是 j 2 e e 应用和非j 2 e e 应用的连接点。其运行企业信息系统软件,包括企业基础 设施系统,例如企业资源计划( e r p ) 、大型机事务处理、数据库系统及其他信 息系统。j 2 e e 应用组件通过j d b c 等方式访问企业信息系统。 2 2j 2 e e 架构 计算机应用系统的日益复杂和庞大,使得软件架构的设计逐渐成为软件生 命周期中的一个重要环节。而实际上,自从软件系统首次被分成许多模块,模 块之间有相互作用,组合起来有整体的属性,软件就具有了架构。软件架构是 设计抽象的进一步发展,解决了需求向实现平坦过渡的问题,满足了更好的理 解软件系统、更方便地开发更大更复杂的软件系统的需要。软件架构设计可以 作为控制软件复杂性、提高软件质量、支持软件开发和复用的重要手段之一。 为了更好的促进企业级开发,j c p ( j a v ac o m m u n i t yp r o c e s s ) $ 0 定了j 2 e e 的 一系列标准。j 2 e e 是建立在j a v a 2 平台上的企业级应用的解决方案,提供了对 e j b ( e n t e r p r i s ej a v ab e a n ) ,s e r v l e t ,j s p ,x m l 等技术的全面支持,其最终目 标是成为一个支持企业级应用开发的体系结构,简化企业级应用的开发,部署 和管理等复杂问题。事实上,j 2 e e 已成为企业级开发的工业标准和首选平台。 现如今,j 2 e e 不仅仅是指一种标准平台,它更多的表达着一种软件架构和设 计思想。所谓的j 2 e e 架构,一般是指基于j 2 e e 的企业级应用软件架构。 2 2 1 传统j 2 e e 架构 传统的j 2 e e 架构一般分为三层:表现层,业务层和数据层。表现层由j s p 和s e r v l e t 实现,主要完成与用户的交互:业务层一般是交给e j b ( 包括远程 e j b 和本地e j b 两种) 实现,完成系统核心业务逻辑的处理;数据层则是负责 与各种数据源的交互,可以由j d b c 加d a o 对象或是由e j b 中的e n t i t yb e a n 7 陕西科技大学硕士学位论文 实现。其中e j b 是j 2 e e 的标准业务组件,需要运行在e j b 容器中。e j b 与 e j b 容器的紧耦合使得其可移植性、可测试性都很差。由于e j b 容器提供几乎 所有的企业级服务,所以其本身启动慢,部署比较复杂,而且性能比较差。作 为整个架构中的核心组件业务层,往往由于过度使用重量级组件e j b 和对e j b 容器的过度依赖使得整个架构的可移植性、可测试性、可维护性和性能较差。 此外,由于j s p 本身固有的缺点和企业级应用需求的复杂性,在表现层单纯的 应用j s p 和s e r v l e t 技术很难提高j 2 e e 的开发效率。j 2 e e 体系架构在提供了 一系列企业级服务的标准的同时,却没能提供一个令人满意的应用编程模型【9 】。 大量实践证明,这种传统的j 2 e e 架构方案得到的结果常常无法令人满意: 过于复杂的应用程序、令人失望的性能、难以测试和维护成本的高昂。于是, 轻量级j 2 e e 架构呼之欲出,用于在很多应用场景中替代传统的重量级j 2 e e 架构。 2 2 2 轻量级j 2 e e 架构 所谓的轻量级,并不是功能弱、设计简陋、实现粗糙、比重量级差的代名 词,它是与以e j b 为核心重量级的复杂框架对比而言的 s o l 。轻量级框架主要是 指在j a v a 应用程序开发环境中,简化的编程模型和更具响应能力的容器,它 致力于提供最简单的框架来构筑w e b 应用系统 i l l 。轻量级框架旨在消除与传统 j 2 e ea p i 有关的不必要的复杂性和限制。它也将缩短应用程序的开发部署时 间,这对于支持开发最佳实践( 比如说频繁单元测试) 非常重要i t 2 。轻量级j 2 e e 架构致力于解决重量级框架所带来的问题,并且融入了新的模式,提供更加灵 活和可选择性的服务。 轻量级架构汲取了e j b 中成功的技术,把非e j b 架构提升到一个更高的 成熟平台,使开发者能够拥有e j b 提供的结构上的优势,又摆脱了e j b 的缺 陷。轻量级框架的一个关键特征是,它不像e j b 一样是侵入式的框架,它不会 强迫业对象遵循平台特定接口。这允许开发人员在普通旧式j a v a 对象( p o j o ) 【1 3 】中实现业务逻辑,从而使编程更加方便。由于业务逻辑实现在p o j o ( p l a i n o l dj a v ao b j e c t ) 中,所以不再需将对象部署到重量级容器中去测试它,完全 可以将对象放在像j u n i t 之类的简测试环境中。轻量级框架另外一个特性是, 它大量采用控制反转( i o c ) 模式。使开发人员不需要编写复杂的代码来执行 查询、处理基础架构异常或管理连,就能够解决对象依赖性问题。这有助于简 化代码、将业务逻辑与基础架构分离,从而使应用程序更易于维护。 轻量级j 2 e e 架构与传统的j 2 e e 架构都是采用典型的分层架构模式,但是 它们在各个层采用的具体方案不同。轻量级j 2 e e 架构是在架构的各个层中应 8 轻鼙级j 2 e e 架构在油田物资管理系统的研究与应用 用了优秀的开源轻量级框架,并且所有的j a v a 类都将运行在同一个j v m 中。 轻量级j 2 e e 架构在业务层,使用优秀的开源轻量级容器取代e j b 容器来管理 业务对象,并且用p o j o 完全替代了e j b 。通过容器提供的i o c ( i n v e r s i o no f c o n t r 0 1 ) 对类进行配置管理。所以轻量级j 2 e e 架构也被称为轻量级容器架构。 在表现层通常应用流行的开源w e b 框架,而在数据持久层使用开源的o r m 工 具或是一些混合的解决方案。架构的整体设计则需要轻量级容器作为黏合剂。 目前,轻量级j 2 e e 架构设计的核心问题就是对轻量级容器和各种框架技术的 选择及如何利用这些框架构建一个稳定、开放、通用的系统开发架构。 9 陕两科技大学硕士学位论文 3 本架构采用的框架和重要技术 3 1w e b 表现层框架 w e b 表现层主要负责与用户的交互,现在流行的w e b 层的框架很多,各 有各的优势,该层主要有两个设计目标:1 结构清晰;2 尽可能的薄,应该 只包括w e b 专用的控制逻辑。要达到以上目标,一般需要应用m v c ( m o d e l v i e wc o n t r o l l e r ) 模式。本文采用的w e b 层框架是s t r u t s ,因为s t r u t s 出现很 早,已经广泛被运用,基本上做j 2 e e 的开发人员对s t r u t s 都不陌生,这可以 使使用该架构的开发人员对其很快上手。s t r u t s 做为w e b 层框架的代表之一, 可以说是对m v c 模式的最好注解。 3 1 1s t r u t s 概述 s t r u t s 是由a p a c h e 开源软件联盟提供的一套用于构建j a v aw e b 应用程序 的框架,经过多年的发展现已经逐渐成长为一个稳定、成熟的框架】。它利用 j a v as e r v l e t ,j s p 和t a g l i b 技术为j a v aw e b 应用提供了m v c 设计模式的框架, 很好地实现了m v c ,而且其标记库具有强大的页面开发功能,可以更加快速 的利用m v c 理论进行系统的设计和开发。使用s t r u t s 框架可以将商业逻辑、 控制和数据显示功能模块区分开来,这样对其中一个模块的改动不会影响到其 它模块,开发人员可以分别集中开发商业逻辑模块、应用过程控制模块和数据 显示模块,而不用担心这三个模块的祸合问题。其已被越来越多地运用于很多 大型系统,成为目前w e b 应用开发中最为流行的框架之一【1 5 】。 3 1 2s t r u t s 的体系结构 s t r u t s 通过把一组相互协作的组件、s e r v l e t 以及丰富的t a g l i b 标签库结合 在一个统一的框架中,将m v c 模式所具有的“分离业务逻辑和显示逻辑”的 能力发挥到了极点 1 6 1 ,其由以下四个主要部分组成:模型、视图、控制器和x m l 文件。s t r u t s 的体系结构与工作原理参见图3 1 所示。 1 ) 模型( m o d e l ) 在s t r u t s 框架中,模型部分包括a c t i o n 和a c t i o n f o r m 对象。所有的a c t i o n 处理器对象都是开发者从s t r u t s 的a c t i o n 类派生的子类。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 处理 1 0 轻量级j 2 e e 架构在油田物资管理系统的研究与应用 器对象可以直接对它进行读写,而不再需要和r e q u e s t ,r e s p o n s e 对象进行数据 交互。通过a c t i o n f o r m 组件对象实现了对视图和模型之间交互的支持。s t r u t s 通常使用一组j a v a b e a n 表示系统的内部状态,在实现时把动作和业务逻辑分 离,从而实现业务逻辑的重用。 图3 - 1s t r u t s 的体系结构与工作原理 f i g3 - 1s t r u t sf r a m e w o r k 2 ) 视图( v i e w ) s t r u t s 应用中的视图部分是通过j s p 技术实现的。s t r u t s 提供了自定义的 标记库( t a gl i b r a r i e s ) 使用,通过这些自定义标记可以非常好地和系统的模型 ( m o d e l ) 部分交互。而由此创建的j s p 表单,可以实现和模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆市初中学业水平考试化学模拟试卷(含答案详解)
- 2025咪咕视讯科技有限公司职业经理人岗位公开选聘1人笔试题库历年考点版附带答案详解
- 2025中煤天津设计工程有限责任公司公开招聘笔试题库历年考点版附带答案详解
- 2025中国联通校园招聘新苗(2151个)岗位已出笔试题库历年考点版附带答案详解
- 2025年危重病房急救规范操作考核模拟试卷答案及解析
- 2025年智能硬件行业智能家居与可穿戴设备研究报告
- 2025年文化创意行业数字化转型与内容创新研究报告
- 2025年工业0行业智能制造技术实践研究报告
- 2025年教育行业在线教育模式创新与用户体验研究报告
- 2025年体育用品行业体育用品市场前景分析研究报告
- 2025年云南交投集团校园招聘管理人员86人笔试参考题库附带答案详解
- 2025国际留学合作协议书范本(合同文本)
- 班主任考试题库及答案
- 纺织面料设计师岗位操作技能考核试卷及答案
- 2025年中国中煤能源集团有限公司人员招聘笔试备考题库附答案详解(完整版)
- 酸碱防护知识培训课件
- 第十三章 三角形 单元试卷(含答案) 2025-2026学年人教版数学八年级上册
- 基于等保20网络安全制度的企业网的规划与设计
- 【课件】选择健康的生活方式+课件-2025-2026学年人教版2024八年级上册生物
- 中国水库管理办法
- JJF 2257-2025大气挥发性有机物在线监测仪校准规范
评论
0/150
提交评论