(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf_第1页
(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf_第2页
(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf_第3页
(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf_第4页
(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)基于ssh的j2ee开发平台研究与应用.pdf.pdf 免费下载

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

文档简介

四川师范大学研究生毕业论文 基于s s h 的j 2 e e 开发平台研究与应用 计算机应用技术专业 研究生陈刚指导教师严余松 摘要j 2 e e 是企业分布式应用的开发的标准平台。j 2 e e 可以为复杂的企 业应用提供强大的技术保障。但或许由于它过于复杂,开发人员缺少足够的技 能或开发的经验,往往这也是导致一些j 2 e e 项目失败的原因。目前,在开源 社区有许多开源的j 2 e e 开发框架不断涌现出来,为我们的开发工作提供了强 大的支持。针对上述这种情况,为了方便项目开发,我们提出这样一个设想: 如果能综合运用这些开源社区的开源开发框架,把他们整合到一起作为一个基 础开发平台,则可以保证让我们的项目开发做到高质高效。 在目前开源社区有一些很好的开源框架,如s p r i n gf r a m e w o r k ,是一个比 较新的开源框架。很少有一个项目可以像它那样为j 2 e e 的开发提供强有力的基 础架构,它是一个提供控制反转的容器,同时提供面向方面编程( a s p e c t o r i e n t e dp r o g r a m m i n g ) 的服务支持。通过运用s p r i n g 我们可以为许多项目提 供一种与e j b 架构功能相近的体系结构,但实现上要更简单,效率更高,代码 更加简洁。s t r u t s 是一个m v c 结构的表示层开源框架,它可以让h t m l 和j a v a 代 码完全分离,实现表现层与模型和控制层的真正分离。h i b e r n a t e 是一个优秀 的o r m ( 对象关系映射) 工具,通过它程序员可以方便的实现j a v a 对象与数据库 表记录的相互转换。 本文具体分析了s t r u t s 、s p r i n g 和h i b e r n a t e 这三个开源框架各自的特征, 并提出在表示层、业务逻辑层、数据持久层中合理的一些框架的特征,即可以 减少开发人员重新开发各种通用功能所带来的问题、具有良好的扩展性和可配 置性,具有数量众多的用户群支持。然后提出如何将s t r u t s 、s p r i n g 和 2 四川师范大学研究生毕业论文 h i b e r n a t e 合理的整合在一起,搭建一个轻量的通用的具有开发周期短、开发 成本低、松耦合、易于扩展和迁移等优点的j 2 e e 开发平台s s h ,以此来指导中 小企业信息系统的开发。并在这个平台的基础上,进行一个网上书店系统的应 用开发实践,来验证平台建设的成果。虽然近期也有一些论文也在试图将这些 框架组合起来搭建一个平台进行系统的开发,但是这些论文只是简单的整合, 并没有仔细分析搭建的平台的工作流程,以及三个框架使用在不同的层次的具 体好处。本文还针对它们的不足做了进一步的研究,同时通过使用s s h 平台开 发的网上书店系统的实现也进一步验证了这三个框架能够组合在一起,搭建一 个轻量级的开发平台。 关键词:s t r u t sh i b e r n a t es p r i n g 开源软件框架j 2 e e 四川师范大学研究生毕业论文 t h er e s e a r c ha n d a p p l i c a t i o no f t h ej 2 e e d e v e l o p i n gp l a t f o r mb a s e do ns s h m a i o r :c o m p u t e ra p p l i c a t i o n p o s t g r a d u a t e :c h e r tg a n g tu t o r :y a ny u s o n g j 2 e ei sag o o dp l a t f o r mi nd e v e l o p i n gd i s t r i b u t i n ge n t e r p r i s ea p p l i c a t i o n s j 2 e et a i lr e a l l yo f f e rt h em o n gt e c h n o l o g i c a lg u a r a n t e ef o ru s i n gi nc o m p l i c a t e d e n t e r p r i s ea p p l i c a t i o n s b u tp e r h a p sb e c a u s ei ti st o oc o m p l i c a t e d ,t h ed e v e l o p e r o f t e nl a c k se n o u g he x p e r i e n c e so rs k i l lt od e v e l o pw i t l li t , t h i so f t e nc a u s e ss o m e j 2 e ep r o j e c tf a i l a tp r e s e n t ,al o to fj 2 e eo p e ns o u r c ed e v e l o p i n gf l a m em e r g e o u tc o n s t a n t l y ,o f f e r s t r o n gs u p p o r t f o ro u rd e v e l o p e r t ot h i sk i n d o f a b o v e - m e n t i o n e ds i t u a t i o n s , i no r d e rt of a c i l i t at ep r o j e c td e v e l o p m e n t ,w ep r o p o s e s u c ha ni m a g i n a t i o n :i fc a ns y n t h e t i c a l l yu s et h e s ef r a m e st oc o m b i n et h e ma sa b a s i cd e v e l o p i n gp l a t f o r mt o g e t h e r , it l l i i 出t h i sc a ng u a r a n t e et h ep u r p o s eo ft h e h i g h - e f f i c i e n th i g hq u a l i t yo f o u rp r o j e c t s p r i n gf r a m e w o r ki san e w e ro p e ns o u r c ef r a m e s e l d o map r o j e c tc a no f f e r t h ep o w e r f u lb a s i cf f a m e w o r kf o r t h ed e v e l o p m e n to f j 2 e ea p p l i c a t i o nl i k ei t i ti s t h a to n ec o n t a i n e rw h i c ho f f e r si n v e r s i o no fc o n t r o l ,a n do f f e r sa s p e c to r i e n t e d p r o g r a m m i n ga tt h es a m et i m e t h r o u g hu s i n gs p r i n g ,w ec a no f f e rt h es i m i l a r f u n c t i o n sw h i c ha r ep r o v i d e db ye j bl a t e l y 。a tt h e g a l n et i m e ,w ec a nm a k ei t s i m p l e ro nr e a l i z i n g ,h i g h e re f i c i e n c ya n dm a k et h ei m p l e m e n t a t i o nm e t h o dw i t h m o r es u c c i n c tc o d e s t m :c si sa no p c 血gs o u c e sf l a m eb a s e do nm v cs t r u c t u r et h a t u s e si nw e bt i e r , t h r o u g hu s i n gs t r u t s , t h ed e v e l o p e rc a nr e a l l ys e p a r a t et h eh t m l a n dj a v ac o d e ,a n dr e a l i z et h ec o m p l e t e l ys e p a r a t i o no ft h ep r e s e n t a t i o ns t y l ea n d 4 四川师范大学研究生毕业论文 t h ep r e s e n t a t i o nl o g i c h i b e r n a t ei sav e r yg o o do b j e c t r e l a t i o nm a p p i n gt o o l , t h r o u g hu s i n gi t ,t h ed e v e l o p e rc a l lf a c i l i t i l ys t o r et h ej a v ao b j e c ti n t o t h e d a t a b a s e t h i st h e s i sa n a l y s et h es p e c i a l t yo ft h r e eo p e ns o i l t o ef r a m e w o r k ,a n dp u t f o r w a r dt h er i g h ts p e c i a l t yo f t h ew e bt i e ra n db u s i n e s st i e ra n dd a t ap e r s i s t a n c e t i e rt h a tm a yr e d u c et h ed e v e l o p m e n tp e r s o n a lt od e v e l o pt h eq u e s t i o nw h i c he a c h k i n do f g e n e r a lf u n c t i o nb r i n g s ,t oh a v et h eg o o de x t e n s i o na n dc o n f i g u r a b l e ,a n d h a sq u a n t i t ym u l t i t u d i n o u su s e rg r o u ps u p p o r t a tl a s tw ei n t r o d u c eh o wt oe x a c t l y i n t e g r a t es t r u t s 、s p r i n ga n dh i b e r n a t et o g e t h e r , b u i l d sa f e a t h e rw e i g h tg e n e r a lt o h a v et h ed e v e l o p m e n tc y c l es h o r t , t h ed e v e l o p m e n tc o s tl o w , t h el o o s ec o u p l i n g , e a s yt oe x p a n da n dm e r i ta n ds oo nm i g r a t i o nj 2 e ed e v e l o p st h ep l a t f o r m , a c h i e v et h eg o a lo fq u i c k l ya n dh i g h - q u a l i t yd e v e l o p m e n to fap r o j e c t a l t h o u g h r e c e n t l yt h e r ea r es o m et h e s i sa l s oi n t e n dt oc o m b i n et h e s ef l a m et od e v e l o pa p l a t f o r m ,b u tt h e s et h e s i sj u s tc o m b i n es i m p l y ,a n dn o ta n a t o m i z et h ew o r k f l o w o ft h ep l a t f o r m ,a n dt h ec o n c r e t eb e n e f i to ft h et h r e ef r a m e s ot h i st h e s i sm a k ea f n r t h e rr e s e a r c hb a s e do nt h e i rs h o r t a g e ,a n dt h r o u g ht h ei m p l e m e n to f t h es y s t e m a b o u tb o o k s t o r e ,w ef n r t h e rp r o v et h a tt h e s et h r e ef r d l n ec a nc o m b i n et og e ta f e a t h e r w e i g h tp l a t f o r m k e y w o r d s :s t r u t s h i b e r n a t e s p r i n go p e ns o u r c ef r a m e j 2 e e 5 i 1 1 1 l 师范大学学位论文独创。眭及 使用授权声明 本人声明:所呈交学位论文,是本人在导师芒金蛰 指导下,独立 进行研究【:作所取得的成果。除文中已经注明引用的内容外,本论文不含任何 其他个人或集体己经发表或撰写过的作品或成果。对本文的研究做出重要贡献 的个人和集体,均已在文e l l 以明确方式标明。 本人承诺:已提交的学位论文电子版与论文纸本的内容一致。如因不符而 引起的学术声誉上的损失由本人自负。 本人同意所撰写学位论文的使用授权遵照学校的管理规定: 学校作为申请学位的条件之一,学位论文著作权拥有者须授权所在大学拥 有学位论文的部分使用权,即:1 ) 己获学位的研究生必须按学校规定提交印 刷版和电子版学位论文,可以将学位论文的全部或部分内容编入有关数据库进 行检索;2 ) 为教学和科研目的,学校可以将公开的学位论文或解密后的学位 论文作为资料在图书馆、资料室等场所或在校园网上供校内师生阅读、浏览。 虱秭 心 论文作者签名:敢剖 洲年年月凹日 四川师范大学研究生毕业论文 第一章:绪论 、 1 1 研究背景 随着科学技术的迅速发展,网络信息时代将人们带入一个市场日益透明化 的新经济时代,不论是商家还是客户都有可能获得做出最佳决定所需要的所需 信息。在市场竞争日益激烈的环境下,许多商品的同质化倾向越来越强,它们 无论从外观到质量,已很难找出差异,更难分高低。这时商品的质量不再是消 费者消费商品的主要标准,而最重要的是看商家提供的服务,以及服务的质量 和服务的及时程度。如今的消费者希望在足不出户的情况下,就能够获得自己 所希望的商品以及服务,这就需要各类商家通过网络的形式向消费者推荐各自 的商品,同时还要在网络上向消费者提供个性化的服务。这样各类网上信息系 统就应蕴而生,对于一些大型的企业,由于自身经济实力很强,所以不是很在 意自己信息系统建设的花费以及周期,但是对于一些经济实力稍微差一些的中 小企业就会很在乎投入的回报率,它们就迫切的需要一种花费低、开发周期短、 安全性高的开发设计模式来指导自身网上信息系统的开发,为企业的高速发展 带来机遇。 所以设计一种开发周期短,开发灵活方便,花费低,以及安全性高,投资 回报率高的开发平台就是解决上述经济实力稍差的中小企业信息化的一个途 径。 1 2 研究意义 目前在国内的企业级的信息系统的应用开发上,大多数软件开发厂商都采 用j 2 e e 的架构,但是由于j 2 e e 中的某些技术在设计时的一些缺陷,使得使用 传统的开发模式所设计出来的程序还有很多缺点如;在j s p 文件中,h t m l 和 j a v a 代码强耦合在在一起【l l ;在e j b 中使用的实体b e a n ,都是一些重量级的封 装,功能太过复杂;同时用于部署e j b 的商用e j b 容器价格昂贵【3 】;开发周期 长和开发成本高。 基于j 2 e e 传统开发模式的缺点,通过本文的研究,提出了一种使用开源 软件的b s 模式的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 开源框 架。通过这三个开源框架的高效组合,解决了在传统的j 2 e e 开发应用软件时 所遇到的分层、松耦合、易扩展、以及事务管理等问题,还解决了使用商业软 件开发时所遇到的开发成本高、开发周期长等问题,从而为中小企业的网上信 息系统的开发提供了一种具有松耦合、高可靠性、易扩展、开发成本低、开发 周期短的设计模式。 1 3 研究现状 3 1j 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 ) 作为一个企业级的大型的开发平台, 近些年来的发展和成就有目共睹。 首先,根据最近的统计,i b m 和b e a 已经取得了j 2 e e 市场领先者的桂 冠,它们共同控制了该市场6 6 的市场份额。i b m 和微软的市场存在让其他 的竞争者没有多少选择,只有去使用这两家公司合作制定的各种w e b 服务规 范。通过相同的方式,i b m 和b e a 两者在j 2 e e 市场上的力量让其他竞争者 在这一市场剩下的份额里没有多少选择,只有去使用这两家共同支持的各种规 范口9 】。但正是因为这种架构的方式决定了这些集成的服务以及后续的服务都 是昂贵的。 其次,j 2 e e 本身是个解决电子商务和企业级应用的标准,j 2 e e 平台是一 个主流厂商提供服务的集成出来的开发电子商务和企业级应用的产品,这个平 台并不是对所有的需求都是满足的,其中的业务逻辑层的解决方案e j b 机制 存在一些不足,其构架方式本身有一些问题,而且e j b 的机制是一种对代码 一定侵入性,对设计有一定侵入性的框架规范,这就使业务组件移植不是很方 便。e j b 制订了很多的接口和编码规范,要求实现者遵守,这样就导致了业务 逻辑移植困难,成本较高1 4 1 。 同时、在e j b 中使用的实体b e a n ,都是一些重量级的封装,功能太过复杂, 实现接口太过冗长,开发效率和运行效率都受到很大的影响。e j b 的部署描述 复杂而且容易出错,基于e j b 模型的容器持久化管理的开发和管理过于复杂p j 。 许多基础的特征未考虑到,比如使用数据库序列和e j b q l 定义一个主键的标准 2 四川师范大学研究生毕业论文 方法就非常有限。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 开 发模式开发企业应用程序的成本很高。 这就使得基于传统的j 2 e e 开发方式在中小企业中的应用比较少,这些企 业由于缺少资金并且为了追求最大的经济价值,往往在开发自己的信息平台时 不会选用j 2 e e 平台来开发,这就使得j 2 e e 平台的使用受到限制。为此就迫切 需要一种脱离传统的j 2 e e 的开发方式的开发平台来构建中小企业的信息平 台,以缩短企业平台建设的时间和金钱,给中小企业带来更多的经济价值。 1 3 2 开源框架现状 目前,j 2 e e 多层架构上已经开发出了很多框架,这大大减轻了开发人员 的负担,开发者可以将不同层上的框架整合到一起,从而能够从繁杂的底层编 码中解脱出来。 s t r u t s 是一种m v c 架构的表示层开源框架,做为一个开放源代码的应用框 架,在最近几年得到了飞速的发展,在j s ew e b 应用开发中得到非常广泛的应 用,它已经成为j s pw e b 应用框架的事实上的标准。首先,它是建立在m v c 这种公认的先进的模式上,s t r u t s 在模型、视图和控制上都有涉及,但它主 要是提供一个好的控制器和一套定制的标签库,也就是说它的着力点在控制和 视图上,因此,它天生就有m v c 所带来的一系列优点,如:结构层次分明,高 可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中 统一的权限控制、有效性校验、国际化等等;其次,这个开源项目得到了包括 它的发明者c r a i gr m c c l a n a h a n 在内的一些程序大师和高手持续而细心的呵 护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善,随着 s t r u t s 相关书籍的逐渐增多,现在越来越多的公司或个人在开发各自的系统 时,都选择s t r u t s 做为自己的表示层开发框架【柏】。 s p r i n g 是一个新兴的轻量级的j 2 e e 应用程序框架,s p r i n g 的核心是轻量 级容器,实现了i o c ( i n v e r s i o no fc o n t r 0 1 ) 模式的容器,s p r i n g 的目标是 四川师范大学研究生毕业论文 实现一个全方位的整合框架,s p r i n g 框架实现了多个子框架的组合,这些子 框架之间彼此可以独立,也可以使用其它的框架方案加以替代,s p r i n g 提供 了“一站式”的框架整合方案。 s p r i n g 不会特别去提出一些子框架来与现有的开源框架竞争,除非觉得 所提出的框架麴新麴好,例如s p r i n g 有自己的m v c 框架方案,因为它觉得现 有的m v c 方案有很多可以改进的地方,但它不强迫使用它提供的方案,开发者 可以选用自己所希望的框架来取代其子框架,例如可以在s p r i n g 中整合 s t r u t s 框架,同时s p r i n g 还可以同e j b 相整合1 4 l 】。 s p r i n g 的核心概念是i o c 和a o p ,i o c 是一种依赖注入机制,通过使用该 机制,开发者可以不通过硬性编码的方式,而只需要做简单的配置就可以给现 有的j a v a 类引入一个属性类。这样当以后属性类发生变化时,不需要重新编 译我们现有的代码,而只是简单的在配置文件中做修改就行,大大的增强了系 统的扩展性。a o p 是面向方面的编程,它允许程序员对横切关注点或横切典型 的职责分界线的行为( 例如日志和事务管理) 进行模块化,这样就可以使用声 明式的事务管理,使的在程序的编写过程剔除繁琐的事务控制语句,简化编程 任务,缩短开发的周期。 h i b e r n a t e 是采用o r m 模型实现数据持久层的一个优秀的j a v a 开源框架, 它提供了强大的、高效的将j a v a 对象进行持久化操作的服务,利用h i b e r n a t e 开发人员可以方便的按照j a v a 对象的结构进行持久层的开发,并可以使用 h i b e r n a t e 所提供的h q l ( h i b e r n a t eq u e r yl a n g u a g e ) 完成j a v a 对象和关系型 数据库之间的转换操作。从2 0 0 1 年开始经过6 年的发展,随着h i b e r n a t e 3 的正式发布,使的h i b e r n a t e 发展到了一个崭新的高度,在性能、灵活行、和 可扩展性方面得到了进一步的提升,在很大程度上已经超越了其它持久层技术 【1 3 】。现在h i b e r n a t e 已经成为最具影响力的o r m 工具,而且h i b e r n a t e 正逐 渐应用于各种应用系统的持久层。 近期也有一些论文如“基于s t r u t s + s p r i n g + h i b e r n a t ew e b 应用开发框架 技术”【4 2 】等:尝试把这三个开源框架集成起来进行实现特定系统的开发,但 是这些论文只是针对所要开发的系统将三个框架做了简单的整合,它们的重点 在于特定系统的构建,因此并没有给出具体的整合的实现过程,也没有仔细分 4 四川师范大学研究生毕业论文 析三个框架的工作流程,以及三个框架使用在各个层次和三个框架两两组合使 用所带来的好处的具体的体现。所以还是有必要对这三个框架整合起来的平台 做仔细的分析研究。 1 3 3 开源社区活动 目前越来越多的大公司投入到开源社区的活动中来,如i b m 、h p 、s u n 、 n o v e l l 等公司纷纷跳水,加入到开源运动的洪流中,更有甚者,很多公司把 专属软件捐献出来,这使得开源软件的层次得到了大大提高。同时由于开源运 动蓬勃发展,形成几大开源基金会与开源公司运作并存的局面。著名的几大开 源基金有f s f g n u 、a p a c h e 、m o z i l l a 等等,另外也存在既经营商业软件也维 护开源社区的公司,比如运营m y s q l 的m y s q la b 公司和运营s u g a r c p a l 的公司i l o j 。 相比于国外开源运动的蓬勃发展,在国内基于开源软件的应用研究才起 步,并且发展很缓慢,开源社区贫乏。与国外蓬勃发展的开源社区相比,我们 国内要冷清得多,并且从事开源研究的自愿者微呼其微。开源软件应用逐步开 始向开源服务和解决方案方向发展,同时,缺乏开源解决方案规划和咨询服务, 企业开源应用没有得到很好的发展。 1 4 研究目标和内容 1 4 1 研究目标 虽然在开源社区有很多设计精良的开源框架,但是这些框架都是针对于 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 ) ,将它们组合起来设计出一种松耦合、高 可靠性、开发周期短、节约开发成本的j 2 e e 开发平台s s h ,以此开发平台来 指导中小企业应用软件的设计,为中小企业的信息化建设缩短周期,节约成本。 四川师范大学研究生毕业论文 1 4 2 研究内容 基于以上的分析,针对传统的j 2 e e 开发方式在开发周期、开发效率、开发 成本以及开发的系统不易扩展和迁移等缺点。本文提出了一种基于j 2 e e 的开发 平台s s h 来指导中小企业的系统开发,该平台克服了使用传统的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 ) 各自的优 势,让它们在各自的层次上协调工作。同时使用该s s h 开发平台很大程度上减 少开发人员的工作量,使得他们专注于业务逻辑功能的处理,而不需要将更多 的精力放在对象持久化和j s p 页面的设计上,大大提高开发效率。并且使用该 s s h 开发平台可以实现层次之间的松耦合,每一个层次的实现都不需要依赖于 另一个层次的具体实现,大大的提高了系统的扩展性和可移植。 基于以上的分析,本文从以下几点阐述该j 2 e e 的开源开发平台: 第一介绍t 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 的技 术组成( 详见第二章) 。 第二根据开发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 优缺点( 详见第 三章第一节) 。 第三利用开源社区中设计优秀的s t r u t s 、s p r i n g 、h i b e r n a t e 框架搭建成 一个s s h 的j 2 e e 的开发平台,并分析它们的工作流程,和三个框架的具体的集 成过程,打造一种松耦合、高可靠性、开发周期短、节约开发成本的设计模式 ( 详见第三章第二节) ,然后分析3 s s h 平台比传统的j 2 e e 开发平台在开发中小 型企业的信息系统上所具有的优势( 详见第三章第三节) 。 第四具体开发一个网上书店系统,以实例的形式验证研究结果( 详见第四 章) 。 6 四川师范大学研究生毕业论文 第二章:j 2 e e 介绍和框架分析 2 1j 2 e e 概述 j 2 e e 是一种利用j a v a 2 平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构。j 2 e e 技术的基础就是核, o j a v a 平台或j a v a2 平台的标 准版,j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特 性、方便存取数据库的j d b ca p i ,c o i 媳a 技术以及能够在i n t e r n e t 应用中保护数 据的安全模式等等,同时还提供了对e 3 b ( e n t e r p r i s e j a v a b e a n s ) ,s e r v l e t 。j s p ( j a v as e r v e r p a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够 使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 可以理解为一个企业级的中间件体系或平台,它把多种分散到网络上 的资源和应用连接起来,为构造和管理、运行可伸缩的企业级业务应用提供了 一系列的应用组件和一个运行环境。从物理上看,j 2 e e 环境可分布驻留到一个 以上的服务器,单一的业务应用能够以一组分布式组件的形式部署到网络上的 一个或者多个服务器。 j 2 e e 体系结构提供中间层集成框架用来满足需要高可用性、高可靠性以及 可扩展性的应用的需求。通常这些是由分布的应用程序来实现的,包括前端数 据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能 和数据与e i s ( e n t e r p r is ei n f o r m a t i o ns y s t e m ) 相结合的功能。这些中间层 把客户端从复杂的商业逻辑中分离出来,利用成熟的i n t e r n e t 技术使用户在管 理上所花费的时间最小化。通过提供统一的开发平台,j 2 e e 降低了开发多层应 用的费用和复杂性,同时提供对现有应用程序集成强有力支持,增强了安全机 制,提高了性能。 2 2j 2 e e 结构体系 2 2 1j 2 e e 技术组成 j 2 e e 平台为实现和部署企业级应用程序提供了一个标准,促进企业组织 加快在信息化经济中竞争的步伐。这个标准是通过一系列的相关规范来定义 的,其中关键的有j z e e 规范、e j b 规范、s e r v l e t ,j s p 规范等。 j 2 e e 平台指定了n 层体系架构的企业级应用程序的技术,包括组件技术、 7 四川师范大学研究生毕业论文 服务技术和通信技术。它们的内容如下: 组件技术,所有的j 2 e e 组件都需要一个容器一c o n t a i n e r 一来提供其运行 时环境。此环境可以提供如组件的生命周期管理、安全、多线程以及实例池之 类的服务【1 1 。组件技术有a p p l e t 、应用程序客户端组件,w e b 组件,e j b 组件。 其中w e b 组件包括j s p 和s e r v l e t 组件。而e j b 又可以再细分为s e s s i o nb e a n , e n t i t yb e a n 和m d b ( 消息驱动b e a n ) 。由于j 2 e e 体系结构的庞大和复杂, 为了便于识别不同群体所执行的任务,在应用程序开发和部署的整个生命周期 中,j 2 e e 平台定义了6 种不同的角色:j 2 e e 产品提供者、组件提供者、应用 程序开发者、部署人员、系统管理人员、开发工具提供者。 冁务技术包括:名称目录服务( j n d i ) ,事务服务( j t a 、j t s ) ,安全 服务( j a a s ) ,数据库的访问( j d b c ) 和连接器结构( j c a ) 1 6 j 。 通信技术,j 2 e e 规范要求支持以下几种类型的通信技术:i n t e r n e t 协 议( t c p i p ,h t t p ,s s l ) ,远程方法调用( r m i ) 协议,对象管理组协议( i i o p i n t e r n e t 内部o r b 协议) ,消息接发技术( j m s ,j a v a m a i l ) 以及数据格式。 2 2 2j 2 e e 核心a p i j 2 e e 主要包括:e j b 、j a v as e r v l e t 、j s p 、j n d i 、j d b c 、j t a 、j m s 、r m i 、 j m s 等组件技术。下面对这些重要的组件技术进行简要的介绍。 ( 1 ) e j b 技术 e j b 定义了可复用的、可移植的j a v a 分布式事务组件的设计和发布。它 允许用e j b 开发的应用程序在多个应用服务器上发布,不必为每个应用程序 开发专门的服务器。e j b 使开发者把精力主要放在开发多用户的、高可靠性、 高性能的应用程序上。通过使用和扩展j d b c 、j n d i 、r m i 和c o r b a 等技术, e j b 标准提供了建立应用程序的统一方式,并使这些程序具有永久性、事务处 理、集群和负载均衡等能力【5 j 。 e j b 提供复杂的企业级应用。开发者通过应用e j b ,可以全身心地投入开 发、解决实际问题,而不用花费精力处理服务器端系统的底层问题。e j b 模型 可以避免开发者对这些底层功能的重复开发,从而提高效率。 e j b 支持“即插即用”的企业级特性,开发者不用了解组件所需中间件的 8 四川师范大学研究生毕业论文 任何细节。在e j b 服务器中可以不写中白j 件代码,而让组件可以透明地、潜 在地获得中间件服务。e j b 服务器可以潜在地为运行在其中的组件提供事务处 理、安全管理、组件生存期管理、线程管理等服务。 ( 2 ) j a v as e r v l e t 和j s p 技术 j a v as e r v l e t 是用来扩展w e b 服务器功能的网络组件,它基于请求响 应机制。s e r v l e t 从客户端获得请求,然后将响应结果返回客户端。s e r v l e t 的 这种特点使得它非常适合于w e b 任务。与e j b 技术相比,j a v as e r v l e t 更 适于处理简单的请求响应任务,而且不需要应用服务器提供复杂的服务支持。 j s p 也是用来解决客户端显示与交互问题的组件技术【9 】。j s p 脚本可以被编译 为j a v as e r v l e t ,j s p 将显示客户和操作的部分独立出来,维护的时候相对 容易。 ( 3 ) j a v ad a t a b a s ec o n n e c t i v i t y ( j i ) b e ) 技术 j d b c 是j a v a 语言进行数据库访问的标准扩展,为j a v a 程序员提供了 访问关系型数据库的标准a p i 。通过使用j d b c ,开发者可以用一种灵活的方 式进行数据操作。在进行数据库操作时,客户端调用执行j d b c 驱动程序的标 准a p i ,然后由这些a p i 访问特定的数据库。j d b c 和o d b c 十分相似,而且 两者可以通过j d b c - o d b c 连接桥进行访问。j d b c 包括对数据库连接池的支 持,这增强了数据库和应用代码间的相互独立性。 ( 4 ) j a v at r a n s a c t i o na p i ( j t a ) 和j a v at r a n s a c t i o ns e r v i c e ( i r s ) 技术 j t a 事务处理技术是保证一系列操作正确完成的保护机制川。例如:事务 处理所提供的典型的保护措施是保证在一个事务环境中的全部操作均正确执 行,否则,全部不执行。事务处理能够保证系统数据的一致性。事务处理可以 允许多个用户同时访问相同数据,但本质上将其相互隔离,它是同步处理的一 种高级形式。s u n 公司为了更好的实现事务处理机制,推出了两个a p i :j a v a 事务处理a p i ( j t a ) 和j a v a 事务处理服务( j t s ) 。 j t a 是应用程序用以控制事务的较高层次的事务处理接口,通常用户直接 调用该接口实现具体的事务处理。j t s 是一套底层事务处理接口,以c o r b a 中 的对象事务处理服务( o t s ) 为基础,通常客户端代码不直接与j t s 相互作用。 j t s 技术使多个厂家产品在不同环境下能够协同进行事务处理。 9 四川师范大学研究生毕业论文 ( 5 ) j a v am e s s a g es e r v i c e ( j m s ) 技术 该技术提供创建、发送、接收、读取消息的服务。j m s 定义了一组公共的 应用程序接口和相应语法,使得j a v a 应用能够和各种消息中间件进行通信。 使用j m s 的a p i ,能够最大限度地提高消息应用的可移植性。j u s 技术支持 点对点的消息通信,同时支持发布订阅式的消息通信。j m s 消息服务技术为 分布式对象之间提供了可靠的异步通信方式,相比同步通信方式,采用异步通 信方式使得整个系统的可靠性得到了很大的提高。s u n 公司发布了j a v a 消息 处理a p i ,提供可移植性的消息服务。总之,j m s 技术提供了与厂家无关的分 布式对象可事务处理、可容错的异步通信方式。 ( 6 ) j a v an a m i n gd i r e c t o r yi n t e r f a c e ( j n d i ) 技术 j n d i 是一个命名的目录服务标准。e j b 通过j n d i 在网络中查找分布式 组件。j n d i 是客户代码和e j b 组件连接所需的重要技术。j n d i 以目录服务 为基础。目录服务存储资源位置信息和其它相关信息。目录服务是组件和客户 端程序之间进行连接的纽带,当客户端程序需要访问组件时,使用目录服务定 位并获得组件,响应客户端请求。j n d i 在不同的目录服务间建立连接。通过 j n d i ,用户可以编写可移植的命名和目录服务代码,而不用针对某种特定目录 服务编写不能移植的应用程序。 ( 7 ) j a v a m a i l 技术 j a v a m a i l 可以为应用程序增加电子邮件功能。j a v a m a i l 定义了一套可由 用户编写代码的接口,通过接口将用户的代码和具体的协议、邮件服务分离, 这样i n t e r n e t 邮件代码具备跨平台、跨通信协议的良好的移植性。同时, j a v a m a i l 提供一些常用服务支持当前比较通用的邮件协议。 ( 8 ) 分布式组件技术 分布式远程组件之间有多种方法实现互调。通常有用在j a v a 平台的 r e m o t em e t h o di n v o c a t i o n ( r m i ) 、兼容多种平台的c o r b a ,微软公司的 d i s t r i b u t e d c o m ( d c o m ) 和w e bs e r v i c es i m p l eo b j e c ta c c e s sp r o t o c o l ( s o a p ) 技术【们。s o a p 技术基于h t t p 协议,可以穿过防火墙,有很好的发展前景。 r m i 技术、d c 伽技术、c o r b a 技术基于t c p i p 协议,但又互不相同。d c o m 主 要用在微软的操作环境,它的特点是速度较快,但协议复杂,实现困难;c o r b a 1 0 四川师范大学研究生毕业论文 兼容多种平台,能够支持企业的遗留系统,因此被广泛使用。c o r b 支持企业 遗留系统,使用c o r b a 开发应用程序可以充分地利用原有的资源。 ( 9 ) 蹦i 技术 跚i 是一种远程调用其它计算机商务方法的机制。r m i 是一种底层潜在的 机制,e j b 应用r m i 作为组件和客户端之间底层通信a p i 。r m i 用在j a v a 平 台上,主要用于j a v a 组件的远程调用,是分布式对象应用程序的主要机制之 一。程序设计时,先使用接口定义远程对象,然后像使用本地对象一样调用这 些远程对象的方法,调用过程对用户透明。在j 2 e e 应用程序中,跚i 的应用 非常广泛,e j b 组件之间、基于j a v a 的客户与服务器之间的互操作都是基于 跚i 的。r m i i i o p 是j a v a 环境用来

温馨提示

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

评论

0/150

提交评论