(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf_第1页
(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf_第2页
(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf_第3页
(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf_第4页
(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的多层web系统框架研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于j 2 e e 的多层w e b 系统框架研究与设计 作者简介:肖颖,女,1 9 8 3 年2 月生,师从成都理工大学洪志全教授,2 0 0 8 年7 月毕业于成都理工大学计算机应用专业,获得工学硕士学位。 摘要 随着( 电子商务) 办公自动化系统在各大企事业单位的普及应用和发展,企业 处理业务的传统模式正面临着极大的挑战。标准业务系统正是在这种情况下,根 据质监局标准化的业务需求所提出并进行设计的。 论文首先介绍了j 2 e e 平台、m v c 设计模式、e j b 组件和s t r u t s 、h i b 锄a t e 等丌源框架。分析了现今开发过程中常遇到的不同种类的开发技术、开发环境以 及丌发架构,分析其各自利弊,引出论文中重点描述的多层架构的分层开发模式。 在多层w 曲体系架构的设计中,论文首先研究整合h i b e m a t e 和s t m t s 两个 开源框架,并通过对e j b 组件的使用,从而形成一个层次清晰,具有较高集成 度的,基于j 2 e e 的企业级分层开发架构。通过对该开发模式涉及的各关键技术、 概念进行具体分析、描述,并将该整合的架构运用到标准化信息平台系统的开发 中。最后探索分析目前解决方案的不足,得出研究结论。 本文将结合某质监局标准管理系统,采用j 2 e e 的开发平台,以e c l i p s e + j b o s s 为开发环境,整合s t r u t s 和h i b e r i l a t e 两大开源框架,并采用e j b 组件技术, 完成该系统采用多层设计架构,并对此架构模式在该系统中的具体应用进行深入 探讨和研究。本课题的研究为中小型企业开发信息化管理系统,提高企业信息化 技术的应用和整个标准化业务处理的整体水平和效率具有一定的参考价值。 关键词:多层结构;m v c 设计模式;j 2 e e 平台;s t l l l t s :e j b ;h i b e m a t e 成都理工大学硕士学位论文 r e s e a r c ha n dd e s i g no fm u l t i l a y e rf r a m e w o r kb a s e do nj 2 e e i n 们d u c t i o no ft h ea u t h o r :x i a 0y i n g ,矗锄a l e ,w a l sb o mi nj u l y l9 8 3 、地o s e t l l t o rw 弱p r o f e s s o rh o n gz h i q u 锄s h e 伊a d u a t e df b mc h e n 酣uu 1 1 i v e r s j t yo f t e c h n o l o g yi nc o m p u t e ra p p l i c “o nm a j o ra j l dw a s 伊a n t e dt h em a s t e rd e 伊e ei n j u n e 2 0 0 8 a b s t r a ct a 1 0 n gw i t ht h ed e v e l o p m e n ta n dw i d e r 印p l i c a t i o no fo 衔c ea u t o m a t i o ns y s t 锄, t h e 仃a d i t i o n a lp r o c e s so fb u s i n e s sm o d e lh a sb e e l lf a c e dae x t r e m e l y 伊e a tc h a l l e n g e t h es t 加d a r db u s i n e s ss y s t 锄i sd e s i 印e df o r t h eb u s i n e s ss t a l l d a r d i z a t i o np r o c e s so f b u r e a uo fq u a l i t ya n dt e c h n i c a l f i r s t l yt h i sp a p e ri n t r o d u c e sm ej 2 e ep l a t f o 肌,m v cd e s i 印m o d e l ,e j b c o m p o n e n t ,锄do p e l l - s o u r c e 仔锄e w o r k1 i k es t r u t s ,h i b e m a t e t h ep a p e ra n a l y s e st h e c u r r e n td e v e l o p m e n tp r o c e s so r e ne 1 1 c o u n t e r e di nt h ed e v e l o p m e n to f d i 仟e r e n tt y p e so f t e c h n o l o g y ,d e v e l o p m e n te n v i r o 啪e n ta n dt h ed e v e l o p m e n t 仔锄e w o r ka n dt h e i r r e s p e c t i v ea d v a n t a g e s a n d d i s a d v a n t a g e s , l e a d si n k e yp a p e rd e s c 抽i n g t h e d e v e l o p m e n to ft h em u l t i - 1 a y e rm o d e l i nm u l t i - l a y e rs t r u c t u r eo ft h ew r e bs y s t e md e s i 印,i n t e 伊a t i o no fr e s e a r c hp a p e r s f i r s tr e s e a r c hh o wt w oo p e n s o u r c eh i b e m a t ea n ds t r u t s 舶m e w o r kt ob ei n t e g r a t e d w i t h i na l l d ,t h r o u 曲t h eu s eo fe j bc o m p o n e n t s ,t h u sf o 丌n i n gac l e a rl e v e lo fh i 曲 i n t e 伊a t i o no fj 2 e e - b a s e de n t e 叩一s e c l a s sl a y e r e df r a m e w o r k t h e nt h e 仔a m e w o r ki s u s e di ns t a n d a r d i z a t i o ni n f o m a t i o np l a t f o n 7 n l r o u g ht h ed e v e l o p m e n tm o d e lo ft h e k e yt e c h n o l o 百e si n v o l v e d ,t h ec o n c 印to fas p e c i f i ca n a l y s i s ,d e s 嘶p t i o n ,a n dt h e i n t e 伊a t e d 觑i m e w o r kt ou s e s t a n d a r d i z e di n f o 册a t i o np l a t f 0 丌nf o r t h ed e v e l o p m e n to f t h es y s t e m l a s tt h ed i s a d v a n t a g eo fi i e s 0 1 v ep r o p o s a li sa n a l y s i s e da n dt h er e s e a r c h r e s u l ti sc o n c h 】d e d n i s p a p e ri sac o m b i n a t i o no f s i a n d a r dm a n a g e m e n ts y s t 锄o fb u r e a uo fq u a l i t y a n dt e c t u l i c a lt h a tu s e sj 2 e ed e v e l o p m e n tp l a t f b 珊,e c l i p s e + j b o s se n v i r o n m e n tf o r t h ed e v e l o p m e n t ,i n t e 伊a t i o na n dh i b e m a t es t r u t st v v oo p e n - s o u r c ef b m e w o r ka n d a d o p t st h ee j bc o m p o n e n tt e c h n o l o g y c o m p l e t et h ed e s i 印o ft h es y s t 啪u s i n g m u l t i l a y e rs t l l l c 仙广e ,a n di nt h i s 舶m e w o r ko f t h es y s t e mi nt h es p e c i f i c 印p l i c a t i o no f a b s t r a c t a 1 1i n d e p t he x p l o r a t i o na n ds t u d y t h es u b j e c to fs t l l d yf o rt h ed e v e l o p m e n to fs m a u a n dm e d i u m - s i z e de i l t e 印r i s e si n f o 咖a t i o nm a l l a g e i l l e l l ts y s t 锄t oe n l l a n c ee 1 1 t e 印r i s e i n f o 咖a t i o nt e c h n o l o g y 印p l i c a t i o n sa n dt h es t a l l d a r d i z a t i o no f b u s i n e s sp r o c e s s e sa l l d e 历c i e i l c yo ft h eo v e r a l ll e v e lo fac e r t a i nr e f - e r e l l c ev a l u e k e y w o r d s :m u l t i t i e rs t l l j c t l l r e ;m v cm o d e l ;j 2 e ep l a t f o 彻;s t 兀l t s ;e j b ;h i b 黜a t e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得盛都理王太堂或其他教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名: 肖物 口d 另年多月匆日 学位论文版权使用授权书 本学位论文作者完全了解成都堡王太堂有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅。本人授权应都理工太堂可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:镩缦 学位敝储新虢悸短 6 9 年 厂月勿 同 第1 章引言 1 1 课题来源和背景 第1 章引言 在当前信息化、全球经济一体化的大趋势中,办公信息化作为各企事业单位 信息化的基础,为单位内部业务工作提供了信息化支持,并影响着该单位的社会 竞争力和自身发展前景。在经历了近2 0 年的信息化发展过程后,信息管理软件 从过去主要用于提高工作效率,加强内部管理,逐渐成为帮助企业获得更大效益 的工具。这种变化使软件开发面临新的挑战,如:如何使软件快速适应需求的变 化,同时满足可用性、高可靠性、可维护性以及可扩展性等特点。这些都成为软 件开发过程中需要解决的重要问题。 随着对系统要求的逐步提高,分层式基于框架开发的概念为设计者们提供了 新的出路。本文基于j 2 e e 的概念,结合现今流行的几种开源架构,分析和深入 讨论了如何构建一种支持高效构建,并实现功能稳定、应用高效的多层w 曲系 统开发模式。基于此模式,并遵循办公信息系统的业务性质,结合某质检局标准 编码所各部门的业务需求,构建完全w 曲化的一个基于j 2 e e 开发平台的b s 结 构的分层设计的办公系统。 1 2 选题的依据和意义 作为传统的系统开发方法,一旦企业或组织内部需求发生变更,往往需要对 原有的系统进行大换血式的改动。这些改动所带来的工作量往往很大,甚至是企 业难以负担的。 作为企业级的中间件,采用基于j 2 e e 平台的多层w 曲系统,结合应用e j b 企业级组件和框架技术,可以对多种形式的业务流程进行系统化的有效管理,业 务人员可以根据业务需要,对系统进行优化,而不需要太多重复的开发,从而降 低企业成本,提高资源使用率。 随着从c s 架构向b s 架构的迁移,凡是采用j 2 e e 标准的企业级应用,无 论国内国外,普遍采用多层架构的模式来实现。这其中最经典的莫过于三层架构, 即c l i e n tt i e r - m i d d l et i e r s e r v e rt i e r 。但是随着企业级应用对分布式、高效性、 可维护性、扩展性以及开发周期上越来越高的要求,迫使新的技术和理念的产生, 从而更好地迎合不同系统业务的需求。 以j a v a 技术为基础的j 2 e e 架构是上述问题的一个很好的解决方案。因为它 融合了大量的技术标准,提供了多层分布式应用模型、组件复用模型、统一的安 成都理工大学硕士学位论文 全模型和灵活的事务控制,为开发和配置企业应用程序提供了健壮、跨平台且稳 定的服务。这有助于在保证功能稳定的情况下,增加系统灵活性,同时使得开发 过程更结构化。 基于j 2 e e 架构,同时整合两个优秀开源框架h i b 锄a t e 和s t m t s ,并整合功 能强大的e j b 组件来解决业务逻辑,从而形成一个具有较高集成度的企业级应 用开发架构。最后再把整合的架构运用到质监局标准化信息平台系统应用项目中 去。 1 3 主要研究内容和目标 本论文所研究的系统,主要整合了h i b e m a t e 和s t r u t s 两个开源框架,并通 过使用e j b 组件,从而形成一个具有较高集成度、层次清晰、适合于企业应用 的,基于j 2 e e 的分层开发架构。 本文首先从理论上论述了j 2 e e 的开发平台和层次结构,组件和容器的功能 和应用。然后对m v c 的设计模式进行了分析,并提出把基于m v c 设计模式的 s t l l l t s 开源框架应用到j 2 e e 的架构中来的设计开发方案。同时,结合h i b e m a t e 开源框架在对象关系模型中的处理数据的优势,完成系统在数据层和持久层的处 理。利用e j b 组件在处理业务逻辑中的特点,完成系统业务逻辑的处理工作。 从而将s t m t s 框架、h i b 锄a t e 框架和e j b 技术有机整合起来,提出适合与办公 信息系统开发的一套体系架构,即s t r u t s + h i b e n l a t 时s e s s i o n b e a i l 的体系架构。 本文重点对系统分层架构、m v c 设计模式、e j b 组件在处理业务逻辑以及 整合开源框架等方面做出分析和探讨。对该开发模式中所涉及到的各个关键技 术、概念进行具体阐述理解,然后对该开发模式进行具体分析、描述,最后对目 前解决方案的不足进行探索分析,总结得出研究结论。 整合方案在某些方面做出一些创新,并通过方法和技术的整合对系统开发过 程进行了改善。使得开发层次更加清晰,成熟的组件和框架的使用降低了开发的 风险,加强系统的集合性。 最后,要加快我国信息化步伐,开发出优质高效的信息系统。在开发和实现 的过程中,总结整合s t r u t s 和h i b e m a t e 架构,并作为系统的实现手段,结合e j b 组件完成业务逻辑,形成合理的基于j 2 e e 的多层架构开发模式。这为以后相似 系统的开发探索出一条方便、有效的新途径有一定的意义。 本文的主要研究工作: 1 通过阅读和参考大量的国内外资料,对j 2 e e 框架体系、m v c 设计模式, 以及基于m v c 设计模式的s t r u t s 开源框架进行具体和深入地探讨。提出了基于 第1 章引言 j 2 e e 架构的,以s t t l j t s 框架实现m v c 设计模式,将系统的表示层和业务逻辑层 分离的开发模式。 2 详细讨论了h i b e n l a t e 框架的核心a p i 和e j b 组件技术,并阐述了它们 在系统多层架构中所起到的作用,以及它们在提升系统性能中所起到的作用。并 通过将e j b 组件中的s e s s i o n b e a n 和h i b e m a t e 结合,实现一个基于j 2 e e 的多层 w e b 框架。 3 最后,结合质监局标准与编码所标准平台的系统,将s t m t s + h i b e m a t e + s e s s i o n b e a n 的框架和相关技术加以应用,并对其关键技术的整合设计和实现进 行了详细说明。 1 4 国内外研究与发展现状及趋势 现今衡量j 2 e e 应用系统设计开发水平高低的标准就是解耦性,也即应用系 统各个功能是否不相互依赖。因为只有系统的低耦合、高内聚,才更能体现出系 统的高维护性、高拓展性的软件设计目标。由此,各种框架概念应运而生。其中, 基于企业级的b s 系统的应用常常采用j 2 e e 框架。该框架标准将一个系统划分 为w 曲和e j b 两个主要部分。w 曲与e j b 都是j 2 e e 重要的组成部分,重要业 务功能核心都封装在e j b 中,w 曲层提供是一种和界面相关的层次,它们的结 合使用能够使得系统结构更加完善和清晰。 当然我们有时不是以这个具体技术作为区分,而是从设计上抽象为表现层、 处理商业逻辑的业务逻辑服务层和管理并简化数据库操作的数据持久层,通过这 三个层次将j 2 e e 分离,实现解耦目的。 在实际编程中,框架技术也就是基于对j 2 e e 组件的运用,将功能划分到设 计上抽象的这三个层次,并借助j 2 e e 具体技术来实现。就是使用e j b 规范实现 业务逻辑服务层和持久层,w e b 技术实现表现层。即用分层结构实现层次功能的 划分。 现今,层次的再划分和新的软件架构思想,成为了大家所关心的方向,这同 时也就产生了新的软件架构思想:m v c 设计模式和众多开源框架的实现。 现将基于j 2 e e 的企业级应用开发的主要几种分层量级开发模型简要介绍, 如图1 1 所示。 成都理工大学硕士学位论文 图1 - l 多层架构设计 企业级应用程序的分层体系结构的几种模式可为: 1 1 双层应用 这是企业级应用程序的最初形式,基于c s 架构。客户端负责数据访问、实 现业务逻辑、用合适的样式显示结果、弹出预设的用户界面、接受用户输入等, 而s e r v e r 专指数据库层。这种模式经常基于某种专有的协议,难于升级或改进。 它使得重用业务逻辑和界面逻辑非常困难。通常不能体现出很好的伸缩性,很难 适应h t 锄e t 的要求。 2 ) 三层应用 常用与基于b s 的架构。三层分别指表现层、业务逻辑层和数据库层。表现 层是用户实际看到的用户界面,业务逻辑层处理用户在表现层的操作,并相应地 操作数据库层。 3 1 四层应用 随着功能强大的分布式重量级企业级应用程序的采用,以前的3 层应用架构 越来越难以满足要求,特别表现在业务逻辑层对数据库的操作上。由于分布式的 特性,集群服务器的普及、对象与关系数据库“天生”的差异以及程序员急需从 单调的s q l 中解脱出来的需要等因素迫使其分裂出新的层:持久化层,同时也 产生了新的技术与工具,如对象关系映射o l 洲( o b j e c tr e l a t i o n s h i pm a p p i n 曲以及 很好地实现o r m 技术的开源框架h i b e n l a t e 等。 4 1n 层应用 未来多层的系统,其构成尚不可知,但是其成功的重要标准必然是层次之问 清楚、数据之间彼此分离、开发简单、实际利于应用和扩展。 在目前的实际w 曲开发及应用中,基本上是基于b s 架构的三层或四层架 构。本文基于j 2 e e 体系标准架构并实现了m v c 结构的先进软件设计模式,利 4 第1 章引言 用很好实现了o r m 技术的优秀开源框架h i b e n l a t e ,同时采用了j 2 e e 中的e j b 组件,率先提出了一种新的多层w 曲系统的设计开发框架模式,设计出介于三、 四层应用之间的分层模型系统,并在实际项目中很好的实施与运用。 成都理工大学硕士学位论文 第2 章j 2 e e 概述 j 2 e e 是一套完全不同于传统应用开发的技术架构,j 2 e e 平台本质上是一个 分布式的服务器应用程序设计环境。它包含许多组件,可以简化且规范应用系统 的开发与部署,从而提高系统的可移植性、安全与复用价值,常用于建设大型的 分布式企业级应用程序,或者是“电子商务 应用程序。基于j 2 e e 的企业级应 用程序的适用范围很广,可能大到拥有中心数据库服务器、w e b 服务器集群和遍 布全国的办公终端,也可能小到只不过是一个网站。 2 1j 2 e e 概述 目前,j a v a2 平台有3 个版本,它们分别为:适用于小型设备和智能卡的j a v a 2 平台m i c r o 版( j a v a2p l a t f o 肌m i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的j a v a2 平台标准版( j a v a2p 1 a t f o 姗s t a n d a r de d i t i o n ,j 2 s e ) 、适用于创建服务器应用程序 和服务的j a v a2 平台企业版( j a v a2p l a t f o n ne n t e 印r i s ee d i t i o n ,j 2 e e ) 。 j 2 e e 作为j a v a2 平台的3 个版本之一,是一种利用j a v a2 平台来简化企业 解决方案的开发、部署和管理相关的复杂问题的体系结构。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 n l e t 应用中保护数据的安全模式等等。同时j 2 e e 还提供了 对e j b ( e n t e 叩一s ej a v a b e a n s ) 、j a v as e 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 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投 放市场时间的体系结构。 2 2j 2 e e1 4 的架构 j 2 e e 平台是使用一个多层分布式应用程序模型开发企业应用程序。应用程 序逻辑根据功能被划分为组件。构成j 2 e e 应用程序的不同的组件被安装在不同 的机器上,原则上根据j 2 e e 环境的层来分布。c 1 i e n t t i e r 组件运行在客户机器 上,w e b t i e r 组件运行在j 2 e e 服务器上,b u s i n e s s t i e r 组件运行在j 2 e e 服务器 上,e n t e r p n s ei n f o 册a t i o ns y s t e m ( e i s ) 一t i e r 软件则运行在e l s 服务器上。 j 2 e e 整个框架可分为客户端,表示( w 曲) 层,业务逻辑( e j b ) 层,企业 信息( e i s ) 层四层架构。 6 第2 章j 2 e e 概述 客户端就是需求方,可以是b r o w s e r ,也可以是一般的a p p l i c a t i o nc l i e i l t ; 表示层主要就是通过s e r v l e t 、j s p 等技术进行服务器端的w 曲组件的编程,并 且协调与客户端之间,与业务逻辑层之间的数据传递;业务逻辑层主要是通过 e j b 、j m s 来实现比较复杂的业务逻辑以及数据库存储工作,并且可以通过容器 来进行管理事务、安全问题,并且可以对业务逻辑层的组件进行生命周期的管理; 企业信息层主要是指企业信息系统软件,包括企业基础设施系统,如e r p ( 企业 资源计划) 、c i 洲( 客户关系管理) 、d b s ( 数据库系统) 和企业遗留系统。 恩一 下_ 图2 1j 2 e e 容器和组件 j 2 e e 是一种由j a v a2 平台来简化企业级解决方案的开发、部署和管理相关 复杂问题的体系结构。它的技术基础是核心的j a v a2 平台的标准版本。而j 2 e e 不仅是巩固了标准版本中的许多优点,如“编写一次,到处运行 ,存取j d b c a p i 的数据库技术,在i n t 锄e t 应用中的安全机制等,同时还提供了e j b 、s e r v l e t s 、 j s p 技术在内的共1 3 项技术的一个全面的支持。 作为一个开放的、基于标准的平台,j 2 e e 平台可以用于开发、部署和管理 n 层结构、面向w 曲的、以服务器为中心的企业级应用。 2 3j 2 e e 平台与层次 j 2 e e 使用多层的分布式应用模型,应用逻辑功能划分为组件。各个应用组 件根据所在的层分布在不同的机器上。j 2 e e 的多层结构包括运行在客户端机器 上的客户层组件、运行在j 2 e e 服务器上的w 曲层组件、运行在e i s 服务器上的 企业信息系统层组件。 7 l 一 - 成都理工大学硕士学位论文 2 4j 2 e e 组件和容器 j 2 e e 应用由许多组件组成,j 2 e e 组件是一个自我封装的功能软件单元,它 将通过相关的类、文件和与其它组件的通讯,被集成进j 2 e e 应用。组件可以重 复利用,每个组件都需要被打包。每个组件由特定格式的) ( m l 描述符文件进行 描述,而且服务器端的组件都需要被部署到应用服务器上面才能够被使用。而容 器在应用服务器中则扮演中间件的角色,比如说w 曲容器就是为j s p 、s e r v l e t 提供一个环境,使之不用关注系统问题。e j b 容器则是为e j b 组件提供各种系统 级别的服务。比如事务管理,安全管理等,对e j b 组件进行高效的管理。 2 4 1 j 2 e e 组件 j 2 e e 应用程序由组件构成。一个j 2 e e 组件是一个自包含的功能性软件单元, 这个软件单元与它的相关类和文件组装进一个j 2 e e 应用程序,并实现与其他的 组件的交流。 j 2 e e 平台采用多层次分布式的应用模式,这意味着组成j 2 e e 应用的不同应 用组件,按照不同的应用逻辑和功能被安装在不同的服务器上。按应用组件属于 多层次j 2 e e 环境中的层次,组件可划分为:运行在客户机器上的客户层组件、 运行在j 2 e e 服务器上的w 曲层组件、运行在j 2 e e 服务器上的业务层组件和运 行在e i s 服务器上的企业信息系统层软件。 1 客户层组件 一个j 2 e e 应用可以是基于w e b 的或不基于w 曲的。对于不基于w 曲的j 2 e e 应用,应用客户端软件将运行在客户端机器上,为用户处理象j 2 e e 系统或应用 管理这样的工作。通过使用应用客户端软件,可以直接访问运行在业务层的企业 b e a n 。当然,如果通过j 2 e e 应用客户端允许,还可以建立h 1 v r p 连接,与运行 在w e b 层的s e r v l e t 进行通讯。而对于基于w 曲的j 2 e e 应用,浏览器会下载 w 曲页面和小程序( a p p l e t ) 到客户端机器上。 2 w e b 层组件 j 2 e e 的w e b 组件是j a v as e r v l e t s 和( j a v a s e r v e rp a g e ) j s p 页面。j 打as e r v l e t s 是j a v a 语言编写的类,这个类动态处理请求和建立回复。j s p 是基于文本的文档, 包含静态内容和小段的j a v a 编程语言代码用以生成动态内容。当j s p 页面被调 用时,后台s e l e t 执行这小段代码,并返回结果,是一个允许更接近于自然的 静念内容。 3 业务层组件 业务层,是由e n t e r p s ej a v a b e a n ( e j b ) 来处理的。它作为运行在服务器端 的商业软件,其业务代码通过运行在业务层的企业b e a n s 被操作。一个企业b e a i l 第2 章j 2 e e 概述 可以从客户端程序接收数据、处理数据和发送到企业信息系统层。一个企业b e a j l 也从存储区接收数据、处理数据和发送数据到客户端程序。企业b e a n s 有三类, 分别是会话b e a n s ( s e s s i o nb e a n s ) 、实体b e a j l s ( e n t i t yb e a n s ) 和消息驱动b e a n s 。 一个s e s s i o nb e a n 代表一个与客户的临时会话。当客户结束操作时,这个s e s s i o n b e a n 和它的数据就消失了。反之,实体b e a n 表示一个永久存储在数据库表中的 数据。如果客户结束操作或服务器关机,后台操作保证实体b e a n s 的数据存储下 来。而一个消息驱动的b e a n 则结合了s e s s i o nb e a n 和j a v a 消息服务( j m s ) 消 息侦听器的功能,允许业务组件以异步的方式接收j m s 消息。 4 企业信息系统层 企业信息系统层处理企业信息系统软件,包括企业体系结构系统如企业资源 规划( e r p ) 、大型机交易处理、数据库系统、以及传统信息系统。j 2 e e 应用组 件需要访问企业信息系统,例如建立数据库连接等等。 2 4 2j 2 e e 容器 组件在部署时被安装在容器之中,是通过组件和特定平台底层功能之间的接 u 来支持组件。在w e b 、企业b e a n s 或者应用客户端组件被执行以前,它必须被 组装到j 2 e e 应用里,并且被部署到它的容器里。像j 2 e es e r v i c e s ,如j t a 等j 2 e e 基础服务或组件,只能对运行在j 2 e e 容器内的应用才可用,例如,w e b 应用和 w e bs e r v i c e s 和e j b 应用。j 2 e e 容器类型如图2 2 所示: 黼誊罐麟i 荔鬻戮睡戮褫爨露翰孵踵蠢 蘩攀h 丌一 洌缓戮渤戮缀缀鍪黪瓣jj ! 。;? 誊黼j 。- 一i 。篓滋 抽pc i i e n t 薹l n 乜i 瞄鼻 懋 图2 2j 2 e e 容器 e j b ;蠢 穗 各类型容器的的功能如下: 】e j b 容器,管理着j 2 e e 应用中所有的企业b e a n s ,它运行在j 2 e e 服务器 上,提供对企业b e a n s 的本地访问和远程访问。具有负责创建企业b e a n ,将企 业b e a n 绑定到命名服务,以使其他应用程序组件可以访问企业b e a n 。确保只 9 成都理工大学硕士学位论文 有授权的客户机才能访问企业b e a i l 的方法,高速缓存b e a i l 的状态以及在必要时 激活或钝化b e a l l 等功能。 2 w 曲容器,运行在j 2 e e 服务器上,它为j 2 e e 应用管理所有的j s p 和s e r v l e t 组件,扩展了w 曲服务器的功能。 3 应用客户端容器,为j 2 e e 应用管理着所有的应用客户端组件,运行在客 户端机器上。 4 小应用程序( a p p l e t ) 容器,是w 曲浏览器和j a v a 插件的组合,运行在客 户端机器上。 j 2 e e 容器的主要功能是为j 2 e e 应用程序组件提供运行时支持,而j 2 e e 应 用程序组件则是通过使用容器的协议和方法来访问服务器提供的其他应用程序 组件和服务。 除此之外,容器还管理着不可配置服务,如企业b e a j l 和s e 1 e t 的生命周期、 数据库连接资源池、数据持续性( p e r s i s t e n c e ) 、以及j 2 e ea p i 中描述的访问j 2 e e 平台的a p l 。尽管数据持续性机制是一个不可配置服务,j 2 e e 架构允许你在需 要比缺省的容器管理的持续性机制更多的控制时,用你的企业b e a n 实现中的相 应的代码覆盖原有的容器管理的持续机制。例如,你可以使用b e a n 管理的持续 性机制来实现你自己的搜索方法,或创建个性化的数据库缓存。 2 5j 2 e e 关键技术 j 2 e e 的架构是由很多种核心技术所支撑的,它们分别有e j b ( e n t e 叩一s e j a v a b e a n s ) 、c o r b a 、r m i ( j a v ar e m o t em e t h o di i l v o c a t i o n ) 、j s p ( j a v as e r v l e t p a g e ) 、j a v a s e r v l e ta p i 、j a v a b e a n 、j d b c 、x m l 、j m s ( j a v am e s s a g es e i c e ) 。 j i d l ( j a v a i n t e r f a c ed e f i n i t i o nl a n g l l a g e ) 、j n d i ( j a v an 锄i n ga n dd i r e c t o 呦、 j t s ( j a v at r a n s a c t i o ns e r v i c e ) 等。现简要介绍其中常用的几种技术。 1 w e b 服务器 w 曲服务器提供一个或多个w 曲容器。例如,w 曲容器一般依赖于w 曲服 务器提供h t t p 消息管理。j 2 e e 的实现不是必须支持某个特定的w 曲服务器, 这意味着不同的j 2 e e 产品对w e b 服务器的支持是变化的。 2 数据库访问 关系性数据库对应用数据提供持久的存储。 3 j 2 e e a p l j a v a2 平台标准版( j 2 s e ) s d k 在运行j 2 e es d k 时是必需的,它为编写j 2 e e 组件提供核心a p l 、核心开发工具、以及j a v a 虚拟机。j 2 e es d k 提供下列a p i 供j 2 e e 应用使用。 4 企业j a v a b e a n s ( e j b ) 技术 1 0 第2 章j 2 e e 概述 一个企业b e a n 是一段包含域和方法的代码体,用于实现业务逻辑的一个模 块。可以认为企业b e a n s 是一个构建模块,可以单独使用或与其他企业b e a i l s 一 起在j 2 e e 服务器上执行业务逻辑,而e j b 组件则是包含商业逻辑的j a v a 编程语 言服务器组件。 企业j a v a b e a n s 包含三种类型:会话b e a j l s ( s e s s i o nb e 觚s ) 、实体b e a n s 和 消息驱动b e a n s ,这些已经在组件中有过描述。有了实体b e a n s ,你无需编写任 何s q l 代码或直接使用j d b ca p i 执行数据库访问操作,转而由e j b 容器替你 处理。当然,如果你覆盖了缺省的容器管理持续性机制,你将需要使用j d b c a p i 。 同样,你选用s e s s i o nb e a n s 访问数据库,你必须使用j d b ca p i 。采用h i b e m a t e a p i 来实现对j d b ca p i 的封装并与s e s s i o nb e a n s 进行整合将在后续进行介绍。 5 j d b c a p l j d b ca p i 是你可以从j a v a 编程语言的方法中,调用s q l 命令。你在覆盖 了缺省的容器管理持续性机制,或选用s e s s i o nb e a n s 访问数据库,则企业b e a j l 中访问数据库必须使用j d b c a p i 。有了容器管理持续性机制,数据库访问操作 由容器来处理,你的企业b e a n 的实现中不包含j d b c 代码或s q l 命令。你也可 以从s e r v l e t 或j s p 页面中直接使用j d b ca p l 访问数据库,而不通过企业b e a n s 。 j d b c a p i 由两个部分:一个适用于应用组件访问数据库的应用驱动接口; 一个是隶属于j 2 e e 平台的服务提供接口。 6 j a v as e 1 e t 技术 j a v as e r v l e t 技术为你定义h t t p 专用的s e l e t 类。一个s e r v l e t 类扩展了服 务器的能力,这个服务器存放着应用,而应用是以请求一响应编程模式被访问的。 尽管s e 1 e t 可以响应任意形式的请求,但是它通常被用于扩展w 曲服务器存放 的应用。 7 j a v a s e r v e rp a g e s ( j s p ) 技术 j s p 页面技术是你能够在基于文本的文件中结合小段的j a v a 编程语言代码 和静态内容。一个j s p 页面是一个基于文本的文件,它包含两种类型的文本:静 态模板数据,它可以表示为任何基于文本的格式,如h t m l 、w m l 和x m l ; j s p 元素,决定这个页面如何构造动态内容。 2 6 本章小结 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用 性、高可靠性以及可扩展性的应用的需求。通过提供统一的丌发平台,j 2 e e 降 低了开发多层应用的费用和复杂性,同时对现有应用程序集成提供了强有力支 持,完全支持e n t e 叩r i s ej a v a b e a n s ,并且有良好的向导支持打包和部署应用,添 加目录支持,增强了安全机制,提高了性能。 成都理工大学硕士学位论文 第3 章m v c 模式设计 3 1m v c 设计思想 j 2 e e 框架标准提出了多层分布式应用模型,即将一个系统划分为w 曲和业 务逻辑两大部分,从设计上划分为表示层、业务层和持久层。三个层次将j 2 e e 企业级应用系统开发中的用户接口、具体业务逻辑、数据库访问操作在设计中分 离开来,让系统层次上更加分明,逻辑结构上更加松散耦合。基于j 2 e e 开发设 计系统时常用到m v c 结构模式,即将系统从开发上分成m o d e l v i e w c o n t r o l l e r ( 模型一视图控制器) 三部分,对应的w 曲应用分成模型、视图和控制器三层, 层次问逻辑处理如图3 1 所示。 图3 1m v c 模式结构图【8 】 m v c 是一种目前广泛流行的软件设计模式,是“m o d e l v i e w c o n t r o l l e r ”的 缩写( 即“模式一视图控制器”) 。它最早由s m a l l t a l k 语言研究团提出的,应用于 用户交互应用程序中1 1 。m v c 模式是一种架构模式,其组成的三部分具体介绍 如下: 1 m o d e l ( 模型) 模型是m v c 设计模式的核心,是对业务流程状念的处理以及业务规则的制 定,它封装了应用程序的状态。它接受视图请求的数据,并返回最终的处理结果, 通知视图改变。而业务流程的处理过程对其它层来说则是黑箱操作。同时,模型 还为视图的显示提供数据,并可被多个视图所共用1 2 j 。 第3 章m v c 模式设计 模型用于表述应用逻辑,相当于在企业应用里的业务层。模型通常用于先把 源数据处理成需要的信息,然后再传送到视图中显示出来。并常常通过封装对数 据库进行查询,这充分利用了抽象数据库类的优势。 2 v i e w ( 视图) 视图提供模型的表示,它代表的是与用户交互的界面,是应用程序的外观展 现。m v c 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户 的请求,而业务流程的处理则交给模型( m o d e l ) 。视图对控制器将进行的操作也 一无所知,当更改模型时,视图才得到通知。比如一个机构信息的视图只接受来 自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模 型。 3 c o n t r o l l e r ( 控制器) 控制器对用户的输入做出反应。它也可以理解为将用户的输入请求按照一定 的逻辑,将模型与一个特定的试图匹配到一起。一个控制器就相当于一个分发器, 由他来选择采用什么样的模型和视图的组合,从而完成用户的请求。实际上,控 制器并不能对数据进行任何处理,而仅仅是起到一个桥梁的作用。例如,用户填 写完信息,点击提交按钮,控制层接收到这个提交请求后,并不处理业务信息, 而只把用户的信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论