




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)基于mvc设计模式和j2ee的web应用框架的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨j :程大学硕士学位论文 摘要 当前,s u n 公司提出的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 应用开发的标准,这当中的s e r v l e t j s p 技术在众多网站得到了广泛的应用, 然而,在仅使用j s p 技术开发的w e b 应用中,业务逻辑处理、动态显示用的j a v a 代码以及h t m l 混合在一起,使得程序可重用程度很低、维护工作繁琐困难、 程序应变能力较弱。因此,结合m v c 设计模式,引入了s t r u t s 框架。 s t r u t s 是基于j 2 e e 的m v c 设计模式的一种实现,在w e b 应用开发中把界 面和业务逻辑分离,有利于网页设计者和程序设计者的分工,提高了代码的可 重用性和灵活性,便于组件式开发。然而,s t r u t s j s p 也存在着一些缺点和不足: 开发者可以把应用逻辑放入j s p ,这样程序结构很容易变得复杂和难于管理; 开发人员需要学习如何使用s t r u t s 的标记库。事实上要理解这些s t r u t s 的标记 库要花费比较长的时间;j s p 对x m l 的支持不佳,不能保证生成的结果文件是 1 0 0 “格式良好”( w e l l f o r m e d ) 的x m l 。基于这些缺点,本文用x m l 和x s l t 技术替换原来的表现层中的j s p 技术,形成了基于s t r u t s 框架的s t m t s 2 x ( s t r u t s w i t h x m l a n d x s l t ) 模型。 本文首先介绍了基于j 2 e e 和m v c 设计模式w e b 应用,然后对s t r u t s 框 架进行详细地描述,针对它的缺点,提出了改进的s t r u t s 2 x 模型,最后应用 s t m t s 2 x 模型开发了一个w e b 应用。证明了s t r u t s 2 x 模型促进系统的表示层和 业务层分离,满足多种客户端访问的需要,提高了系统的扩展性。 关键词:j 2 e e ;m v c 设计模式;s t r u t s :s t r u t s 2 x 哈尔滨工程大学硕士学位论文 a b s t r a c t a tp r e s e n t ,j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) t h a ts u nm i c r o s y s t e m s ,i n c p u t f o r w a r dh a sa l r e a d yb e c o m et h es t a n d a r do fe n t e r p r i s ed e v e l o p m e n to fw e b a p p l i c a t i o ng r a d u a l l y t h es e r v l e t ,j s pt e c h n o l o g y , w h i c hi so n ei m p o r t a n tp a r to f j 2 e e ,i sw i d e l yu s e di nn u m e r o u sw e b s i t e st o o ,h o w e v e r , i fo n l yj s pt e c h n o l o g yi s u s e di nw e ba p p l i c a t i o nd e v e l o p m e n t ,t h eb u s i n e s sl o g i c ,j a v ac o d ea n dd y n a m i c h t m lw o n l db em i x e dt o g e t h e r , w h i c hr e s u l t si nl o wr e u s a b l ed e g r e eo ft h ep r o g r a m , m a k e sm a i n t e n a n c et e d i o u sa n dd i f f i c d t ,a n db r i n g sw e a ka d a p t a b i l i t yt oc h a n g e s t h e r e f o r e ,af r a m e w o r kn a m e ds t r u t si si n t r o d u c e d j o i n e dt h em v c d e s i g np a t t e m s t r u t sf r a m e w o r ki sa l li m p l e m e n t a t i o no ft h em v cp a t t e mb a s e do nj 2 e e i t s e p a r a t e si n t e r f a c ea n db u s i n e s sl o g i c ,b ei nf a v o ro ft h ed i v i s i o nb e t w e e np a g e d e s i g n e ra n dp r o g r a m m e ra n da i d e di nc o d er e u s a b i l i t y a n df l e x i b i l i t yf o r c o m p o n e n t sd e v e l o p m e n t h o w e v e r , i te x h i b i t ss e v e r a ld r a w b a c k s :ad e v e l o p e rc a n e m b e da p p l i c a t i o nl o g i ci n t ot h ej s p , w h i c hl e a d st oa p p l i c a t i o n st h a ta r eh a r dt o u n d e r s t a n da n dm a i n t a i n ;1 1 抢d e v e l o p e rm u s tl e a r nn e wa p i s t h es t r u t st a g l i b r a r i e sa n da nu n d e r s t a n d i n go ft h es t r u t st a gl i b r a r i e s c a nt a k eal o n gt i m e ;1 1 1 e j s ps y n t a xi sn o tx m l c o m p l i a n ta n dt h e r e f o r ef a i l st og u a r a n t e et h a tr e s u l t i n gx m l o rh t m 吐d o c u m e n t sw i l lb ew e l lf o r m e d i nt h et h e s i s an e wf r a m e w o r kn a m e d s t m t s 2 xi sp r e s e n t e dt oo v e r c o m et h e s ed r a w b a c k s ,w h i c he n h a n c e ss t r u t sb y r e p l a c i n gj s pf j a v a s e r v e rp a g e s ) w i t hx m la n dx s 【j t ( e x t e n s i b l es t y l e s h e e t l a n g u a g et r a n s f o r m a t i o n s ) j 2 e ea n dt h em v c p a t t e r ni nw e ba p p l i c a t i o na r ei n t r o d u c e df i r s t 。t h e ns t r u t s f i a m e w o r ki sd e s c r i b e di nd e t a i l i nv i e wo fi t sd r a w b a c k s ,an e wf r a m e w o r kn a m e d s t r u t s 2 xi s p r e s e n t e d f i n a l l y , aw e ba p p l i c a t i o n i s d e v e l o p e db ys t r u t s 2 x f r a m e w o r k ,a n d i t p r o v e s t h a ts t m t s 2 xp r o v i d e sb e t t e r s e p a r a t el o g i c a n d p r e s e n t a t i o n , a n ds a t i s f i e sr e q u e s t sf r o ms e w - w a lc l i e n ts i d e sa n di m p r o v e ss y s t e m e x t e n s i b i l i t y k e y w o r d s :j 2 e e ,m v cp a t t e r n ,s t r u t s ,s t r u t s 2 x 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献的 引用已在文中指出,并与参考文献相对应。除文中已注明 引用的内容外,本论文不包含任何其他个人或集体已经公 开发表的作品成果。对本文的研究做出重要贡献的个人和 集体,均已在文中以明确方式标明。本人完全意识到本声 明的法律结果由本人承担。 作者( 签字) :宦硷薄 日期口t ,o 年d 弓月0 1 日 哈尔滨工程大学硕士学位论文 第1 章绪论 1 1 研究的目的与意义 在当前i n t e m e t i n t r a n e t 迅速发展的今天,传统的c s 程序已经无法满足企 业级应用的需求,基于b s 多层架构的w e b 应用开发就应运而生并迅速的发展 起来。随着i n t e m e t i n t r a n e t 和w e b 技术的发展,w e b 应用系统在i n t e m e t 上的 使用也越来越广泛。w 曲应用不再是仅仅具有静态发布信息的简单功能,而且 被要求具有实时动态处理交互信息的能力,此要求还在不断的变化和提高。正 因为如此,如何才能方便、快捷的开发出具有高效性、灵活性和易扩展性的 w 曲应用系统也越来越成为一个倍受人们关注的课题【1 1 。 目前,面向w e b 应用系统开发的技术发展迅速,新技术不当涌现【2 1 。在服 务器端,当前正在广泛的使用的技术有c g i 、a s p 、p h p 、j s p 、j a v as e r v l e t 等; 而在客户端,则包括v b s c r i p t 、j a v a s c r i p t 、j a v aa p p l e t 等。这些技术为w e b 应用系统的开发提供了坚实的基础。从总体上来说,这些技术在开发效率、运 行速度、分布式事务处理以及可扩展能力等方面,具有各自的优势,这就要求 开发人员在开发过程中依据具体要求灵活选用。在一般情况下,一个实际的 w e b 应用系统是有多个开发人员,依据各自的任务,采用不同的技术进行协同 开发而成。但是,在目前的许多实际项目的开发过程中,由于缺乏一个规范的 编程开发模式,各部分开发人员之间缺乏充分的交流而导致出现互相影响、互 相制约的局面,造成系统开发、集成与维护的成本的上升。因此,为w e b 应用 系统的开发引入一套规范、合理、有效的开发模式就显得尤为重要了。而 m v c ( m o d e l - - v i e w - - - c o n t r o l l e r ) 模式口j 凭借其具有的模式和显示分离、有控制 器进行流程控制等优势,符合了当前w e b 应用系统开发的基本要求,已逐渐成 为开发w e b 应用系统的主流模式。 当前,a s p 和p h p 技术由于具有与开发、周期短、成本低等特性受到了开 发者尤其是中小型网站开发者的广泛青睐。但由于这些技术不是遵循面向对象 的软件设计思想,因此采用这些技术开发的应用系统耦合程度较高,这就必然 导致在应用系统的开发后期出现系统功能扩展困难、维护成本高等问题。而由 哈尔滨工程大学硕十学位论文 s u n 公司在1 9 9 9 年推出的j 2 e e ( j a v a 2 p l a t f o r m ,e n t e r p r i s e e d i t i o n ) 1 4 - 6 j 平台, 不仅完全继承了j a v a 安全性高、可移植性高等特性,而且,尤为重要的是,它 是真正的面向对象的编程( o b j e c t - - - o f i e n t e d - - p r o g m m m i n g ,o o p ) i7 ,8 】,因而采 用j 2 e e 体系结构的w e b 应用系统就必然具有了稳定的面向对象程序设计思想, 具有耦合度低,模块化程度高,易重用、易维护、易扩展等优点,满足了当前 w e b 应用系统开发的需要,己成为w e b 应用系统开发的主流体系结构之一。 综合上述分析,在j 2 e e 平台上采用m v c 设计模式进行w e b 应用系统的 开发,具有重要的现实意义和广泛的实际应用价值。因此,基于m v c 设计模 式和j 2 e e 的w e b 应用框架的研究是非常必要的。 1 2w e b 开发的国内外发展动态 当今时代信息技术飞速发展,人们已经处于数字化的生存空间之中。 i n t e m e t 构造了无限的信息资源,它的普遍使用已经从根本上改变了人们的生活 方式和工作方式,也改变了企业的经营方式和服务方式。 近年来,随着网络技术的迅速发展和j 2 e e 平台的广泛采用,基于b s 的 多层w e b 体系结构逐渐发展成熟起来,多层w e b 应用的开发已成为主流。但 是,即使利用最先进的软件平台j 2 e e ,开发这样的应用仍然是个难题。在多层 w e b 体系结构的设计中,普遍存在着程序可重用性程度低、维护工作繁琐、应 变能力较弱等不足。同时,多层w e b 应用软件需要面对复杂的网络环境、多样 化的用户需求、灵活的业务模式、复杂的业务流程、众多的组织机构及层次、 角色分工等问题,在业务和技术也是复杂多变的。因此,在基于组件的j 2 e e 平台充分内置了灵活的情况下,如何组织应用程序以实现简单高效的应用程序 升级、维护和扩展。以及如何让不懂程序代码的人员避开程序数据1 9 1 ,成为我 们首要解决的问题。而且,我们还要充分考虑到多层结构的特殊性:各层之间 需要密切配合才能完成最终功能,又要在实际开发中尽可能的使各层的开发相 对独立,减少各层之间的耦合程度,避免开发人员的相互制约。 m v c 是m o d e l ( 模型) 、v i e w ( 视图) 、c o n t r o l l e r ( 控制) 的缩写,m v c 最初由 s m a l l t a l k 设计l lo j 。m v c 是适用于大型w e b 应用开发的架构技术,其目的是最 大限度的降低系统各部分之问的耦合性,增强系统的可扩展维护性,提高代码 重用率。模型包含了应用程序的核心,它封装了应用程序的数据结构和事务逻 2 哈尔滨工程大学硕士学位论文 辑,集中体现了应用程序的状态,但它并不了解视图和控制器的信息。视图实 现模型的外观,是应用程序的外在表现,是呈现在客户面前的页面信息,它可 以访问模型的数据,却不了解模型和控制器的情况。控制器对用户的输入请求 做出反应,并且将模型和视图联系在一起,是整个w e b 应用运行的调度者。 s t r u t s 是在j 2 e e 平台上对m v c 设计模式的种具体实现。s t r u t s 主要采 用大多数开发者熟知的j a v a b e a n 、j a v as e r v e rp a g e ( j s p ) 、s e r v l e t 等标准技术【1 1 i , 对m v c 设计模式的三个部分提供了对应的实现组件。它是作为a p a c h e 软件基 金的j a k a r t a 项目的一部分,旨在改进和提高j s p , s e r v l e t 、标记库以及面向对象 的技术水准,整合s e r v l e t s 和j s p 的技术优势,为开发人员提供一个开发w e b 应用程序的框架。s t r u t s 有助于开发者利用j s p 和s e r v l e t 的优点更加快速、容 易的建立可扩展的多层w e b 应用。s t r u t s 为应用系统提供了一个良好的软件结 构,解决了由于应用的复杂性而在软件开发过程中所带来的各种问题。 s t r u t s 的视图部分通常基于j s p 和t a g l i b 标记库构建的。j s p 有利地推动了 j a v a 在w e b 开发中的应用。同时,在j s p 标记库的帮助下,j s p 作为w e b 和 j 2 e e 应用中的表现层开发提供了丰富和强大的工具。但是j s p 作为s t r u t s 的表 现层也存在不少缺点【l2 1 ,本文以下的工作正是基于其缺点开展的。 1 3 本文的主要研究内容 本文主要针对s t r u t s 框架中存在的缺点,提出了用x m l x s l t 替换j s p 的 解决方案。作为一种w 3 c 的正式标准,x s l t 是用来对x m l 文档进行转化的 一种语言。它是x s l ( 可扩展样式表语言) 的一部分。x p a t h 是用作对x m l 文档各部分进行定位的语言。在x s l 样式中,我们可以利用x p a t h 表达式以一 种紧凑而高效的形式选取l 文档的一部分进行处理。 本文的主要研究内容是:首先从理论上将m v c 设计模式引入j 2 e e 的多层 w e b 开发做了必要的论述,然后研究了当前最为流行的基于j 2 e e 平台的m v c 设计模式的实现一s t r u t s 框架,分析了其实现原理和特点,并剖析了用j s p 和t a g l i b 构建s t r u t s 框架的视图部分的缺点,针对其缺点提出了用x m l x s l t 替换j s p 的解决方案,得到改进的模型s t r u t s 2 x ( s t r u t s 埘t lx m l a n dx s l t ) 。 然后着重论述了s t r u t s 2 x 模型实现原理和特点,最后应用s t r u t s 2 x 模型设计开 发了一个w e b 应用,证明s t r u t s 2 x 模型的可行性。 哈尔滨: 程大学硕士学位论文 1 4 本文的结构 本文余下部分的内容组织如下: 第2 章基于j 2 e e 和m v c 模式的w 曲应用开发。详细介绍了j 2 e e 和m v c 设计模式,简单介绍了基于m v c 的j 2 e e 应用开发。 第3 章a p a c h es t r u t s 应用框架。对m v c 模式的实现框架一s n u t s 做了详 细介绍,并剖析了其缺点。 第4 章s t r u t s 2 x ( s t m t sw i t hx s l ta n dx m l ) 模型。通过分析s t r u t s 框架的缺 点,提出了对其改进的方案一s t r u t s 2 x 模型,并重点分析了它的实现原理和其 具有的优点。 第5 章s t r u t s 2 x 模型的应用。应用s t r u t s 2 x 模型设计开发一个网上书店系 统。具体给出了系统几个模块的详细设计,证明了s t r u t s 2 x 的可行性。 最后为本章结论,总结本文并说明以后的进一步工作。 4 哈尔滨工程大学硕士学位论文 第2 章基于j 2 e e 幂i i m v c 模式的w e b 应用开发 随着i n t e m e t 的普及与发展,许多企业开始采用基于i n t e m e t 的分布式应用 系统作为企业信息发布的平台,于是基于b s 模式多层体系结构( 客户机上的表 示层、中间的服务器层和后端的数据库层) 被越来越多的应用程序采用。为了满 足对应用服务器的需求,很多公司或组织都已经丌发出各自的体系结构或平台, 其中s u n 公司的j 2 e e 体系结构因其可以快捷地构造分布式的、可扩展的、可 靠的和可安全移植的服务器端应用的特性而逐渐被人们接受b 】。 本章主要介绍j 2 e e 的体系结构和主要技术,m v c 设计模式以及它在j 2 e e 企业级开发中的应用。 2 1j 2 e e 架构 2 1 1j 2 e e 概述 目前,j a v a2 平台有3 个版本,它们分别是:适用于小型设备和智能卡的 j a v a2 平台m i c r o 版( j a v a2p l a t f o r mm i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的 j a v a2 平台标准版( j a v a 2p l a t f o r ms 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 r me n t e r p r i s ee d i t i o n ,j 2 e e ) 1 4 , 1 5 1 ,其中最重要的就是j 2 e e 平台。 j 2 e e 是由s u n 公司推出的一种全新概念模型”,与传统的i n t e m e t 应用 系统模型相比。有着不可比拟的优势。这种模型在j 2 s e 之上添加了大量面向 企业的特性和功能,以此简化企业解决方案的开发、部署、和管理等相关复杂 问题。它不仅巩固了j 2 s e 中的许多优点,如方便存取数据库的j d b ca p i 、 c o r b a 技术以及能够在i n t e m e t 应用中保护数据的安全模式等,同时还提供了 对e j b 、j a v as e r v l e ta 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 平台上的多层应用可以实现高可用 性、安全性、可扩展性和可靠性。计算平台支持j a v a 语言,使得基于j 2 e e 标 准开发的应用可跨平台移植,且由于j a v a 语言的安全、严格等特性使开发者可 以编写出十分可靠的代码。j 2 e e 提供了在企业计算中需要的所有服务,且简单 哈尔滨工程大学硕士学位论文 易用;j 2 e e 中的多数标准定义了接口,如j n d i ,j d b c ,j a v a m a i l 等,可与许 多厂商的产品配合,容易得到广泛的支持:通过提供统一的开发平台,j 2 e e 降 低了开发多层企业及应用的费用和复杂度,同时支持e j b 与现有系统集成,有 良好的向导支持打包和部署应用。j 2 e e 平台提供的多层分布式应用模型、组件 重用、一致化的安全模型以及灵活的事务控制,加快了企业应用的设计与开发, 可以快速容易地建立融合了i n t e m e t 技术,尤其是w e b 技术的n 层( n t i e r s ) 结构的分布式企业应用,也较好地解决了c s 结构所固有的可扩充性差、可维 护性差、安全性差、部署繁琐等弊端。 2 1 2j 2 e e 的分布式多层应用模型 j 2 e e 是基于分布式的多层应用模型1 1 8 , 1 9 1 ,在这种模型中,应用逻辑按功能 划分为不同的组件,各个应用组件根据他们所在的层分布在不同的机器上。事 实上,s k i n 设计j 2 e e 的初衷正是为了解决两层模式c s ( c l i e n t s e r v e r , 客户端 服务器) 难于升级、可伸展性差等弊端。现在j 2 e e 的多层分布式应用模型将两 层化模型中的不同层面切分成许多层。一个多层化应用能够为每种不同的服务 提供一个独立的层。图2 1 展示了j 2 e e 的分布式多层应用模型。 客户端计算机 ( 前端) j 2 e e 服务器e i s 数据库服务器 ( 服务器方中间层)( 后端) 图2 1j 2 e e 分布式多层应用模 从图中可以看到。尽管j 2 e e 支持四个不同的层:客户层、w e b 层、业务 层和e i s 层,但不一定要求每一层在物理上位于单独的计算机体系中。在通常 情况下w e b 层和业务层在同一台服务器( j 2 e e 服务器) 上运行,基于这一点, 6 哈尔滨工程大学硕士学位论文 这两层被认为是中间层的( m i d d l e i k r ) 子层。于是,j 2 e e 应用通常被考虑为 三层结构的应用。三层结构的应用程序可以理解为在标准的两层结构c s 模式 的客户端应用程序和后端存储资源中间增加了一个多线程的应用程序服务器 【2 0 j 。 1 1 客户层 客户层运行在客户端机器上,用于与企业信息系统的用户进行交互以及显 示根据特定商务规则进行计算后的结果。基于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 c t 动态生成的 h t m l 页面。 在不基于w e b 的j 2 e e 客户端应用中,独立的客户端应用程序不是运行在 一个h t m l 页面中,而是运行在一些基于网络的系统中,比如手持设备或汽车 电话等。同样,这些独立的应用也可以运行在客户端的j a v a a p p l e t 中。这种类 型的客户端应用程序可以在不经过w e b 层的情况下直接访问部署在e j b 容器 ( e j b c o n t a i n e r ) 中的f a b 组件。这种不基于w e b 的j 2 e e 客户端应用可能也 包括一个j a v a b e a n 类,用于管理用户输入和将该输入发送到e j b 中进行处理。 2 ) w e b 层 w e b 层运行在w e b 服务器上,是由j s p 页面和用于动态生成h t m l 页面 的s e r v l e t 构成。这些基本元素在组装过程中通过打包来创建w e b 组件。运行 在w 曲层中的w e b 组件,依赖w e b 容器来支持诸如响应客户请求以及查询e j b 组件等功能。 正如图中所示,和客户层一样,w e b 层同样可以包含一个j a v a b e a n 组件以 管理用户的输入并将输入发送到对应的e j b 中进行处理。 3 ) 业务层 业务层运行在e j b 服务器上,在基于j 2 e e 规范构建的应用系统中,将解 决或者满足特定业务领域商务规则的代码构建成为业务层中的e j b 组件。e j b 组件可以完成从客户端应用程序中接收数据,按照商务规则对数据进行处理, 将处理结果发送到企业信息系统层进行存储,从存储系统中检索数据以及将数 据发送回客户端等功能。 哈尔滨工程大学硕士学位论文 部署和运行在业务层中的f _ j b 组件以赖于e j b 容器来管理诸如事务、生命 期、状态转换、多线程及资源存储等。这样,有业务层和w e b 层构成了多层分 布式应用体系中的中间层。 4 ) 企业信息系统层 企业信息系统( e i s ,e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层运行在e i s 服务器上, 在企业应用系统的逻辑层划分中,e i s 层通常包括企业资源规划( e r p ) 系统、大 型机事务处( m a i n f r a m et r a n s a c t i o np r o c e s s i n g ) 系统、关系数据库系统( r d m s ) 及其它在构建j 2 e e 分布式应用系统是已有的企业信息管理软件。 一个j 2 e e 组件就是一个自带功能的软件单元。这些组件之间相互通信。 j 2 e e 规范定义了下列组件【2 1 1 。 ( 1 ) 客户组件一应用客户和a p p l e t ; ( 2 ) w e b 组件j a v as e r v l e t 和j s p : ( 3 ) 业务组件j a v a b e a n 或者e j b 组件。 2 1 3j 2 e e 标准服务 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接n ( h p i s ) 和协议构成,它对 开发企业的多层应用提供了全面的功能支持,下面对j 2 e e 中的1 3 种技术规范 进行简单的描述 2 2 1 : j d b c ( 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 ca p i 为访问不同的数据库提供了 一种统一的途径,象o d b c 一样,j d b c 对开发者屏蔽了一些细节问题,另外, d b c 对数据库的访问也具有平台无关性。 j n d i ( j a v a n a m ea n d d i r e c t o r y i n t e r f a c e ) :j n d i a p i 被用于执行名字和目录 服务。它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p ,本地 文件系统,或应用服务器中的对象。 e j b ( e n t e r p r i s ej a v a b e a n ) :j 2 e e 技术之所以赢得媒体广泛重视的原因之一 就是e j b 。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地 简化了具有可伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组 件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目 录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是, e j b 并不是实现j 2 e e 的唯一途径。正是由于j 2 e e 的开放性,使得有的厂商能 8 哈尔滨工程大学硕士学位论文 够以一种和e j b 平行的方式来达到同样的目的。 r m i ( r e m o t em e t h o di n v o k e ) :正如其名字所表示的那样,r a m i 协议调用远 程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。r m i 是一 种被f j b 使用的更底层的协议。 j a v ai d l c o r b a :在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成在一起。他们可以创建j a v a 对象并使之可在c o r b a0 r b 中展开,或者 他们还可以创建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的客户。 后一种方法提供了另外一种途径,通过它j a v a 可以被用于将你的新的应用和旧 的系统相集成。 j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所 组成。服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然后将生 成的h t m l 页面返回给客户端的浏览器。 j a v as e r v l e t :s e r v l e t 也是一种小型的j a v a 程序,它扩展了w e b 服务器的功 能。作为一种服务器端的应用,当被请求时开始执行,这和c g ip e r l 脚本很相 似。s e r v l e t 提供的功能大多与j s p 类似,不过实现的方式不同。j s p 通常是大 多数h t m l 代码中嵌入少量的j a v a 代码,而s e r v l e t s 全部由j a v a 写成并且生 成h t m l 。 j m s ( j a v am e s s a g es e r v i c e ) :j m s 是用于和面向消息的中间件相互通信的应 用程序接口( a _ p i ) 。它既支持点对点的域,有支持发布订阅( p u b l i s h s u b s c r i b e ) 类 型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递, 一致性消息和具有持久性的订阅者支持。j m s 还提供了另一种方式来对您的应 用与旧的后台系统相集成。 j t a ( j a v a t r a n s a c t i o n a r c h i t e c t u r e ) :j t a 定义了一种标准的a p i ,应用系统 由此可以访问各种事务监控。 j t s ( j a v a t r a n s a c t i o ns e r v i c e ) ;j t s 是c o r b a o t s 事务监控的基本的实现。 j t s 规定了事务管理器的实现方式。该事务管理器是在高层支持j a v a t r a n s a c f i o n a p i ( j t a ) 规范,并且在较底层实现o m go t ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供 了事务服务。 j a v a m a i l :j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务 9 哈尔滨工程大学硕士学位论文 器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 j a f ( j a v a b e a n sa c t i v a t i o nf r a m e w o r k ) :j a v a m a i l 利用j a f 来处理m i m e 编 码的邮件附件。m i m e 的字节流可以被转换成j a v a 对象,或者转换自j a v a 对 象。大多数应用都可以不需要直接使用j a f 。 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) :x m l 是一种可以用来定义其它标记语 言的语言,它被用来在不同的商务过程中共享数据。 2 1 4j 2 e e 应用模型的优势 j 2 e e 的巨大吸引力田1 在于: 1 1 面向对象的编程语言 j 2 e e 平台建立在j a v a 语言基础上,j a v a 是真正面向对象的语言,具有 丰富的数据类型和强大的功能,能完成许多复杂的功能,这是c g i 等一般w e b 编程语言所无法比拟的。面向对象的设计方法,不但可以设计庞大而复杂的系 统,还可以使w e b 应用程序具有良好的扩展性和维护性,能够方便的实现国际 化和本地化功能,深受w e b 开发人员的欢迎。 2 ) 平台独立性 j a v a 是一种跨平台语言,在任何平台上,只要安装有_ 】v m ,j a v a 程序就 可以执行。j 2 e e 继承了j a v a 语言的平台独立的特性,使得任何符合j 2 e e 标准 的应用服务器之间可以共享标准组件,从而在应用软件开发中,可以任意选择 符合标准的通用组件来加快开发的进程。 2 ) 适合团体开发 基于j 2 e e 平台的系统非常适合团体开发的模式。它将应用分成表示层、 业务逻辑层和数据层,是系统开发中的美工、系统分析员、编程人员各司其职, 发挥各自的长处,特别是j 2 e e 通用的m v c 设计模式,能够将系统各个层面的 功能独立开来,从而提高开发人员的工作效率。 4 1 可重用性 代码重用是所有程序设计的目的之一。要达到重用目的,方法之一就是把 应用的商业需求划分为不同的组件,而采用面向对象方法封装公用功能是另外 一种方法,j 2 e e 采用了这两种方法。j 2 e e 的j a v a 是一种面向对象的程序设计 语言,提供了重用机制,但是不像对象那样,创建和管理组件需要一种复杂的 1 0 晗尔溟工程大学硕士学位论文 基础框架机制,基本的面向对象概念并未提供这样的机制,然而j 2 e e 提供了 一种相当强大的机制来重用组件。 5 ) 模块化 当开发一个完整的服务器端应用程序时,程序会迅速变大、复杂化。把应 用划分为相对独立的模块,每个模块负责处理个具体的任务,按照这种方式, 理解和维护应用程序就会变得容易。模块化应用的手段有j a v as e r v l e t j a v a s e r v e rp a g e 和e n t e r p r i s ej a v a b e a r r 它们可以把应用程序划分为不同的层和任 务。 基于j 2 e e 进行企业系统的开发,不仅能够简化应用结构、提高开发效率, 而且构建的系统具有很强的可移植性、重用性、可伸缩性。因此,j 2 e e 为搭建 具有可伸缩性、灵活性、易维护性的企业系统提供了良好的机制【2 ”。 2 2m v c 模式 2 2 1 设计模式概念 设计模式的思想最初来源于建筑领域,建筑师c h r i s t i p h e ra l e x a n d e r 首先提 出了设计模式的概念。他认为:每一种模式描述一个经常出现的问题和这个问 题的相应解决方案,这个解决方案可以反复使用,而无须每一次重新设计,他 的这一思想虽指的是城市建筑规则中的设计模式,但同样适用于软件工程领域。 特别是在面向对象技术出现之后,越来越多学者、专家和工程师研究新的模式 并且在实践中使用它1 2 5 j 。 设计模式关注的是特定设计问题及其解决方案。在每种模式中均描述一个 设计问题和一个经过验证的、通用的解决方案,这个解决方案是对反复出现的 设计结构进行识别和抽象得到的,它通常由多个类组成。这些模式可以被重用, 有良好的伸缩性,而这些设计模式的优势将在基于j 2 e e 的应用中得到极佳的 体现。使用设计模式一可以为软件系统的设计带来很多好处: 1 ) 设计模式为开发者提供了个很好的设计经验,模式中所描述的解方 案是人们从不同角度对一个问题进行研究,然后得出来最通用、最灵活的解决 方案,其有效性是经过大量实践检验的。 2 ) 设计模式为软件重用提供了一条途径。每个设计模式都可以是软件设计 哈尔滨工程犬学硕士学位论文 中的可重用元素或单元。多个模式可以组合起来构成完整的系统,这种 基于模式的设计具有更大的灵活性、可扩展性和更好的可重用性。 3 ) 设计模式的基本思想是将程序中的可变部分与不变部分进行分离,尽 量减少对象之间的耦合度,从而某一个对象的修改,不会导致其它对象的变动, 使得由于修改而带来的影响范围达到最小化。 2 2 2 m v c 模式 如果开发一个企业级应用,只需要一种客户端的话,那么一切都非常容易 解决。但真实情况是,我们必须面对运行在各种设备上客户端,像p d a 、w a p 浏览器以及运行在桌面上的浏览器,我们不得不开发不同的应用程序来处理来 自不同客户端的请求。数据访问与现实将混淆在一起,可能会出现重复的数掘 访问,导致整个开发周期没有必要的延长。m v c ( m o d e l v i e w c o n t r o l l e r ) 是目 前最常见的j 2 e e 应用所基于的体系结构,主要适用于交互式的w e b 应用,尤 其是存在大量页面及多次客户访问及数据显示。 m v c 【2 5 】是2 0 世纪8 0 年代x e r o xp a r c 为编程语言s m a l l t a l k - - 8 0 发明的一种 软件设计模式,迄今已经成为一种成熟的优秀的设计模式。m v c 通常用于分布 式应用系统的设计和分析,如:大型商业网站、企业信息系统、管理信息系统、 决策支持系统等,但它本身并不局限于某一特定领域。m v c 强制性地使应用程 序的输入、处理和输出分开,从而划分成3 个核心部件( 模型、视图、控制器1 , 它们各自处理各自的任务。 模型:模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了完 成问题处理的操作过程。一方面,模型为控制器所调用;另一方面,模型还为 视图获取显示数据而提供了访问其数据的操作。模型是与数据格式无关的,因 此,一个模型可以为多个视图提供数据。这样模型一次编写就可为多个视图重 用,从而减少了代码的重复性【2 6 j 。 视图:视图是用户看到的并与之交互的界面。视图从模型获得数据,视图 的更新由控制器来完成。m v ( :最强调的一点就是视图中决不允许也决不应该包 含诸如业务逻辑的东西,在视图中其实没有真正的处理发生也不应该有处理发 生,不管这些数据是联机存储的还是一个简单的信息列表,作为视图来讲,它 只是作为一种输出数据并允许用户操纵的方式。 哈尔滨工程大学硕士学位论文 控制器:控制器根据用户的输入调用相应的模型和视图去完成用户的需 求。具体地说:控制器本身不输出任何东西和做出任何处理。它只是接收请求 并决定调用哪个模型构件去处理请求,并确定用哪个视图来显示模型处理之后 返回的数据。 m v c 组件的模型、视图、控制器三者的关系可用图2 2 表示。 一事件 图2 - 2 m v c 动态协作关系 从图中我们可以看到,c o n t r o l l e r 接收使用者的消息,要求m o d e l 处理应用 领域的资料:m o d e l 告诉v i e w ,让v i e w 知道m o d e l 的内容已更新,v i e w 接获 通知并进行准备工作,就绪了才要求m o d e l 送来新内容,显示于视窗里。上图 是典型的m v c 结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025【合同范本】简约版技术研发合作合同
- 2025年医卫类中西医结合执业医师第二单元-第三单元参考题库含答案解析(5卷)
- 简易租冷库合同范本
- 单位超市采购合同范本
- 安保安全合同范本
- 外贸加工生产合同范本
- 2025青海出版传媒集团有限公司社会化招聘员工39人备考练习试题及答案解析
- 2025内蒙古医科大学第二附属医院青年就业见习岗位人员招聘27人考试参考试题及答案解析
- 2025四川长虹电源股份有限公司招聘费用会计等岗位8人备考练习试题及答案解析
- 技术入股商务合同范本
- 华晨宝马大东厂区天然气分布式能源站项目环评报告
- 青海2023届高校毕业生就业报告出炉:医学和法学就业率最高
- 汽车电控发动机构造与维修(第三版)
- GB/T 328.13-2007建筑防水卷材试验方法第13部分:高分子防水卷材尺寸稳定性
- 茶叶实践报告3篇
- 西门子低压电器快速选型手册
- 养羊与羊病防治技术课件
- 最新教科版五年级科学上册《第2课时 地球的结构》教学课件
- Q∕SY 05129-2017 输油气站消防设施及灭火器材配置管理规范
- 企业微信私域流量运营方案
- 中职学校《机械基础》第二学期全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件
评论
0/150
提交评论