已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee的网络教学平台应用中设计模式的分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于j 2 e e 的网络教学平台应用中设计模式的分析 摘要 当前,世界各国日益重视网络教育的发展,纷纷投入大量人力物力进 行相关技术的研发和推广。为了使系统能有灵活的可扩展性和跨平台的 可移植性,同时方便各子系统的集成,决定在j 2 e e 平台上开发项目。本 文在对j 2 e e 体系结构和设计模式的知识有所了解的基础上,结合网络教 学平台项目的研发实践,详细阐述了一个基于j 2 e f f 的系统从分析、设计 到实现的开发过程,并着重就在系统的架构设计和实际开发过程中系统 所使用的设计模式,以及如何有效的使用设计模式来改善程序开发过程 和系统性能方面的问题进行了分析和研究。 论文分为五个部分来描述本人的工作。在第一章简要介绍了论文课题 研究的背景;第二章讲述了课题开展所需要的j 2 e e 平台的相关基础知识; 第三章讲述了设计模式的基础知识;第四章阐述了网络教学平台系统开 发的需求分析、架构设计和具体实现的整个过程。并在其中着重就设计 模式在整个过程中的使用进行了分析,解读了在实践开发过程中平台所 应用的设讨模式,设计模式在系统中的具体实现。通过整个系统开发过 程证明合理利用设计模式将保证我们能设计出一个灵活可扩展的系统 来,同时改善系统的性能,提高开发效率;第五章总结,系统开发过程 昕积累的经验,并对系统可能的改进做出了展望。 作者参与了项目研发的全过程,实践证明结合设计模式来设计、开发 和改进系统,可以为系统提供良好的可扩展性,提高开发效率,对其他 j 2 e e 系统的开发也会有重要的指导和借鉴意义。 关键词j 2 e e 设计模式业务代理会话外观 a n a l a s l so fd e s ig np a t t e r n sl nt h ea p p l io a t l o n o fj 2 e eb a s e de d u o a tlo kp l a t f o r m a b s t r a o t t h ew o r l d p a y sm o r ea n d m o r ea t t e n t i o nt ot h ed e v e l o p m e n to fn e t w o r ke d u c a t i o n t oo b t a i na ne x t e n d a b l ea n d t r a n s p l a n t a b l es y s t e m ,a n di n t e g r a t es u b s y s t e m sc o n v e n i e n t l y , v v ed e c i d e dt oc o n s t r u c tt h e p r o j e c to f n e t w o r ke d u c a t i o np l a t f o r mo nt h ej 2 e ea r c h i t e c t u r e , a f t e ri m r o d u c i n gt h ek n o w l e d g eo fj 2 e ea r c h i t e c t u r ea n d d e s i g np a t t e r n s ,t h i st h e s i s d i s c u s s e st h ed e v e l o pp r o c e s so fe d u c a t i o np l a t f o r mf r o mr e q u i r e m e n ta n a l y s i s 、s y s t e m d e s i g n t o i m p l e m e n t a t i o nu s i n g j 2 e et e c h n i q u e s t h et h e s i s a n a l y s e s t h ef r a m e w o r k d e s i g na n dd e s i g np a t t e r n so f t h es y s t e m ,a n dd o e ss o m er e s e a r c ho nh o w t oi m p r o v et h e d e v e l o p m e n tp r o c e s sa n dt h ep e r f o r m a n c eo f t h es y s t e me f f e c t i v e l yt h r o u g hu s i n gd e s i g n p a t t e r n s , t h et h e s i sb r i n g sf o r w a r dt h es o l u t i o nb yf i v ep a r t s 。a tf i r s t ,i tp o i n t so n ti t s t h e b a c k g r o u n d ;s e c o n d l y i td i s c u s s e s t h er e l e v a mb a s i ck n o w l e d g ea b o u tj 2 e ep t a t f o m a ;i n t h et h i r dp a r t i td e s c r i b e st h ek n o w l e d g e o f d e s i g np a t t e r n s ;i n t h ef o u r t hp a r t i te x p a t i a t e s o nt h ed e x r e l o pp r o c e s sf r o mr e q u i r e m e n ta n a l y s i s ,s y s t e md e s i g nt oi m p l e m e n t a t i o n a n d e n a p h a s i z e st h ea n a l y s i so f t h eu s eo fd e s i g np a t t e r n si nt h ew h o l ep r o c e s sa n dt h ed e t a i lo f t h e i l i m p l e m e n t a t i o n p r o p e ru s eo fd e s i g np a t t e r n sw i l le n s u r eaf l e x i b l ea n de x t e n d a b l e s y s t e m 。a n di m p r o v et h es y s t e m sp e r f o r n l a n c e a n dd e v e l o p m e n te f f i c i e n c y , f i n a l t y ,i t s u m m a r i z e st h ee x p e r i e n c et h r o u g h o u tt h ew h o l ep r o c e s s ,a n ds h o w sp r o s p e c t so ft h e p o s s i b l ei m p r o v e m e n t t h e p r a c t i c ef u l l yp r o v e st h a tu s i n gd e s i g np a t t e r n st oh e l pb u i l d i n g 、d e s i g n i n ga n d i m p r o xr i n gaf l e x i b l ea n d e x t e n d a b l es y s t e mi sv e r ye f f e c t i v e ,a n dt h ee x p e r i e n c e sd i s c u s s e d i 珏t h i st h e s i sc a np r o v i d ed i r e c t i o nf o ro t h e rj 2 e es y s t e md e v e l o p m e n ta n db eu s e df o r r e f e f e n c e k e yw o r d s :j 2 e e d e s i g np a t t e r n s b u s i n e s sd e l e g a t e s e s s i o nf a g a d e 3 研究生学垃论文 基于j 2 e e 的嬲鳝教学平台应爝孛设计模式的分攒 1 。1 论文背景 第一章绪论 在2 1 世纪的信息时代,对学生的培养器求重视能力与素质,人们希望通过提高 教育技术,丰富教学手段来促进学生的思维幂能力的培游,帮助他们进行商效的自主 学习。世赛各国繇益重褪丽络教弯的发震,绣纷授a 丈蘩大力甥力遴褥稳关援术瓣磷 发与推广。网络激学以学生的“学”为中心,借助网络表达多样化的信息( 文字、图 像、音频、视频、动画等等) ,信息量更大,并且时间、空间几乎无限扩展。教师可 瓯铁学生蘸兴趣、学习过程中邂受豹翘题、瀚篷出发,秃疆扩震知识镁域,然教攀熬 深度、广度、力艘三方面进章亍交互式辅助教学;学生可以从网络教学中主动获取信患, 主动扩展知识结构,充分发挥自主学习能力。| l j 随着w e b 皮期程寿的曰靛流行,基于w e b 的网络教学平台系统的开发也受到关 注。在聱蘸萎予w e b 静开发中,越来越多懿大壅w e b 纛掰系统应强j 2 e e 多罄繁稳。 j 2 e e 是一种开发企业级分布式软件系统的平台,可以使系统能有灵活的可扩展性和 跨平台的可移植性,同时方便各子系统的集成。使用j 2 e e 平台来开发网络教学系统, 不仅具畜跨硬 譬、跨摄嫠系统魏薅洼,还可以跨应趱骚务器获静,同露提供缓箨期软 件平台的多种可选择性,以及软件的可扩展性,这将会便系统拥有很好的应用前景和 发展前景。 对于我们接手的网络教学鼍王台项晷,我们选择了在w e b 方式下,使用j 2 e e 的技 术懑行开发。在对w e b 应磷系统透行实鼯的开发过程中,经常会遇到这样懿淘嚣:秘 何进行系统的槊构? 什么样的架构设计更能满足系统性能和伸缩性的要求? 如何才 能更有利于模块化的设计与编码,有利于系统的功能扩展,以及系统的快速有效的维 季声? 较馋系统的麓摸移复杂毯龚冬增麴,使霉入嚣对软搏鹣霹靠毪、可扩震性、可鬣掰 性和可维护性也提出了更高的要求。而每一次的系统开发,我们都需要根据实际应用 寻找一个新的解决方案。 麴何船狭实酥中经誊出骥豹闯题,如何满足人们对软件性能的需求,如何摆脱重 复劳动的困境在这样的鹜条下,设计模式作莠一种可行的方寨绘了天翻一个比 较满意的解答。正确的选择和使用良好的设计模式可以提高开发的效率,使应用系统 具有良好的灵活性、安全性、实用性。 第一露绪论 软俘静设诗模式是一秽波达、记录秘瀵鼹软彳孛设计络梅彝设计缀验的薮方法,它 键褥软件具膏怒好的可靠枣雯、可扩展性、w 复用性帮可维护洼,它已成为现代软件工 程系统设计的煎要研究对稂。设计模式的思想最初来源于建筑领域,建筑师 c h r i s t i p h e ra l e x a n d e r 首先撮啦了设计模式的概念。他认为每一种模式描述一个缀常 惠蕊静润题稿遮令润遂匏麟凌方寰,这个瓣凌方案可以反复绞蠲,无霜每一次重凝设 计。这一思想同样适用于软件工程领域。在面向对象的技术出现以后,越来越多的学 者、专家和工稷师研究新的模式并在实践中运用。 虽然j 2 e e 豹多层絮穆为基于w e b 戆软件开发提供了总体架褥的框架,僵是麴俺 正确的使用j 2 e e 技术来构造良好性能的应用程序的闯题依然困字嵬羞开发人员。在 j 2 e e 中使用的设计模式将会简化特定系统和应用程序中的标识、使用和适配,带来 饺餍般模式的所有好处和针对j 2 e e 开发的好处。正确的使用j 2 e e 设计模式可以 改避应露翟净设计,以羲德方案簿凌1 2 嚣蠢应嚣程痔没诗耪开发中联运交瓣鬻冕熬闻 题。 尽管模式初看很简单,倪通常在具体的应用系统开发中却不是很容易采用,所以, 在专注子网络教学乎台毂开发的霜时,我们还学习积便耀设诗模式来帮助蓑们瓣决开 发中遇到的闯题,设计良好的架构保证系统的性能,在系统中进行实强提高开发效率, 为系统的改进提供参考。这样的实践活动将会积累选择和使用设计模式,实现设计模 式的方式的经骢,同样也会提高系统的开发效率。 1 2 课题开展的意义 淹蕾信惑纯靛搀送,以及高校痰嫠教富资源秘设熬熬基乏,各大毫校露学夔帮开 发了自己的网上教学支持平钉,为减缓教学压力,提偶学生自主学习,提高教学效率 以及方便教学和管理做出了掼献。然而,在更多的学校尾,还没有成功运行的成熟的 潮络教学平台,l 乍监管理、谍l 牛管理、考试、评估等备予系统零散瓶没有集成,不利 予整个教学管理工作的遂行。丽且有些功能实现不糍满足蠲户需求,魄如作韭管瀵只 掇供简单的作业发布功能,作业的提交大多数通过e m a i l 实现,不利于教师的批改。 新搜术的出现以及对子系统集成的需求,使得这一市场县有庞大的发展潜力,吸引了 许多公司毒霹羊萼磷税稳分入劐校霾肉罄掰终教学平台斡系绞磷突窝开发中寒。 网络教学平台的作用怒发挥对教学的支撑和辅助作用,是教师用来提高教学效 果,增进师生交流,扩大信息交互的一种有效的教学工县。校园的网络教学平台以网 络为载体,区剐予传统翡教学方式,在时阍、空闻静便蹋上不受限铡,并可循环举习, 熊满足在校学生随时学习釉随处学习酌要求。溺对,辅助以多媒钵课俘翻 乍等多辩先 研究生学位论文 基于j 2 e e 的网络教学平台应用中设计模式的分析 进手段,可以使课程更具表现力和吸引力,增强学生的学习效果。 北邮电信工程学院在实行电子化信息办公的行程中,预见了网络教学的发展方向, 顺势潮流和实际需求,为了解决日增的学生和匮乏的师资力量和教学管理人员之间的 矛盾,提出了开发网络教学平台的需求。通过网络教学平台来辅助教学,可以充分的 发挥教书和学习的积极性。 目前,商业软件的开发大量采用设计模式技术。应用j 2 e e 的设计模式技术,将 给软件开发,尤其是基于w 曲应用软件的开发带来极大的便利。设计模式是发掘出 来的,在结构良好的面向对象的软件体系结构中都包含了许多设计模式。逐渐积累丰 富的设计经验,并识别已有软件中的设计模式将有助于在设计中使用模式和发现模 式。所以如何有效的利用现有的设计模式,并在实际应用过程中积累使用经验,是我 们在软件的实现过程中一个重要的研究课题。 在我们的网络教学平台的系统分析和设计过程中,我们希望在实现基本功能的基 础上,能够有效的利用设计模式,为我们的系统提供良好的功能扩展性,通过模块化 的设计和编程,能够在将来的运行过程中对系统进行快速和有效的维护。 本课题是在网络教学平台项目的开展之际,为了更好的建立高质量的应用程序提 出的。在对现有j 2 e e 设计模式进行学习和掌握之后,希望能在项目的实施过程中有 意识的应用这些模式来建立高质量应用程序,有针对性地使用设计模式来改善和重用 系统设计,为系统提供良好的可扩展的系统架构。在项目进行过程中以及实施后,分 析具体的设计模式的应用效果以及应用体会,同时举出大量实用代码,可以帮助后续 的开发者理解和掌握j 2 e e 企业开发中的常见问题及其解决方案。在采用j 2 e e 技术 进行网络教学平台开发的过程中,如何有效的学 - j 和利用设计模式,减少开发时间, 降低开发成本,同时提高软件的开发质量,为平台提供良好的可扩展性,并为相类似 的项目开发积累经验,正是本文的切入点。这一尝试将为今后的项目开发提供经验, 同时对j 2 e e 设计模式的发展做出贡献。 苎三兰堡堕望 2 1 j 2 e e 平台简介 第二章j 2 e e 蓝图 j 2 e e 是开发分布式企业软件应用的平台。j 2 e e 平台使大量不同的技术标准化, 从面提供了一个强壮的平台来建立分布式的多层企业类应用。随着全球经济一体化和 毫子商务的发展,使用j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 技术来替代传统的w e b 开发 技术,不仅可以适应企业快速重组的要求,而且能满足电子商务内部逻辑的复杂性、 安垒性以及商务形式变化快的特性。j 2 e e 是在j a v a2 版本的基础上统一了所有和企 业相关的标准和a p i 融合而成的,不仅巩固了标准版中的许多优点,例如“编写一次、 曼处运行”的特性,还提供了更方便的数据库存取j d b ca p i ,以及在i n t e m e t 应用 2 仨乎数据的安全模式,并全面支持e j b ,j a v as e a ,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 平台的特点有: 1 使用面向对象的编程语言 j ! e e 平台是d a , n j a v a 语言基础建立的,而j a v a 是真正面向对象的语言,具有丰 蚕日数据类型和强大的功能,能完成许多复杂的功能。使用面向对象的设计方法,不但 i 美设昔庞大而复杂的系统,还可以使w e b 应用程序具有良好的扩充性和维护性,方 要地实现国际化和本地化的功能。 j ! j 平台具有独立性 j a 、a 是一个跨平台的语言。只要有j a v av i r t u a lm a c h i n e ,就可以在任何平台上执 - n - - 4 、j “a 程序cj 2 e e 标准的平台独立性使得任何符合j 2 e e 标准的应用服务器之 :j :可哕,共用标准的组件,从而在应用软件的开发中可以任意选择或购买符合标准的通 习组件,加快开发的过程。 i 3j 高性能的服务器端编程语言 j a 、7 a 语言是一种高性能的服务器端编程语言。随着版本的提高,特别是从j a v a13 以后,j a v a 在性能上有了很大的飞跃,尤其是即时编译技术的采用,使j a v a 的执行效 奎大大提高。 ( 4 j j 2 e e 提供了标准的系统框架和服务 j 2 e e 平台提供了事务处理、对象生存控制、状态维持、并发控制、安全检测、 资源共享等系统服务。只要通过简单的配置,就可以使用这些服务。这使得开发者从 j 丛塑兰兰些兰兰一 苎王! ! ! ! 塑堕垫塾堂! 鱼生旦! 望盐竖蔓塑坌塑 繁琐的系统设计中解脱出来,将精力主要放在商业逻辑上,以提高应用的质量和加快 开发的速度。 ( 5 ) 适合团体开发 j 2 e e 的多层构架非常适合团体开发的模式。它将应用分成表现层、业务逻辑层 和数据层,使得企业中的美工、系统分析员、编程人员各司其职,发挥各自的长处。 ( 6 ) 可控性好 j 2 e e 安全控制和状态控制机制非常完善,这种控制机制使得整个应用拥有统一 的状态转换规则。可以根据状态将用户控制在自己的权限访问范围之内,增加了系统 的安全性。在j 2 e e 中,状态的可控性使基于w e b 的开发更加简单和可靠,为客户提供 更好的服务。 ( 7 ) 与其它资源的集成性好 j 2 e e 平台以其丰富的系统功能,通过j d b c ,j t a j m s ,x m l ,j n d i c o r b a 等 a p l 可以与几乎所有关系型数据库、事务处理服务器、消息处理服务器、目录服务 嚣和邮件服务器等进行无缝的集成,完美地结合成一个整体,保护原有的投资,并且为 将来的发展留出广阔的空间。3 2 2j 2 e e 技术 j 2 e e 的相关技术为构建大型的、分布式的企业级应用提供了机制。根据使用的 特点,可以把这些大量的、不同的技术分为: 组件技术组件技术用来支持应用中最重要的部分一一业务逻辑。j 2 e e 中主要 有三种组件技术:j s p 、s e r v l e t s l l e j b 。 服务技术这些技术为应用组件提供服务,从而更高效地发挥组件地功能。 通信技术这些技术对应用程序的设计者是透明的。它为应用的不同部分之间提 供通信机制,而不管它们是本地的还是远程的。 学习j 2 e e 技术是学习如何用j 2 e e 设计应用程序的基础。 2 2 1 组件技术 组件是应用级的可重用单元,通过创建应用组件来实现应用的业务逻辑。j 2 e e 平 台提供了三种组件技术。 第二章j 2 e e 蓝氇 j s p ( j a v a s e r v e rp a g e s ) 是s u n 公司于1 9 9 9 年6 月推出的新技术,怒基于j a v a 的 服务器端动态页藤技术。j s p 规范的曩标就是通过对内容与表示的分离,来简化动态 w e b 页嚣静翻建酾鬻理。j s p 在本壤上是文馋,它缝合了h t m l ( 或x m l ) 幂匪毅的 脚本标记,一个j s p 页面可以识含h t m l 、j a v a 代码和j a 、,a b e a n s 组件,3 s p 脚本最 终在执行时要编译为s e r v l e t 脚本。当用户第次请求j s p _ 撼面时,w e b 服务器将j s p 页囊缓译或s e r v l e t ,然后w e b 激务器调爱s e n i n 粪二囊w e b 潮整嚣运瑟疑符缝采。一 旦从j s p 页面编译| 出s e r v l e t ,w e b 服务器对之后的请求就会简单的返麟s e n ,l e t 而不 用每次都重新编译。j s p 规范虽然建立在s e r v l e t 规范提供臼勺功能之上,但又有所不同: ti ) 手# 为一手申页蕊技术,j s p 只实现了h t i p 协议,所以只能应用于w e b 页西。 2 ) s e r 、, l e t 是筑的j a v a 代鹃。两在w e b 鼹务器把j s p 页丽缡译我校应如s e r v i e t 之前,j s p 页面只是基于文本的文档。 。3 ) j s p 与j 2 e e 模型更为一敛,它的目标是在多层体系结构中简化动态表示屡。 它跫w e b 疲溺程摩t 争静黪套帮动番内容努痣拜蓉,麸蠢分裹表示秘逻辑。巍 s e n l e t 将动态的内容和静态的内容树溉台来产生h t m l 。” j s p 使用j a v a 语音作为其脚本语言,具有很多优点:幽于j a v a 是编译解释执行 敲,跃夏j s p 麴执行效率较v b s c r i p t 、p e r l 等落蛊要高:j s p 电是平赍无关的,司以 在任俺平台下编写j s p 嘲页并在任何支持j s p 的系统主运行。 j s p 技术是一种开放的、踌平台的体系。w e b 服务器、平台和其它组件都可轻松 哥级竣交换丽不影响基于j s p 的应用程序。所以j s p 非常通舍需要升级瓶又要求保持 天变鳇蜜孵w 如寂髑程彦。 乍为j 2 e e 豹一部分,j s p 页瓣可隧访闽赝蠢豹j 2 e e 缀 件和所有j 2 e e 的标准服务。可以利用j a v a 的企业级a p i 丌发系统,并使用j s p 作 为技术的d d 端。如粜与j a v a b e a n s 相结合,j s p 页面将很容描的保持内容和显示逻辑相 磊禹。由于j s p 是煺标准豹h t m l 语法援含鑫赛浯法标涎寒实现的,将内容秘最示 逻辑分离之后,进行页面设计瓣人员不需要有馒用j a v a 、e + + 等程序殴计语言翡能 力和经验而更新j a v a b e a n s 和e j b 的人也无需精通w e b 页面的设计。 j s p 可使j 2 e e 应用程序的横块化程度更高。j s p 提供了一种标准的基于x m l 的 搂口曩乏定义标逸,并把稃汜打饶成标窀露。 2 2 1 2 s e r v l e l s e r v l e t 是秘w e b 缀释或聪譬,宅提供了一秽方式柬扩袋w e b 鼹努嚣的功能, 能够用h t m l 、x m l 和其它w e b 语言来产,主动态的生成w e b 内容。s e r v t e t 用j a v a s e r v l e ta p i 编写,用像t o m c a t 这样的服务器威容器管理。s e r ;,l e t 是标准的,服务器 瑞j a v a 应曩程序,它把应用逻辑嵌入到h t 种请求一应答过程中。服务器接受请求、 塑竺兰! 熏燮一一鳖王丝! ! 鲤塑竺墼兰要鱼堕星曼塑堡竖苎塑壁堑 处理请求并送港逶当懿昀痰。j a v as e r v l e t a p t 鲻嚣自对象熬方式对这一过程建模,使 你能编麓代码处理客户的请求并能动态地响应。“3 s e r v l e t 与j s p 相比,s e w l e t 是缝的j a v a 代码,在w e b 鼹务器把j s p 夏悉缡译成 相应的s e r v l e t 之前,j s p 页面只是基于文本的文档一一这样,就把应用逑辑从裁示逻 辑中瀵曦地分离嫩来;从丽使镄应用开发者关心业务逻辑,悉w e b 设计者关,心表示 逻辑。 2 2i )b j b e j b ( e n t e r p r i s ej a v ab e a n ) 是个服务器端的组件结构,它简化了膈j a v a 创建企 y l k 级韵分布式的对象应用系统。它提供了一个絮构来开发和配鬻到客户端的分郝式商 业逻辑,因此可以明显的减少开发扩鼹性、高艘复杂企业应用的难度。e j b 规藏定义 了e j b 组件应该如何鞠及时与它们豹容器交互,出容器来负责提供普通的疆务,秭 如目录服务、事务管理、安全、资源池和容错。 以e j b2 ,0 蕊范开始,肯三种类型髓企业b e a n : $ e s s i o f lb e a n :般地代表了一个应用程序执行的商业级逻辑。它代表与客户程 序钓一个短暂会话,丽艟能直接谲霜j d b c 或辫逶过e n t i t yb e a n 来执行数据簿韵读 写操作。当使用e n t i t yb e a n 柬完成调用时,s e s s i o nb e a n 将作为e n t i t yb e a n 的客户。 s e s s i o nb e a n 分为砖静,有、欹态翡s e s s i o nb e a n 藕无敬态酾s e s s i o nb e a n 。 e n t i t yb e a n :一般地代表个数据库中的数据以及作用于陔数据的方法。在一 个关系懿数薅簿中鹄镱怠表中,每一 予记录都有一令荦一妁e n t i t yb e a n 秉 弋表。 e n t i t yb e r n l 是事务的,并且是长寿命的,只要数掘留在数掘阵中,e n t i t y b e a n 就存在。 e s s a g e g r ;v e nb e a n :溺卡异多璁娃瑾j a v a 潜意黢务静滔愚。它馒遥j m s 监听 发送束的消息,并匿名地处理这些消息。m e s s a g e d r i v e r lb e a n 小直按照示给客户机, 是无凝态帮匿名瓣。m e s s a g e ? r i y e nb e a n 完全出窑爨管理,不竞诌:客户辊透过餐建 和删除方法来管理它们的生命周期。”1 虽然e j b 其有这鬻缆点,偿是它滟开发比较复杂,瘸搿较长,黠硬传要求骞。 所以在我们的应用系统构建过程中,同时使用e n t i t yb e a n 柬封装数据操作和使用 j d b c 窳撵馋数撵痒,劳显僮爨s e s s i o nb e a n 采嚣装爨溲逻蛰,蠖更lj a v a b e a n s 柬连 接表示层列。商业逻辑的调用。 2 2 2 服务技术 有必j 2 e e 对于应用组件的服务是由包容器自己束管理的,从而允许开发者将精 兰三里! ! ! ! 垄里 力集中在业务逻辑上。 2 22jj d b c j a v a 数据库连接( j a v ad a t a b a s ec o n n e c t i v i t y ,j d b c ) a p i 是j d k 提供的与关 系数据库接口的底层a p i ,现在大多数数据库支持到j d b c 2 0 。j d b ca p i 提供针对 s q l 兼容的关系型数据库提供了一组通用的数据库访问方法,使用这些a p i ,可以实 现不同厂商之间的互连和在不同厂商提供的关系型数据库之间进行数据访问。 j 2 e e 通过对j a v a2 标准版提供的核心j d b ca p i 进行的扩展,可以提供优化网 络资源的连接池和分布事务、行集等高级特性。j d b c2 0o p t i o n a lp a c k a g e a p l 同j a v a 事务a p i 一起实现分布式事务。j d b c2 0o p t i o n a lp a c k a g ea p i 提供的连接池比传统 的连接池方式更为透明。传统的连接池是一种客户端的连接池,需要客户程序负责实 现健壮的连接池机制。而采用2 0 提供的方式,应用服务器和或数据库驱动器就能 内部的处理连接池。配置了j 2 e e 应用服务器后,只要用数据源对象获取连接,连接 池就会自动地工作。这种途径非常简单,系统管理员可以方便的使能和配置连接池, 而不用去考虑任何应用程序。 2 2 2 2j a v a 事务a p i 和服务 事务是一组与数据存储相关的操作组合封装在一个业务逻辑单元的方法,具有 a c i d 的特征。j a v a 事务a p i ( j a v at r a n s a c t i o na p i ,j t a ) 是一种用来运行事务的途 径,本质上是独立于事务管理器实现的分布式事务。在j 2 e e 平台下,通常都是由包 容器来为开发者控制分布事务的,开发者不必过多关心组件中的事务。 222 3j n d i j a v a 命名和目录服务接口( j n d i ) 被设计来简化对目录基础结构的访问。目录 是一j 干十特殊类型的数据库,它提供了对数据存储的快速访问方式。j n d i 提供了标准 的a p i 来访问任何类型的目录,也可以在网络上存储和检索j a v a 对象。 命名服务是一个服务,它为一组给定的数据提供创建标准名字的服务。目录服务 是命名服务,它包括描述由名字引用的对象的元数据。这就使得可以在元数据上搜索 目录服务来找到对象,而不用知道它的名字。“3 在高级网络应用中,目录服务将会是 j a v a 对象的主要存储手段,当j a v a 对象相当稳定的时候,使用目录服务来查找和检 索j a v a 对象更普遍。 2 2 3 通信技术 科宄生学控论文 基于j 2 e e 的删终教学年臼戏用申设诗模式豹分析 通信技术将应用紧密地结仑在一起,满足各个组件和服务相互通信地需要。 2 2 3 。li n t e m e t 协议 程j 2 e e 平念支持地多层结构中,应用客户往往是一个可以位于世界上任何地方 地浏览器。客户游求和服务器成答采用三种协议进行传递。 飘曙是一静遴麓静、无羧态豹应弼缀狲谈。它采霜瀵交应答静方式工 睾,客户 以请求方法的形式向服务器发潮请求,在与服务器连接的线路卜传递统一资源标识和 协议版本,然后紧跟m i m e 之类的消息,其中包括请求修饰语、客户信息和具体内 容。然磊骚务嚣应答一个犊态行,紧鼹蓑m i m e 之类瓣信息,包括服务器售息、实 体死信息,可能还有实体的内容。 t c p i p 协议用于在i n t e r a c t 上传递数据。当在浏览器中输入w e b 站点的地址时, l p 协议就会确认谴求,并把这些请求传送到正确的碍的地去充成。为了提高效率, 在誉,和w e b 敝务器之闽簧滋豹数据禳分潮为不同的片。当在客户鞫w e b 鞭务器之 间传递这些数据包时,各个数掇包不必采用相同的路径。t c p 用来跟踪所有的数据包, 保证数据包无锚误,并且按照分割的次序来组装数据包。 s s l 采霆热镪舞法黯在客户帮骚务黎之麓弱售惑浚邀褥了粕密。它也提供了吾方 褶曩搔权的方式。 223 ,2 远程对象协议 当自些缀付饕在多罄多黻务器上逶舒分靠霹,需要掇盐一静瓿秣柬远程使蕊其中 的绸件,客户并不知道组件对于他们来醚不是本地的。 远程方法调f ;鸨( r e m o t em e t h o di n v o c a t i o n r m i ) 慰在分布式对魏应用程序中主 要黪棍裁之一。这耪凝裁爱麓羧爱采定义远程霹象,扶舞霹强缘在本羹l l 霸撵调臻远嚣 列敷的疗法。底层的传送机制与具体实现有关。 2 + 2 + 3 3j m h , 在企业缀环境中,各种分稚式组俘往往不是僳持掩久的联系。j a v a 涪g j t g - ( j a v a m e s s a 2 es e r v i c e ,j m s ) 通j 尊使用面向消息的中间件为发送和接收消息提供了异步发 送数据的枫制。 淹怠是痘露程序藤发送熟僖怠对象,瀵患驻套逶过淡怠挺餐金鼗淄事务数舞及事 件的异步交换。j m s 规范给出了标准的基于消息的中间件的主要访问方法,支持对各 种同步和异步通信机制提供支持的各种消息模式。j m s 提供两种最蒋通的消息模式: 发壤i 颈定霹点黠点。 第二章j 2 e e 蓝图 22 34j a v a m a i j j a v a m a i 是另一种异步消息传送的方式。j a v a m a i l 也允许发送和接收消息;但 是,它主要是面向用户而不是应用程序的各个部分。j a v a m a i l 提供了一些抽象类的集 合,这些抽象类为通常的邮件系统定义了通用的类和类的接口。j a v a m a i l 支持大多数 广泛采用的邮件协议,如p o p 3 、s m t p ,但与j m s 相比,它相对较慢而且可靠性要 善此 23 其它技术 j a v a b e a n s 是把叫做属性的数据对外披露的组件,通过b e a n s 可以保存数据以便以 后使用。实际上,j a v a b e a n s 就是一个类,它维持一些数据( 属性) 并遵守特定的编 码约定。这些约定提供自动支持机制。 b e a n 对外公开的每一个信息叫属性( p r o p e r t y ) 。像h t m l 属性一样,j a v a b e a n s 中的属性提供了一种简单的方法来传递信息,以便设置和读取j s p 代码中使用的值。 j a v a b e a r t s 的属性用g e t t e r 和s e r t e r 方法可以公开访问。 在j s p 中,也可以使用带有名字和属性的标签来使用j a v a b e a n s 。这样,页面开发 者的工作更容易,不需要掌握j a v a 就可以使用j a v a b e a n s 。 j a v a b e a n s 被设计成为一个简单的通用的组件,作为j s p 的一部分,可以用在客户 端,也可以用在服务器端。e j b 是设计用来实现企业业务逻辑的组件,总是用在服务 器端。 2 - 32x m l x m l 技术普遍采用在j 2 e e 平台的应用中,它作为一种理想的工具用来帮助计算 机程序和人类之间的协作,取得了很大的成功。l 技术的核心是x m l 文档,x m l 文档是一个信息单元,它可以有两种形式查看:包含了字符数据和标记线性字符序列, 或者是一种结点树的抽象数据结构。x m l 分析器把线性视图切换到结构视图。 v i l 是j 2 e e 平台中的基本组件。j 2 e e 使用订l 为b 2 b 数据交换提供了基础框架。 e j b 组件结构用x m l 来描述它的布置属性,使得除了它的代码可移植外,e j b 的数据 怕具有可移植性。 研究生学位论文 基于j 2 e e 的网络教学平台应用中设计模式的分析 在网络教学平台的开发中,我们不仅采纳x m l 作为数据交换的中介,而且把它 作为表示层和业务层的配置工具,在业务层的应用服务器端也大量采用x m l 脚本进 行服务配置。在表示层,为了提高代码的重用率,也使用x m l 生成界面组件,根据 用户的要求配置界面元素的分布。 2 4 w e b l o g i c 应用服务器 w e b l o g i cs e r v e r 是一个业界领先的j 2 e e 平台应用工具,适合于开发大访问量、 动态的网站和企业应用程序。像数据库或邮件服务器一样,w e b l o g i c 对客户是不可 见的,但为连接在它上面的客户提供服务。w e b l o g i c 最常用的使用方式是为i n t r a n e t 或i n t e m e t 上的w e b 提供安全、数据驱动的应用程序。它给开发人员在企业网络中如 何设计、使用和配置这些系统提供了极大的灵活性。 w e l b l o g i c 全面支持j 2 e e 标准,使用户很容易在多个平台上创建连接数据库、邮 件系统、消息系统、基于c o r b a 系统和传统系统的w e b 和企业应用程序。j 2 e e 技 术的多种规范在w e b l o g i c 中都得到了实现。“。 在网络教学平台项目中,我们通过配置w e b l o g i c 连接池,来提高性能和资源利 用率,而且通过配置多连接池,为数据库连接失败提供了冗余,并提供了数据库均衡 负载的特性。w e b l o g i c 服务器也提供了对j m s 的扩展包,通过与w e b l o g i c j t a 的联 合,可以开发支持事务的消息,通过文件系统和数据库提供消息的持久化存储,对消 息服务器的引用通过j n d i 查询获得。 篷三登! ! i i 垄錾 : 3 1 设计模式 31 1 设计模式概述 第三章j 2 e e 设计模式 在鹾前的软件开发避程中,模式己箴为投繁、援蕊鞋分橱蘩釜祷鬃中露露趣题豹 有效方法。模式描述情景中一个问题缀过证实的一个方案,表示特定情景、阆题与方 案之阀的关系。 模式有很多种,包括设计模式、分析模式、实现模式、过程模式和组织横式。设 计模式楚 蓦演豢中标凇设诗阉蘧酌熏笈经辩浃方案,它关注豹楚特定没诗翊鬈及其惩 决方枭。在每种模式中均描述个设计问题和个通用的经过验证的解决方黧。这个 群决方案是霹反复密溅黥设诗维褥送行识羽秘麴蒙褥列翡,它遗鬻悫多令类缀藏。这 些模式可以被踅用,有良好的伸缩性,它们会在基于j 2 e e 的应用中得到极健体现。 设计模式钟霹软传设计,系缓纯地愈名、鳃释帮球篷重要较 孛设计。设谤模式谈 成功地经过证明地设计与体系结构更容易复用,使新系统开发人员能驻方便地采用设 诗搂式,跨剩是羟验鞍少建开发久爨。没诗模式可以箨动我们选器不舄遣设计。” 要成功运用模式,需耍在深入理解模式所要解决的问题和应用情景之后,在实际应用 中通过具葬的例子采黢证和逐灏豹积累经验。 31 。2 使用设计模式勰决闫题 设计模式可班帮璇进行软件设计葶秘更好的设计软 孛。一般来说,设计模式可以帮 助我们解决应用程序设计阶段遇到的大多数常见问题,包括标识组件、组件内部结构 及组馋之闽的关系;确定组件粒度及适当交互;定义组件接翻等。j 2 e e 平台的设计 模式解决使用j 2 e e 服务与技术的常见设计问题,包括视图管理、请求处理、服务定 位与激活、远程通信与层闻通信、组4 牛选择以及持久状态、攀务与安全性管理等。设 计模式可以帮助我们设计更适合复用、更壮实,便予今后修改的软僻绪丰奄。 j 2 e e 应嬲程序越由分布谯客户滕、w e b 组件层和业务逻辑层的缀件构成的。使 用j a y a 语言开发组件时,我们通常菜用面商对象的方法。焱实际的开发避耩中,应 用程序中的缎件不定直接模拟实际对象,倪在分析模型中邋常根据实际对糠定义对 研究生学位论文 基于j 2 e e 的网络教学平台应用中设计模式的分析 象。软件开发方法尽管可以用不同方法标识与分析模型对象,但通常不是针对设计模 型组件与对象的。雨在设计这类应用程序时,确定正确的抽象层、粒度与灵活性是很 困难的,需要有足够的经验。设计模式反映了这些经验的积累,可以帮助我们来设计 模型组件和对象。 要选择j 2 e e 提供的适当组件类型并不容易,特别是在选择不明显时,有时还要 考虑性能与安全要求。比如w e b 组件,可能要选择j s p 或s e r v l e t ;比如业务逻辑层 组件,首先要选择不同类型的e j b ( 无状态会话、状态会话、实体和消息驱动b e a n ) ; 比如远程通信与层间通信机制,要选择c o r b a 与r m i i i o p 分布式对象和j m s 。因 为这些决策会产生长远的影响,我们可以借住于使用设计模式得到的一些准则来帮组 我们进行决策。使用设计模式有很多好处:帮助我们进行适当抽象;帮助我们进行适 当一般化;帮助我们确定支持复用的适当粒度;帮助我们提高设计灵活性,更好地适 应将来的改变。 在分布式应用程序中选择组件的粒度特别重要,适当的粒度可以规定所需的通信 量,使应用程序性能更好。粒度的选择反映在组件接口中。j 2 e e 是一个分布式平台, 严格遵照接口与实现分开的概念,减少客户机与组件之间的依赖性,从而提供灵活性。 客户机只依赖于接口,只改变组件实现而不改变接口,就可以不影响客户机。所以在 进行设计接口时,要保证接口近期内不会发生改变。使用设计模式可以定义具有适当 粒度的接口。 设计模式可以提供视图管理体系结构,帮助设计灵活的表示层组件,适应将来的 修改和集中执行特定工作,如用户验证、授权和个性化,还可以将请求处理与视图生 成分开,从而进一步增加灵活性。 设计模式可以促进复用。软件开发中的复用已经有较长的历史,从简单的源代码 复用进化到表示问题抽象的结构复用,以及表示问题解决思路的结构复用。模式就是 被证明成功的一种复用的思想和方法,使用设计模式可以帮助我们使设计更适合低级 复用,复用组件和对象。 设计模式还可以提高设计灵活性,更好的适应将来的改变。软件开发中的需求是 迅速变化的。好的软件设计可以预期这些变化,虽然进行软件设计时,要根据领域中 不易发生改变的项目进行设计,但要求从开始就预见将来可能的改变,这样可以大大 减少重新设计。 由于每种设计模式定义了某个问题的一般方案,可以独立地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广州医科大学附属第三医院粤西医院(茂名市电白区妇幼保健院)托育园招聘编外工作人员4人备考题库附参考答案详解【培优】
- 2026年上半年海南文昌市校园招聘事业单位人员38人备考题库(1号)及参考答案详解【黄金题型】
- 2026安徽滁州市中小学新任教师招聘240人备考题库附答案详解(精练)
- 2026国家统计局琼中调查队招聘公益性岗位人员1人备考题库及参考答案详解(综合题)
- 2026湖北武汉刘三屋中医骨伤医院招聘49人备考题库附参考答案详解【完整版】
- 2026河北邯郸市第一医院医疗健康集团选聘53人备考题库含完整答案详解【全优】
- 奢侈品数字营销策略-第1篇-洞察与解读
- 干预策略优化-洞察与解读
- 2026广西百色市右江区城东社区卫生服务中心招聘公益性岗位2人备考题库含完整答案详解【夺冠系列】
- 2026广东东莞市望牛墩镇中心幼儿园招聘备考题库及参考答案详解(精练)
- 头皮解剖课件
- 肌张力障碍课件
- 本工程施工的重点难点及应对措施
- 绿化保洁安全培训课件
- 工会宣传教育工作课件
- 海康门禁系统产品技术方案
- 2025年新疆高端会计人才笔试题及答案
- 营养学电子课件
- 设备升级改造管理制度
- 台球俱乐部规章管理制度
- 2025年4月自考06091薪酬管理试题及答案
评论
0/150
提交评论