(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf_第1页
(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf_第2页
(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf_第3页
(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf_第4页
(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(信号与信息处理专业论文)基于j2ee平台和mvc模式的web研究与应用.pdf.pdf 免费下载

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

文档简介

武汉理工大学硕士学位论文 摘要 伴随网络技术的迅猛发展,i n t e m e t 在全球范围内已经成为一种进行信息交 流、技术协作及商业活动的必备工具。w e b 作为世界范围内运用最广泛、最具 有效性的信息获取与发布的媒体,当今企业越来越依赖各种不同的w e b 应用程 序来增强经营与管理效能。在这种形势下,基于w e b 的应用开发成为计算机应 用研究的热点。 企业版( j 2 e e ) 是s u n 公司提供的一个标准的企业应用开发平台,它为开 发企业w e b 应用提供了丰富的技术选择。然而,一个高质量的应用有赖于设计 良好的体系架构的支持。如何正确应用j 2 e e 核心技术来设计和构建一个强健 的,具有伸缩性的、可重用的w e b 应用体系架构是当前所面临的挑战。 m v c 设计模式是基于j 2 e e 的w e b 应用开发的首选软件设计模式,它分离 了数据的控制和数据的表现,在实现多层w e b 应用系统中具有明显的优势。 s t r u t s 是一个基于j 2 e e 平台,实现了m v c 设计模式的框架,它全面减轻了构 建多层w e b 应用的负担,提供可复用的软件构架。但在基于标准s t r u t s 框架进 行j 2 e e 开发中,它表现出了内部软件模块的可复用性低,所提供的部分组件对 象不能满足实际开发需求,缺少规范模型层开发的组件,以及扩展校验框架过 于繁杂等各种弊端。 在分析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 技术的优越性的同时并克服s t r u t s 框架的各种缺点,本文对s t r u t s c x 模型的关键技术和应用进行了有效的探索研究。在s t r u t s c x 模型中,针对m v c 设计模式的s t r u t s 框架中的v i e w 部分,运用x m l x s l t 替换j s p 的解决方案, 将数据的控制与数据的显示分开,使系统开发速度加快。同时采用x s l t 样式 表将系统输出的x m l 文档转换成多种的文件格式,也满足了多种客户端访问 的要求。 关健词:j 2 e e :s t r u t s :x m l ;x s l t ;s t r u t s c x 模型 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y ,o nag l o b a ls c a l e t h e i n t e r n e th a sb e c o m ea n n e c e s s a r yt o o l sf o ri n f o r m a t i o n e x c h a n g e ,t e c h n i c a l c o o p e r a t i o na n dc o m m e r c i a la c t i v i t i e s w e ba st h em o s tw i d e l yu s e dw o r l d w i d ea n d t h em o s te f f e c t i v e a c c e s s i n g a n d p u b l i s h i n gi n f o r m a t i o n o ft h e m e d i a , t o d a y e n t e r p r i s e sm o r ea n dm o r ed e p e n do nav a r i e t yo fw e ba p p l i c a t i o n st oe n h a n c et h e o p e r a t i o n a n d m a n a g e m e n te f f e c t i v e n e s s i nt h i s s i t u a t i o n , a p p l i c a t i o n a n d d e v e l o p m e n tb a s e do nt h ew e bb e c o m eh o ts p o t so fc o m p u t e rr e s e a r c h e n t e r p r i s ee d i t i o n ( j 2 e e ) i sas t a n d a r dd e v e l o p m e n tp l a t f o r mi n e n t e r p r i s e a p p l i c a t i o nb ys l mc o m p a n y i ti sf o ru st od e v e l o pe n t e r p r i s ew e ba p p l i c a t i o nw i t h a b u b d a n tt e c h n o l o g i c a l c h o i c e s h o w e v e r ,ah i g hq u a l i t ys y s t e md e p e n d so nt h e s u p p o r to faw e l l d e s i g n e ds t r u c t u r e h o wt oc o r r e c t l yu s ec o r ej 2 e et e c h n o l o g i e st o d e s i g na n db u i l das t r o n g ,f l e x i b l e ,a n dr e u s a b l ew e bf r a m e w o r ki st h ec h a l l e n g ew e h a v et of a c e m v cd e s i g np a t t e r nw h i c hi sb a s e do nj 2 e ew e ba p p l i c a t i o n d e v e l o p m e n t s o f t w a r ed e s i g nm o d e lo fc h o i c e ,h a sg r e a t a d v a n t a g e si nt h ed e v e l o p m e n to f m u l t i - t i e rw e ba p p l i c a t i o n sb ys e p a r a t i n gt h ed a t aa n di t sv i e w b a s e do nj 2 e e p l a t f o r m ,s t r u t si saf r a m e w o r ki m p l e m e n t e dw i t hm v c d e s i g np a t t e r n s t r u t sc a n r e d u c et h eb u r d e no fc o n s t r u c t i n gt h em u l t i - t i e rw e ba p p l i c a t i o n sb yp r o v i d i n ga r e u s a b l es o f t w a r ea r c h i t e c t u r e b u tw h e nd e v e l o p i n gj 2 e e p r o j e c t su s i n gt h es t a n d a r d s t r u t sf r a m e w o r k ,i td e m o n s t r a t e ss o m es h o r t c o m i n g s ,s u c ha st h el o wr a t i oo ft h e r e u s eo ft h ei n t e r n a lm o d u l e s ,s o m ec o m p o n e n t s n o tm e e t i n gt h ea c t u a lr e q u i r e m e n t s , t h el a c ko ft h ec o m p o n e n t sa i m i n gt o d e v e l o pt h en o r m a l i z e dm o d e ll a y e r ,t h e c o m p l e x i t yw h e ne x t e n d i n gt h ev e r i f i c a t i o nf r a m e w o r k u n d e rt h ea n a l y s i so fj 2 e ef r a m e w o r ka n dm v cm o d e l sb a s i st h e o r y ,t h e p a p e r r e s e a r c h e st h es t r u t sf r a m e w o r k st h er e a l i z a t i o no f p r i n c i p l e s a n d c h a r a c t e r i s t i c s ,a n da n a l y z e st h es h o r t c o m i n g so fc o n s t r u c t i n gt h ev i e wp a r to ft h e s t r u t sf r a m e w o r kb yu s i n gj s p a n dt a g l i b b y u s i n gt h ea d v a n t a g e so fx m l i i t e c h n o l o g ya n do v e r c o m i n gt h es t r u t s f r a m e w o r k ss o m es h o r t c o m i n g s ,t h ep 印e r e 侬c t i v e l ye x p l o r e sa n dr e s e a r c h e st h ek e yt e c h n o l o g i e s a n dt h ea p p l l c a t l o no ft h e s t r u t s c xm o d e l a g a i n s tt h ev i e wp a r to f s t r u t sf r a m e w o r ko fm v cd e s i g np a r t e m , t h es t m t s c xm o d e lp r o p o s e st h es o l u t i o n t h a tt h ev i e wp a r tu s e sx m l x s l t r e p l a c i n gj s p ,t h es o l u t i o nw i l ls e p a r a t ec o n t e n ta n d t h ed i s p l a y i n gc o n t e n tt oa v o l d d e v e l o p i n gs y s t e m ss l o w l ya n dm a i n t a i nd i f f i c u l t l y a tt h e s a m et i m e , t h eo u t p u t x m ld o c u m e “瞰i o no ft h es y s t e mw h i c h c a nb ec o n v e r t e di n t o av 锄e t yo i d o c u m e n tf i l ef o 册a tb yx s t ls t y l es h e e tm e e t s av a r i e t yo fc l i e n tr e q u i r e m e n t st o o k e y w o r d s :j 2 e e ;s t r u t s ;x m l ;x s l t ;s t r u t s c xm o d e l i i i 独创性声明 本人声明,所呈交韵论文是我个人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特,1 1 j t l 以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:塾堡茎日期塑基二尘:上 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部内容, 可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:狂璧要 导师签名: e t 期一立螳巡 武汉理工大学硕士学位论文 1 1 论文研究背景 第1 章绪论 随着当今软件世界技术的发展,软件的规模越来越大、软件的开发周期越 来越短、软件行业分工越来越细、市场竞争越来越激烈,需要软件开发商能够 快速实现和部署产品l l j 。基于w e b 的服务和应用迅速地壮大,使企业级应用开 发领域有了巨大的进步和发展。这些大型企业级应用的结构复杂,涉及的外部 资源众多、事务密集、数据量大、用户数多、有较强的安全性考虑。目前大多 数企业采用基于j 2 e e 技术的解决方案。很多人在构建这些复杂的企业级应用时 没有进行良好的设计,或者说对一些重要的问题没有进行认真的考虑,这常常 导致了开发困难、应用不灵活、维护性扩展性复用性差等问题。这样就导致软 件的淘汰过快,同样的产品或者项目之间,无法重复利用已有的开发成果,使 得整个行业的重复开发,进而造成资源、时间的浪费。 软件架构便是人们为了解决这种矛盾,而将建筑学的知识融入了软件学科 的产物。它能使软件具有较好的扩展性、伸缩性、适应性、稳定性,能够充分 的利用以前的开发成果,将给软件开发商和用户带来最大的利益保护。软件体 系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目 标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件架 构以作为满足不同客户需求的实际系统设计方案的基础。 1 2 课题研究的目的与意义 伴随网络技术的迅猛发展,i n t e m e t 在全球范围内已经成为一种进行信息交 流、技术协作及商业活动的必备工具。w e b 作为世乔范围内运用最广泛、最具 有效性的信息获取与发布的媒体,当今企业越来越依赖各种不同的w e b 应用程 序来增强经营与管理效能。在这种形势下,基于w e b 的应用开发成为计算机应 用研究的热点。 自从w e b 的产生到现在短短几年的发展,w e b 技术已从最初简单的文档的 浏览发展到当今复杂电子商务的应用,其间共经历了静态文档、动态交互页面 武汉理工大学硕士学位论文 和实时可伸缩的事务处理三个阶段。 w e b 技术发展的第一阶段静态文档。这一阶段w e b 服务器基本上只是 一个h t t p 的服务器,它负责接收客户端浏览器的访问请求,建立连接。 w e b 技术发展的第二阶段动态交互页面阶段。第一阶段的w e b 技术无 法满足人们进一步的要求。随着高版本h t m l 的出现和浏览器对f o r m 表单的 支持使w e b 技术进入了其发展的第二阶段动态交互页面阶段。数据库技术 适于对大量的数据进行组织管理,w e b 技术拥有较好的信息发布途径,这两种 技术天然的互补性决定其相互融合成为技术发展的必然趋势。将w e b 技术与数 据技术结合起来,开发动态的w e b 数据库应用,已成为当今w e b 技术研究的热 点所在。 w e b 技术发展的第三阶段一实时可伸缩的事务处理阶段。随着i n t e m e t 用户 的迅速增加,人们渴望网络能给他们的生活带来更多的便利,电子商务的出现 对商家和用户都产生了深远的影响,也使w e b 的应用深入到人们日常生活中的 每个角落。随着w e b 技术、分布式对象技术以及安全保密技术的发展,为w e b 上实现电子商务提供有了有力的技术保障。在w e b 上进行实时可伸缩的事务处 理,实现电子商务,w e b 必须解决几个关键问题,即如何实现实时的事务处理、 可伸缩性、可扩展性、安全性与客户认证等技术难题。 传统的w e b 应用开发是将页面显示、业务逻辑和数据处理等模块大部分都 集中在页面代码中,这使业务逻辑、数据处理和页面显示的耦合性很强,造成 了w e b 应用扩展与维护都比较困难,同时也不利于开发人员分工协作,因此传 统的w e b 开发在设计大型企业级w e b 应用开发中愈加显得力不从心,w e b 应用 不再仅仅具有静态发布信息的简单功能,而且被要求具有实时动态处理交互信 息的能力,且此要求还在不断的变化和提高。正基于此,如何才能方便、快捷 的开发出具有高效性、灵活性和易扩展性的w e b 应用系统也越来越成为一个倍 受人们关注的课题【列。基于b s ( b r o w s e r s e r v e r ) 多层架构的w e b 应用开发设计应 运而生并迅速的发展起来。 近年来,随着网络技术的迅速发展和j 2 e e 平台的广泛应用,基于b s 的多 层w e b 体系结构逐渐发展成熟起来,多层w e b 应用的开发已经成为此类研究的 主流。多层的w e b 应用设计技术和开发工具,能够将页面显示、业务逻辑和数 据处理相分离,最大限度地降低系统各模块之间的耦合性,从而增强系统的可 扩展性与可维护性,提高代码重用率,使系统的层次结构更加清晰,易于开发 2 武汉理工大学硕士学位论文 人员的分工协作,充分发挥开发人员的各自特长。 m v c ( m o d e l 、v i e w 、c o n t r o l l e r ) 是适用于大型w e b 应用开发的架构技术, 其目的是最大限度的降低系统各部分之问的耦合性,增强系统的可扩展性与可 维护性,提高代码重用率1 3 。模型包含了应用程序的核心,封装了应用程序的数 据结构和事务逻辑,集中体现了应用程序的状态。 w e b 应用框架采用大型系统最流行的m v c 模式构造,合理的分层,实现流 水线分工作业,简化了管理的复杂性,降低软件开发技术含量。通过使用此框 架开发程序,能使开发商简化开发过程,提高开发效率,能快速的开发和变更 软件,开发出来的产品具备良好的稳定性、可扩展性和可维护性。 框架是采用j 2 e e 技术的应用服务器、完全面向对象的j a v a 语言开发的多层 体系结构的应用系统。框架为其他平台提供各种接口和功能服务的基础构件, 在w e b 开发中起着关键的作用。 综上所述,采用基于j 2 e e 平台的m v c 设计模式进行w e b 应用系统的开发, 具有重要的现实意义和广泛的实际应用价值。 1 3 国内外研究现状分析 j 2 e e 是s u n 公司推出的一种全新概念的模型,可以理解为一个企业级的中 间件体系或平台,它把多种分散到网络上的资源和应用连接起来,为构造和管 理、运行可伸缩的企业级业务应用提供了一系列的应用组件和一个运行环境。 从物理上看,j 2 e e 环境可分布驻留到一个以上的服务器,单一的业务应用能够 以一组分布式组件的形式部署到网络上的一个或多个服务器。因此与传统的互 联网应用程序模型相比有着不可比拟的优势。 当今企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客 户之间的响应时间,这就需要在企业,合作伙伴和雇员之间建立种迅速快捷 的服务。提供这些服务的应用软件必须同企业信息系统( e i s ,e n t e r p r i s e i n f o r m a t i o ns y s t e m ) 相结合,并向更为广阔的用户提供新型的服务。 具体这些服务要具备以下的特点: ( 1 ) 高可用性:满足现在的全球商业环境。 ( 2 ) 安全性:保护用户的隐私和企业数据的安全。 ( 3 ) 可依赖性和可扩展性:保证商业交易的正确和迅捷。 3 武汉理工大学硕士学位论文 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源 以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与e i s 相结 合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的 i n t e m e t 技术使用户在管理上所花费的时间最小化。 j 2 e e 降低了开发这种中间层服务的成本和复杂程度,使得服务可以被快速 的展开,并能够更轻松的面对竞争中的压力。j 2 e e 经过多年的实践证明是一种 可以信赖的企业级软件开发技术,受到许多i t 业大厂商的支持,具有十分广阔 的前景。 w e b 应用的开发经历了一个由p 2 p ( p a g et op a g e ) 至l jm v c 的发展过程。早期 的w e b 应用对用户请求的处理和响应均是在页面上完成的,即j s p l 0 。这样的 w e b 架构最大的好处就是开发效率较高,然而,近几年随着互联网的迅猛发展, 网站功能日益增强,这种p 2 p 的网站架构因为存在其业务规则代码与页面代码 混为一团,不利于维护的缺点,己不再适应大规模w e b 应用的发展要求,取而 代之的是基于m v c 的w 曲架构。 m v c 模式最初由s m a l l t a l k 所设计。m v c 是适用于大型w e b 应用开发的架 构技术,其目的是最大限度的降低系统各部分之问的藕合性,增强系统的可扩 展维护性,提高代码重用率。模型包含了应用程序的核心,它封装了应用程序 的数据结构和事务逻辑,集中体现了应用程序的状态,但它并不了解视图和控 制器的信息。视图实现模型的外观,是应用程序的外在表现,是呈现在客户面 前的页面信息,它可以访问模型的数据,却不了解模型和控制器的情况。控制 器对用户的输入请求做出反应,并且将模型和视图联系在一起,是整个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 等标准技术,对 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 和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 有利地推动了 4 武汉理工大学硕士学位论文 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 m 的表现层也 存在不少缺点1 4 】,本文以下的工作j 下是基于其缺点开展的。 1 4 本文的主要研究内容和组织结构 基于m v c 设计模式,采用s t r u t s 框架的开发应用不仅能够增强开发人员对 系统的整体把握,而且可以加快系统的开发速度,提高系统的可维护性与可扩 展性。但是,在s t r u t s 框架中,视图部分通常基于j s p 和t a g l i b 技术来构件,s t r u t s 的t a g l i b 标记库复杂,学习s t r u t s 的标记库需要较长时间掌握。同时作为视图部 分的j s p 对x m l 的支持不佳,导致框架不支持多种客户端的显示。因此,欲通 过研究实现s t r u t s c x 模型,并证明s t r u t s c x 模型的可行性1 5 1 。 下面介绍下本论文的主要结构: 第1 章绪论。本章主要研究开发大型软件系统需要具有可移值性、可重用 性、可维护性、可扩展性的良好的系统特性,分析当前业界状况和对软件设计 模式以及开发框架结构的研究意义,介绍论文的主要结构和作者的主要工作。 第2 章j 2 e e 分布式模型和m v c 模式。本章第一部分分析了j 2 e e 技术平 台的体系、层次结构、核心组件及a p i 。第二部分主要研究了模式定义、分类以 及研究模式与软件开发的之间的关系和意义,并引出模式中当前发展比较成熟 的m v c 设计模式。接着分析了m v c 设计的两种模式m o d e l l 和m o d e l 2 。 最后分析了m v c 设计模式的优缺点。 第3 章s t r u t s 应用框架的研究。本章分析实现m v c 设计模式的一种开发框 架s t n i t s 框架。其中论文着重研究s t r u t s 框架的体系结构、核心组件以及工 作实现流程。 第4 章s t r u t s c x ( s t r u t sw i t hx s l ta n dx m l ) 模型及应用。在第3 章的基 础上,通过分析s t r u t s 框架的缺点,采用了对其改进的方案s t r u t s c x 模型, 并重点分析了它的实现原理和其具有的优点。应用s t r u t s c x 模型设计开发一个 高速公路信息管理系统,具体分析了系统几个模块的详细设计,证明了s t r u t s c x 的可行性。 第5 章总结与展望。对本文中所做的工作进行总结,并对未来工作的展望。 5 武汉理工大学硕士学位论文 第2 章j 2 e e 分布式模型和m v c 模式 2 1 引言 2 1 1j 2 e e 概述 j 2 e e ( j a v a2p l a t f o 衄,e n t e r p r i s ee d i t i o n ) 是s u n 公司定义的一个开发分布式 企业级的应用规范1 6 】。它提供了一个多层次的分布式应用模型和一系列开发技术 规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层 次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,容器间 通过相关协议进行通讯,实现组件问的相互调用【7 j 。 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 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 a s e r v l e t a 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 e j a v a b e a n s ,有良好的向导支持、简易的打包和部署应用,方便的添加目录支持, 健壮的安全机制。 2 1 2j 2 e e 构架 j 2 e e 架构是一个多层的结构,简要研究主要的四层【8 l : ( 1 )客户端层( c l i e n tt i e r ) 客户端层是用来实现企业级应用系统的操作界面和显示层。但有些客户端 程序也可以实现部分业务逻辑功能,客户端层分为基于w e b 的和非基于w e b 的 客户端两种情况。基于w e b 的客户端主要作为企业w e b 服务器的浏览器。浏览 器负责显示由运行在w e b 层的w 曲组件生成的包含各种标记言( h t m l , 6 武汉理上大学硕士学何论文 x m l ,x s l 等) 的w e b 页面,通过在w e b 层中运行的j s p 页面和s e r v l e t 与j 2 e e 服务器中的业务层进行通信。非基于w e b 的客户端则是独立的应用程序,可以 通过r m i i i o p 直接访问运行在e j b 容器中的e j b 组件,完成瘦客户机无法完 成的任务。 ( 2 )w e b 层( w e bt i e r ) w e b 层产生表示逻辑,并接受来自客户端的用户反馈。在接收的客户端请 求的基础上,表示层对用户的请求产生相应的回应。在j 2 e e 平台中,由w e b 容器内的s e r v l e t 和j s p 来实现这一层。 ( 3 )业务层( b u s i n e s st i e r ) 业务层也叫e j b 层或应用层,由e j b 服务器和e j b 组件组成,处理核心业 务逻辑。一般情况下许多开发商把w e b 服务器和e j b 服务器产品结合起来发布, 称为应用服务器。e j b 层是企业级应用的核心,用来实现企业级信息系统的业务 逻辑,由运行在业务层中的e j b 来处理。e j b 从客户程序处接收数据,对数据 进行处理,再将数据发送到企业信息系统层进行存储:相反,也从存储中检索 数据,并将数据送回客户程序。业务逻辑层位于应用服务器中,应用服务器中 的e j b 容器提供了分布式计算中组件需要的所有服务,例如:组件生命周期的 管理、数据库连接池的管理、分布式事务管理、组件的命名服务、自动容错以 及负载的自动均衡能力等,从而使得实现业务逻辑的e j b 组件可以更加高效地 运行在应用程序服务器中。 客户层 客户端机器 w e b 层 j 2 e e 服务器 困 困e s 层 数据库服务器 图2 1j 2 e e 层次结构图 ( 4 )e i s 层( 企业信息系统层) 7 武汉理工大学硕士学位论文 e i s 层为企业的信息服务系统服务,包括数据库系统,事物处理系统,企业 资源计划系统等。e i s 是j 2 e e 应用与非j 2 e e 应用的连接点。 j 2 e e 层次结构如图2 1 所示。 2 2j 2 e e 平台 2 2 1j 2 e e 核心技术 为实现企业级分布式应用,j 2 e e 定义了丰富的技术标准。这些标准涵盖了 数据库访问、分布式通信、信息安全等各方面的技术。 ( 1 ) 组件技术 j 2 e e 的核心思想是基于组件容器的应用。每个组件提供了方法、属性、事 件的接口。组件可以由多种语言开发,是可重用的、共享的、分布式的。 ( 2 ) s e r v l e t l 9 l 和j s p l l0 1 s e r v l e t 是用j a v a 语言实现的独立于协议和平台的服务器端组件,动态扩展 了支持j a v a 的w e b 服务器,可以插入到服务器中以提供定制服务,包括增加新 的特性服务,页面内容的动态改变,页面显示的动态改变等。 j s p ( j a v a s e r v e rp a g e s ) 是另一种类型的j 2 e ew e b 组件,它是从s e r v l e t 技术发 展而来的。j s p 脚本可以编译成s e r v l e t ,并提供相同的功能。j s p 与s e r v l e t 最大 的不同是j s p 并不是纯j a v a 代码,它容许将复杂的j a v a 代码嵌入到h t m l 或者 x m l 文档中,注重解决客户端的外表和显示问题。 j a v a b e a n 组件和标记符库提供了一种非常有价值的服务,它使w e b 应用开 发人员能够简化j s p 页面中的j a v a 代码,减少了在j s p 页面的编辑过程中因为 偶尔的疏忽而造成整个页面的破坏,容许独立于j s p 页面而修改表示逻辑。为 了保持j s p 的简洁性和核心业务逻辑代码的隐蔽性,j s p 技术提供了特殊的标记 符来调用j a v a b e a n 组件和标记符库。 ( 3 ) e j b 技术i l l 】 e j b 规范提供了一种开发和部署服务器端组件的方法。 e j b 是一个组件,开发时不必关注系统底层细节问题,只关注具体的事务分 析。e j b 只能在容器( c o n t a i n e r ) 中运行,而容器则由a p p l i c a t i o n s e r v e r 来管理。 在装配组件时,所有的e j b 都需要配置到e j b 服务器( 一般的w e b l o g i c , 8 武汉理工大学硕士学位论文 w e b s p h e r ej 2 e e 应用服务器都是e j b 服务器) 中。e j b 服务器作为容器和低层平 台的桥梁管理着e j b 容器,并向该容器提供访问系统服务的能力。所有的e j b 实例都运行在e j b 容器中。e j b 容器提供了系统级的服务,控制了e j b 的生命 周期。e j b 容器为系统开发人员代管了如安全性、远程连接、生命周期管理及韦 务管理等技术环节,简化了商业逻辑的开发。 e j b 支持分布式应用,真正体现了企业级的应用。e j b 2 0 规范中定义了3 种企业b e a n ,分别为实体b e a n ( e n t i t yb e a n ) 、会话b e a n ( s e s s i o nb e a n ) 和消息驱 动b e a n ( m e s s a g ed r i v e nb e a n ) 。 实体b e a n 代表持久保存的数据,是存储在数据库中的数据,当服务器崩溃 后数据仍然存在。多个客户端可以使用e j b 表示同样的数据。 会话b e a n 在j 2 e e 应用程序中被用来完成一些服务器的业务操作,例如访问 数据库、调用其它e j b 组件。会话b e a n 分为有状态会话b e a n 和无状态会话b e a n 。 两者的区别是能否保存客户端的状态信息。有状态会话b e a n 能保存客户端的状 态信息,而无状态会话b e a n 不能保存客户端的状态信息。 消息驱动b e a n 接合了会话b e a n 和j m s 的消息监听器的特性,允许一个业 务层组件异步接收j m s 消息。 实体b e a n 模拟商务数据,会话b e a n 模拟一个商务过程,而消息驱动b e a n 与会话b e a n 类似也是在模拟一个商务过程,但消息驱动b e a n 只接受消息调用。 ( 4 ) 数据库访问 数据库链接在任何应用系统开发中都占有重要地位。j d b c ( j a v ad a t a b a s e c o n n e c t i v i t y ) 是一个独立于特定数据库管理系统的开发接i ;3 ,它提供通用的访问 s q l 数据库和存储结构的机制和多种数据库连接方式。j 2 e e 开发平台绑定了 j d b ca p i ,使得对不同数据库的操作都变得简单易行。 ( 5 ) 分布式通信技术 分布式通信技术是分布式企业系统的核心技术。j 2 e e 框架为w e b 应用和 e j b 应用提供多种通信模式。为使运行于某一机器上的对象调用另一台机器的对 象,j 2 e e 实现的通信方式有j a v ar m i ( r e m o t em e t h o di n v o k e 远程方法调用) 、j a v a 1 d l ( j a v ai n t e r f a c ed e f i l a t i o nl a n g u a g e 接口定义语言) 、j n d i ( j a v an a m i n ga n d d i r e c t o r yi n t e r f a c ej a v a 命名和目录接i a ) 、j m s ( j a v am e s s a g es e r v i c e ) 消息服务。 9 武汉理工大学硕士学位论文 2 2 2j 2 e e 平台的优点及应用 现在许多开发商采用j 2 e e 来开发企业级的应用,是因为j 2 e e 具有如下的 巨大优势1 6 】: ( 1 ) 面向对象的编程语言 面向对象的设计方法,不但可以设计庞大而复杂的系统,还可以使w e b 应 用程序具有良好的扩展性和维护性,能够方便的实现国际化和本地化功能,深 受w e b 开发人员的欢迎。j a v a 是真正面向对象的程序开发语言,具有丰富的数 据类型和强大的功能,能完成许多复杂的功能,这是c g i 等一般w e b 编程语言 所无法比拟的。 ( 2 ) 平台无关性 j a v a 是一种平台无关性语言,只要安装j v m ( j a v a 虚拟机) ,j a v a 程序就可 以执行。j 2 e e 继承了j a v a 语言平台独立的特性,使得任何符合j 2 e e 标准的应 用服务器之间可共享标准组件,因此在应用软件开发中可以任意选择符合标准 的通用组件来加快开发的进程。 ( 3 ) 重用性 代码重用是所有程序设计的思想之一。为了达到重用目的,j 2 e e 采用了两 种方法,一是把应用的商业需求划分为不同的组件,二是采用面向对象方法封 装公用功能。j a v a 语言提供了重用机制,创建和管理组件需要一种复杂的基础 框架机制,而j 2 e e 提供了种相当强大的机制来重用组件。 ( 4 ) 模块化 当开发一个完整的服务器端应用程序时,程序会迅速变大、复杂化。这时 可以把整个系统划分成相对独立的模块,每个模块实现一个具体的功能。采用 这种方式对软件开发的管理和软件的维护都有非常现实的意义。j 2 e e 可以提供 很好的机制来实现这种模块化的设计,同时j s p 、s e r v l e t 和e j b 可以把应用程 序划分为不同的层和任务。 ( 5 ) 与其它资源良好的集成性 j 2 e e 平台提供了大量的符合工业化标准的a p i ,在这些a p i 的支持下,开 发人员可以利用j 2 e e 做更多的事情。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 等技术可以与几乎所有关系型数据 库、事务处理服务器、消息处理服务器、目录服务器和邮件服务器等进行无缝 l o 武汉理j :大学硕士学位论文 的集成,完美地结合成一个整体,并且为将来的发展留有广阔的空间。 基于j 2 e e 进行企业系统的开发,不仅能够简化应用结构、提高开发效率, 而且构建的系统具有很强的可移植性、重用性、可伸缩性。因此,j 2 e e 模式为 开发具有可伸缩性、灵活性、易维护性的企业应用系统提供了良好的机制【1 2 】。 2 3 模式 2 3 1 模式的定义和分类 模式是供有经验的设计人员发现问题和解决问题的处理方法【1 3 1 。众所周知, 专家并不从低级结构考虑问题,而是建立高级抽象,模式就鼓励人们标识与记 录这些高级抽象。 模式能改进开发人员之间的通信,使他们可以更快地学习,从而开发更好 的软件。多年来,出现了多种不同的模式,包括: ( 1 ) 设计模式1 1 4 】 在面向对象的系统设计中,可以认为,类及其生成的对象是构成面向对穿 系统的最基本要素;采用设计方法组合这些元素得到面向对象系统得构件,同时 这些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象 系统得基本参考,也称为设计模式。 对软件设计而言,设计模式是最重要的模式。通常是面向对象的,包括树 系结构( 系统设计) 、设计( 组件交互) 和编程( 特定语言技术) 等。它是情境设计中 标准设计问题的重复性解决方案。设计问题必须进一步调查之后才能解决。问 题通常发生在一定的环境或者情形中,称为情境。解决方案就是这些问题的答 案,帮助设计人员在一定情境中解决这些问题。 ( 2 ) 分析模式 描述可复用分析模型,在域分析中非常有用,设计各种域,包括交易、度 量、会计和组织关系。 ( 3 ) 过程模式 描述软件过程设计。具体地说,他们描述开发软件成功而经过证实的方法 与活动。 ( 4 ) 组织模式 武汉理工大学硕士学位论文 描述组织与项目的结构与实践。 ( 5 ) 其他域特定模式 2 3 2 研究模式的目标和意义 现在有很多关于模式的定义,但是所有的定义都有一个共同的主题与 在特定环境下成对出现的问题解决方案的重现相关。 模式的共同特征如下【1 5 1 : ( 1 ) 模式来源于经验。 ( 2 ) 模式总是以一种结构化格式记录出现。 ( 3 ) 模式的出现避免了重新设计和创造。 ( 4 ) 模式存在于不同程度的抽象当中。 。 ( 5 ) 模式总在不断地被完善。 ( 6 ) 模式是可重用的认为总结的经验。 ( 7 ) 模式可以用来交流设计和最佳实践。 ( 8 ) 多个模式可以一同使用,以解决复杂的问题。 模式是从经验中总结出来的,基于经过证实的方案。模式只有在实际系统 中多次得到证实之后才能成为模式。因此模式一方面促进复用,一方面又防止 重复劳动,最终使设计人员能更快更高效的工作。 模式还增加表达能力,改进建筑师与设计人员之间的通信,可以按照前所 惟有的方式考虑常见结构性方案。模式鼓励通过结合解决大问题。 模式是前人经验与智慧的结晶,研究与使用模式可以带来如下好处【1 6 】: ( 1 ) 模式可以帮助人们更快更好的设计软件。 。标识组件、组件内部结构及组件之间的关系 - 确定组件的粒度及交互 。定义组件接口 (

温馨提示

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

评论

0/150

提交评论