




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)struts和hibernate在oa系统中的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理,i :人学硕十学位论文 摘要 近年来,网络技术的迅速发展和j 2 e e 平台的广泛采用,使基于b s 的多层 w e b 体系结构逐步成熟,并得到飞速发展。a p a c h es t r u t s 是一个基于j 2 e e 平台 实现了m v c 设计模式的典型框架,它提供了自己的控制器组件,并整合了j 2 e e 相关技术用于实现m v c 设计模式中的模型组件和视图组件模型。s t r u t s 框架有 效地分离了数据的控制和数据的表现,克服了传统w e b 应用开发方式所固有的 弊端,适应越来越复杂的多层w e b 应用系统的设计需求,为开发和配置企业应 用提供了健壮、稳定的服务。 o r m 是对象到关系数据库的映射。它是面向对象设计中一项重要的技术。 h i b e r n a t e 是一个面向j a v a 环境的对象关系数据库映射工具。它不仅仅管理j a v a 类到数据库表的映射,还提供数掘查询和获取数据的方法。这样,j a v a 程序员 就可以随心所欲地使用对象编程思想来操纵数据库,把全部精力集中到对对象 和类进行编程,解决业务问题。其中,h i b e r n a t e 作为o rm a p p i n g 中最好的开 源工具,受到越来越多的程序员的拥护。 本文介绍了j 2 e e 的基本知识和m v c 设计模式,在此基础上,详细阐述了 s t r u t s 框架的体系结构和基本原理,并通过数据持久层概念的提出,介绍了 h i b e r n a t e 的基本知识。然后通过应用s t r u t s 和h i b e r n a t e 框架开发北京兆维集团 曙光发展公司业务办公系统的实例,分析各项技术在实际开发中的应用方式, 最后讨论了s t r u t s 和h i b e r n a t e 的特点,并总结了项目中的各项体会。通过实践 表明,应用这种系统框架可以提高在o a 系统中开发的效率,同时满足系统可 扩展性和可维护性的要求。 关键词:m v c ,s t r u t s ,h i b e r n a t e ,o r 武汉理 大学硕十学侍论文 a b s t r a c t r e c e n t ly ,t h er a p i dd e v e l o p m e n to fn e t w o r ka n dt h ee x t e n s i v ea d o p t i o no f j 2 e ep l a t f o r mm a k em u l t i l a y e rw e bs t r u c t u r eb a s e do nb sm a t u r ea n dd e v e l o p p r o g r e s s i v e l y , w h i c hp r o v i d e sas t r o n gt e c h n i c a lb a s i sf o rw e ba p p l i c a t i o n a p a c h e s t r u t si sac l a s s i c a lw e bf r a m e w o r k w h i c hi sb a s e do nj 2 e ep l a t f o r ma n d i m p l e m e n t st h em v cd e s i g np a t t e r n i tg i v e st h ec o n t r o l l e rc o m p o n e n to fi t so w n a n di n t e g r a t e ss o m et e c h n o l o g i e so fj 2 e et oi m p l e m e n tt h em o d e lc o m p o n e n ta n d v i e wc o m p o n e n t i tc a l ls e p a r a t et h ec o n t r o l l e ra n dd i s p l a yo ft h ed a t ae f f e c t i v e l y , o v e r c o m et h ed e f e c t so ft r a d i t i o n a ld e v e l o p m e n tm e t h o d ,e a s e st h eb u r d e no f c o n s t r u c t i n gm u f t i l a y e r w e b a p p l i c a t i o n s a n d p r o v i d e s r e u s a b l es o f t w a r e a r c h i t e c t u r e ;i to f f e r ss t r o n ga n ds t a b l es e r v i c ef o rd e v e l o p i n ga n dd i s p o s i n g e n t e r p r i s ea p p l i c a t i o n o r mm e a n s o b j e c t - r e l a t i o n a lm a p p i n g i t i sa n i m p o r t a n tt e c h n i q u e i n o b j e c t - o r i e n t e dd e s i g n i n g h i b e r n a t ei sa no r mt o o l f o rj a v ae n v i r o n m e n t i t m a n a g e st h em a p p i n gf r o mj a v ac l a s s e st od a t a b a s et a b l e sa n dt h eo p e r a t i o no f p e r s i s t e n to b j e c t s t h u s ,j a v ap r o g r a m m e r sc a nf r e e l ym a n i p u l a t ed a t a b a s eb yo b j c o t p r o g r a m m i n gi d e a , a sw e l la sp a ya t t e n t i o nt oo b j e c tp r o g r a m m i n ga n dc l a s s p r o g r a m m i n gi no d e rt os o l v et h eo p e r a t i o np r o b l e m s h i b e r n a t eb e c o m e st h eb e s t t o o lo f o rm a p p i n ga n dg e t st h em o r ea n dm o r ep r o g r a m m e r s 7l o v e f i r s t l y , 也et h e s i si n t r o d u c e st h ej 2 e ea n dm v cm o d e l t h ea r c h i t e c t u r em a d p r i n c i p l e so ft h es t r u t sf r a m e w o r ka r ea l s oi n t r o d u c e di nt h ep a p e r s e c o n d l y , t h e t h e s i sp r o v i d e st h ec o n c e p t i o no fd a t ap e r s i s t e n c el a y e ra n di n t r o d u c e st h eb a s i c k n o w l e d g eo ft h eh i b e r n a t e t h i r d l y , t h ed e v e l o p m e n tm e t h o d so ft h es t r u t sa n d h i b e r n a t ea r ea n a l y z e db yt a k i n ga no a s y s t e mo fs h u g u a n gc o m p a n y o fz h a o w e i g r o u pa sa ne x a m p l e a tl a s t ,t h ep a p e rd i s c u s s e st h ef e a t u r e so ft h es t r u t sa n d h i b e r n a t ea n ds u m m a r i z e ds o m ee x p e r i e n c e sd u r i n gt h ep r o j e c td e v e l o p m e n t i ti s i n d i c a t e dt h a tt h ef r a m e w o r ko ft h es t r u t sa n dh i b e r n a t ep r o v i d e di nt h ep a p e rc a n r a i s et h ed e v e l o p m e n te f f i c i e n c yi no as y t e ma n dm e e tt h ed e m a n d so ft h e s c a l a b i l i t 3 , a n dm a i n t a i n a b i l i t yo fas y s t e m k e yw o r d s :m v c ,s t r u t s ,h i b e r n a t e ,o r 武汉理工大学硕十学位论文 1 1 课题的研究背景 1 1 1 技术背景 第1 章绪论 近年来,随着网络技术的迅速发展和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 1 日j 的耦合程度,避免 开发人员相互制约。 最早在s m a l l t a l k 一8 0 中被提出的m v c 设计模式就体现了这样的思想。m v c 即模型( m o d e l ) 、视图( v i e w ) 、控制器( c o n r o l l e r ) 。模型表示业务逻辑;视图是应 用程序中用户界面相关的部分;控制器的作用是从客户端接受请求,并且选择 执行相应的业务逻辑,然后把响应结果送回到客户端。这种设计模式把应用逻 辑、处理过程和显示逻辑分成不同的组件实现,通过三者之间的分离达到层间 的松散耦合,以实现代码重用和易于修改,提高了系统的灵活性、复用性和可 维护性,达到了提高软件质量的目的。 s t r u t s 是一个基于j 2 e e 平台、对m v c 设计模式实现的框架。s t r u t s 主要采 用大多数开发者熟知的j s p 、s e r v l e t 等标准技术,对m v c 设计模式的三个部分 提供了对应的实现组件。项目的创立者希望通过该项目能有助于开发者利用j s p 和s e r v l e t 的优点更加快速、容易的建立可扩展的多层w e b 应用。s t r u t s 规定了 应用的体系结构,为应用系统提供了一个良好的软件构架1 2 j 。 另一方面,长久以来,在j a v a 开发领域中,基于数据库应用的设计一直是 武汉理工大学硕十学位论文 面向关系的,即与数据库相关的处理过程并没有实现真i f 的面向对象,o r m a p p i n g 对j d b c 进行了轻量级的对象封装,使j a v a 程序员可以随心所欲地使 用对象编程思维来操纵数据库。它具有自我存储到关系数据库的能力,使对象 的改变能够直接得以存储,而不考虑数据库存取代码。这样,把全部精力集中 到对对象和类进行编程,解决业务问题。在整个系统中除了这一个层次外,没 有一句数据库存取代码。其中,h i b e r n a t e 作为o r m a p p i n g 中最好的丌源工具, 受到越来越多的程序员的拥护。 1 1 2 项目背景 ( 1 ) 企业0 a 系统的应用 办公自动化( o a - - o f f i c ea u t o m a t i o n ) 是将现代化办公和计算机网络功能结 合起来的一种新型的办公方式,是当前新技术革命中个非常活跃和具有很强 生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人 员可跨越时间、地点协同工作。通过o a 系统所实施的交换式网络应用,使信 息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。 不但减轻或节省了人们的办公劳动,而且大大提高了办公效率,改善了办公环 境,使人们从原先繁重的重复性、例行性的办公事务中解放出来,从而有更多 的时间和精力投放在更需要人的思维柬考虑和解决的问题上。 办公自动化目前为止没有统一的定义,凡是在传统的办公室中采用各种新 技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在我国,o a 的快速发展始于8 0 年代中期。1 9 8 5 年全国召开了第一次办公自动化规划会议, 对我国办公自动化建设进行了规划。会议对o a 进行了定义:利用先进的科学 技术,不断地使人的一部分办公业务活动物化于人以外的各种设备中,并由这 些设备与办公人员构成服务于某种目标的人机信息处理系统。目的是尽可能充 分地利用信息资源,提高生产率、工作效率和质量,提高办公效率,改进办公 质量,以求得良好的社会和经济效益,达到既定的工作目标。 办公自动化已经成为企业界的共识。众多企业认识到尽快进行办公自动化 系统建设,并占据领先地位,将有助于保持竞争优势,使企业的发展形成良经 循环。现在正着手开发或已经在使用针对业务定制的综合办公自动化系统。改 变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理, 实现科学的管理和决策,增强企业的竞争能力,使企业不断发展壮大。一个企 业实现办公自动化的程度也是衡量其实现现代化管理的标准。 2 武汉理j :人学硕+ 学位论文 办公自动化可以和一个企业的业务结合的非常紧密,甚至是定制的。因而 可以将诸如信息采集、查询、统计等功能与具体业务密切关联。操作人员只须 点击一个按钮就可以得到想要的结果,从而极大的方便了企业的管理和决策。 办公自动化还是一个企业与整个世界联系的渠道,一方面,其他企业或者用户 可以访问你对外发布的企业信息,如企业介绍、业务范围、产品服务、在线购 物服务等信息。从而起到宣传介绍和业务拓展的作用。另一方面,企业员工可 以为顾客提供优良、快捷的商品购物服务,随时更新商品信息,分析商品销售 动态,对顾客的订单作出处理等等,使得企业员工不需要对数据库管理系统进 行操作就可以直接完成对数据库中数据信息的增加、删除、修改、查询,从而 改进企业业务流程,提高运行效率,降低成本,提高竞争力。随着办公自动化 的推广越来越多的企业将通过网络拓宽经营渠道和影响力,所以这种网上o a 办公系统的潜力将非常巨大。 ( 2 ) 0 a 开发技术的演变 传统的o a 大都是采用c s 体系进行开发,首先,采用c s 架构,要选择 适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步 完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库 才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在 两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工 作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资 和复杂的技术支持,维护成本很高,维护任务量大。 其次,传统的c s 结构的软件需要针对不同的操作系统系统开发不同版本 的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。 在j a v a 这样的跨平台语言出现之后,b s 架构更是猛烈冲击c s ,并对其形成 威胁和挑战。 近年来,随着网络技术不断发展,尤其是基于w e b 的信息发布和检索技术、 j a v a 计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体 系结构从c s 结构向更加灵活的b s 体系结构演变,因其具有易用性和良好的可 扩展性等优点而迅速发展成为w e b 应用系统的主流,基于b s 结构的w e b 架构在逻 辑上将应用分为4 层:表示层、业务逻辑层、持久层和数据层p j 。这种多层的体 系结构向开发者提供了一种基于组件的设计和开发w e b 应用的模块化方法,应用 系统各层的实现技术多种多样,每种技术各有优缺点和适用范围,怎样选择各 层的技术以及如何结合这些技术来实现一个应用系统是一个值得深入研究的方 向,s t r u t s 在展现层实现较为突出,h i b e r n a t e 在数据持久层实现优异,它完成 3 武汉理1 :人学硕士学位论文 了对象和关系之间的映射,从而实现业务层和数据库层之问的交互,在很大程 度上简化了程序员在数据库逻辑方面的工作,让j a v a 程序员能够使用面向对象 编程的思维来操作数据库【4 1 。两种技术的结合充分发挥了两者的优点,基于二者 的w e b 应用框架开发简洁、结构清晰,有很好的可扩展性和维护性,非常适合于 面向对象的设计与丌发。通过成熟的开源产品搭建层次清晰性能稳定的系统架 构。具体到兆维集团曙光发展公司0 a 系统的设计,采用s t r u t s 和h i b e r n a t e 架构 作为技术开发架构。 1 2 课题的研究现状 s t r u t s 是一个技术框架,由c r a gr m c c l a n a h a n 编写,并且在2 0 0 0 年的时 候捐献给了a p a c h e 软件基金会( a p a c h es o f t w a r ef o u n d m i o n ,a s f ) 。目前,有 很多组织和个人参与s t r u t s 框架的开发,使得s t r u t s 保持高速成长。同时,利 用s t r u t s 开发的应用越来越多,使其成为w e b 应用m v c 模式中v c 部分事实 上的标准。s t r u t s 已经逐渐成长为一个稳定、成熟的框架。 面向对象作为接近真实客观世界的开发概念,使程序代码更易读,设计更 合理。在普遍存在的数据库应用领域,开发人员对面向对象的追求从未停止过。 从八十年代开始,就有很多公司和研究机构在进行着面向对象与数据库结合的 研究。数据库的对象化一般有两个方向:一个是在主流的关系数据库的基础上 加入对象化特征,使之提供面向对象的服务,但访问语言还是基于s q l ;另一 个方向就是彻底抛弃关系数据库,用面向对象的思想来设计数掘库,即o d b m s ( 对象数据库管理系统) 。但是0 d b m s 的研究和广泛推广还有待时日,目前 关系数据库还处于主流地位,因此很多应用还是采用简单的j d b c 来访问数据 库。可是j d b c 也有很多局限性,比如调用复杂,容易产生资源泄漏等问题, 与面向对象的j a v a 语言有一段距离,所以很多开发小组开始思考如何将应用 中的数据进行对象化建模,然后再想办法与j d b c 结合起来,这就是j a v a 数 据库开发中的不断推陈出新的对象包装技术。要将现有的j a v a 对象持久保存 到关系数据库,就需要使用对象关系映射工具来完成,它们能够将对象映射到 关系数据库中的行,从而不再需要复杂的持久层,并且使开发人员只需编写很 少的s q l ( 在多数情况下不需编写任何s q l ) 。免费的o rm a p p i n g 工具有很 多种,其中比较有影响力的一种就是h i b e r n a t e 。它的接口和类虽然简单,但它 的功能很强大1 ”。 s t r u t s 框架使运用m v c 模式开发w e b 应用变得很灵活,而h i b e m a t e 作为 4 武汉理工人学硕士学位论文 o r 映射产品将关系型数据库的数据对象化了。这两大技术的结合,给人们带 来很多让人振奋的开发w e b 应用程序的方法,二者结合丌发w e b 应用逐渐流 行起来。查询更方便,目f j 引起人们越来越多的重视。 与国外相比,国内对于s t r u t s 和h i b e r n a t e 结合应用的研究起步相对来说较 晚,目前对于这两种开源技术相结合的研究均处于尚未成熟阶段。自从该项技 术被提出开始,它新的思想及理念己经吸引了很多软件从业者。对于该项技术 的研究也吸引着越来越多的人的参与,一些软件企业开始将该技术的一些思想 应用到实际的项目之中。但总体上该技术的研究与应用仍有待进一步研究和改 进。 1 3 研究目的和意义 传统的业务型办公模式主要以纸介质为主,在信息革命的浪潮中,显然已 经不能满足高效率、快节奏的现代工作和生活的需要。如何实现业务处理的自 动化和办公的无纸化逐步得到了人们的重视。企业实旌o a 系统的目的,是利 用互联网技术,整合企业资源,改造传统业务,加强企业管理,降低运作成本, 增强市场竞争力,提高经济效益,从而促进企业的改革与发展。由于每个企业 信息化进程的速度不同,企业大都分步实施o a 解决方案,利用先进的科学技 术,使部分办公业务活动物化于人以外的各种现代化办公设备中,由人与技术 设备构成服务于某种办公业务目的的人机信息处理系统,为企业构建全新实效 的业务办公新模式,将企业的日常主营业务进行整合,利用网络通信基础设施 及先进的网络应用平台,建设一个安全、可靠、开放而且高效的信息网络和信 息管理电子化系统,形成一体化企业网络系统。能够为企业提供现代化的日常 办公服务,实现办公事务处理自动化,提高办公效率和管理水平,实现企业日 常业务工作的规范化、电子化,实现信息的在线查询,最终实现无纸办公。由 此可见办公自动化对提高企业竞争力已变得十分重要。 曙光有限公司隶属于北京兆维集团,主要经营数码产品和i t 等高科技产品 为主,为了提高企业整体素质和市场竞争能力,改变以前业务手工处理的低效 状况,公司把业务办公系统建设作为企业总体发展战略的一个重要组成部分, 力求在信息化发展中找到企业在市场上的立足点。实现公司一种新型的业务办 公处理模式。将传统的业务流程电子化、数字化,一方面以电子流代替了手工 处理,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得业 务活动可以在任何时间、任何地点进行,极大地方便了消费者,也便于公司更 5 武汉理工大学硕十学位论文 好的为消费者提供服务,从而大大提高了企业经济效率和知名度。 目前大多数o a 业务办公系统是基于两层体系结构来进行设计和开发的。 随着i n t e m e t 的飞速发展,以及商业逻辑的r 益复杂,传统的c s 两层体系结构 面临着严峻的挑战,比较突出的问题是开发负担重、成本高,开发人员角色不 清、权责不明,系统不便移植、扩展性差等问题。 为了适应企业形势发展的需要以及解决o a 系统开发中面临的问题,本课 题采用s t r u t s 和h i b e r n a t e 的综合框架来进行企业业务办公系统的开发,使应用 系统的结构层次清晰并实现层之间的解耦,以提高软件开发和维护的质量。 将s t r u t s 和h i b e r n a t e 这两个框架有机地结合起来充分发挥了两者的优点, 使得它们优势互补,形成一个统一的架构。这样一来,系统的可扩展性,可维 护性,性能都有了很大的提高,同时也可以灵活地变化来适应业务流程的实时 变化。 1 4 本文所做的主要工作 本文首先介绍了j 2 e e 的基本知识、m v c 模式以及两个开源框架s t r u t s 和 h i b e r n a t e ,然后结合s t r u t s 和h i b e r n a t e 这两种技术,构建北京兆维集团曙光发 展公司业务办公系统,对s t r u t s 和h i b e r n a t e 如何在业务办公自动化系统应用进 行了分析和探讨。 各章节的主要内容如下: 第1 章介绍了课题的相关技术背景和项目背景、课题的研究现状、课题研 究的目的和意义以及本文所作的主要工作。 第2 章介绍了j 2 e e 的相关基本知识。 第3 章介绍了m v c 的相关知识以及j s p m o d e ll 和j s p m o d e l 2 ,框架的概 念、s t r u t s 的体系结构和主要组件以及s t r u t s 的工作流程。 第4 章介绍了o r m 的概念以及h i b e r n a t e 的体系结构和核心接口。 第5 章分析了用s t r u t s 和h i b e r n a t e 框架构建一个w e b 业务办公系统的开发 过程,用具体实例说明了s t r u t s 和h i b e r n a t e 的应用方法。 第6 章对本文进行了总结,介绍了s t r u t s 的特点以及项目的实施经验。 6 武汉理t 大。学硕十学位论文 2 1j 2 e e 的概念 第2 章j 2 e e 概述 j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 是s u n 公司定义的一个开 发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列 开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次, 每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行( 如 s e r v l e t 组件在s e r v l e t 容器上运行,e j b 组件在e j b 容器上运行) ,容器间 通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将 得到行业的广泛支持,使企业级应用的开发变得简单、快速。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 r n 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 s 、j s p 以及x m l 技术的全面 支持。j 2 e e 体系结构所提供的中间层集成框架可以满足高可重用性、高可靠性 以及高可扩展性的应用需求,通过提供统一的开发平台,j 2 e e 降低了开发多层 应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 e n t e r p r i s e3 a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持, 增强了安全机制,提高了性能”。 2 2j 2 e e 体系结构 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用 组件根据它们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正 是为了解决两层模式( c l i e n t s e r v e r ) 的弊端。在传统模式中,客户端担当了过 多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升 级或改进,可伸展性也不理想,而且经常基于某种专有的协议一一通常是某种 数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企 业级应用模型将两层化模型中的不同层面切分成许多层j 。一个多层化应用能 7 武汉理。f :人学硕十学位论文 够为不同的每种服务提供一个独立的层,以下是j 2 e e 典型的四层结构( 如图 3 1 所示) 【8 】1 9 】【1 0 】: 运行在客户端机器上的客户层组件; 运行在j 2 e e 服务器上的w e b 层组件; 运行在j 2 e e 服务器上的业务逻辑层组件; 运行在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 ) 层组件。 客户层 ; w e b 层 商业逻辑层;企业信息系统层 浏览嚣 e j b 容器 ,一、 p w e j s p k 、 h t 砖数 e e j b 仨 据 j a v a _ j s p , 、二, a p p l e t , e j b a p 础c m o jg s e f 订e t o- 7 ) 。j 仨 ,。、- c 扛e n tk 、 a p 碰c a t i o n j 2 e e j 2 e e 数 据 e e n 土 p l 缸f o m p l a t f o r m 库 c o n t a j n e f i, 客户机j 2 e e 服务器 le i s 服务器 图3 1j 2 e e 典型结构图 ( 1 ) 客户层 客户层由浏览器或其他一些基于网络的系统( 如手机和p d a 等) 组成。用户 可通过客户层从服务器上访问w e b 层的静态h t m l 页面或由j s p 或s e r v l e t 生 成的动态页面和获取所需的信息,客户层可以是传统的客户端程序,也可以是 运行在网络设备之上的a p p l e t 小程序,还可以是不通过w e b 层而直接访问业务 层中的e j b ( e n t e r p r i s e j a v a b e a n s ) 。 ( 2 ) w r e b 层 w e b 层可以由j s p 页面、a p p l e t s 或s e r v l e t s 组成,通过处理客户层上的用 户输入请求,并把请求消息发送给运行在业务层上的e j b 进行处理。 j s p ( j a v a s e r v e r p a g e s ) 是一种动态w e b 应用技术标准,是在传统h t m lw e b 页的 文件( + h t m l ,十h t m ) 中加入j a v a 程序片( s c r i p t l e t ) 和j s p 标记构成的,可以在服 8 武汉理i 人学硕七学位论文 务器端根据客户请求产生动态页面。s e r v l e t s 是服务器端的j a v a 小程序,通过 s e r v l e t s a p i 响应客户端的请求并进行处理,可以产生动态的h t m l 页面。w e b 层和业务层通常被封装在一个应用服务器中。 ( 3 ) 业务逻辑层 业务逻辑层又被称为e j b ( e n t e r p r i s ej a v ab e a n s ) 层,e j b 定义了一个面向对 象的可重用服务器端分布组件标准,用来封装业务逻辑。e j b 是j 2 e e 体系结构 的核心,在功能上分为会话b e a n ( s e s s i o n b e a n ) 和实体b e a n ( e n t i t y b e a n ) 。 s e s s i o n b e a n 执行事务逻辑、算法、规则和工作流程,是具有处理事务过程逻辑 的可重用组件。e n t i t y b e a n 将底层数据以对象的形式映射到内存中,供其他组 件使用,这种将事务逻辑与底层数据分离的方法。使得应用能够适应不同的操 作系统,增强了应用系统的可移植性和可扩展性。 ( 4 ) 企业信息系统层 企业信息系统层主要是处理信息系统软件,如:基础建设系统、数据库系 统和其他的应用系统等。j 2 e e 的多层次结构的特点,能够为开发应用系统提供 分布式及开放式的支持,在实施应用程序部署时可以实现组件重用。 2 3j 2 e e 的核心技术 为实现企业级分布式应用,j 2 e e 定义了丰富的技术标准,符合这些标准的 开发工具和a p i 为开发企业级应用提供支持。这些技术涵盖数据库访问、分布 式通信、安全等,为分句式应用提供多方面支持。 ( 1 ) 组件技术 j 2 e e 的核心思想是基于组件容器的应用。每个组件提供了方法、属性、 事件的接口。组件是模块化程序设计方法发展到一定阶段的产物,从软件工程 的角度来考虑,开发者总是希望把一个庞大的应用程序划分成多个模块。其中, 每个模块都保持一定的功能独立性,协同工作良好的应用系统往往被切分成一 些组件,这些组件可以单独开发,单独编译,甚至单独调试和测试,当所有的 组件开发完成后,把它们组合在起就得到了完整的应用系统,它们通过相互 之问的接口来完成实际的任务,每一个这样的模块称之为组件。 ( 2 ) s e r v l e t s 和j s p s e r v l e t s 是用j a v a 语言实现的独立于协议和平台的服务器端组件,它动 态扩展了支持j a v a 的服务器,它可以被插入到支持j a v a 的w e b 服务器中以 提供定制服务,包括:增加新的特性服务,页面内容的动态改变,页面显示的 9 武汉理l 大学硕十学位论文 动态改变,对新的标准协议的支持( 例如f t p ) ,对用户定制协议的支持。j s p 技 术是j 2 e e 体系结构中的一个重要组成技术,它为开发人员提供了一个s e r v e r 端框架,基于这个框架,开发人员可以综合使用h t m l 、x m l 、j a v a 语言以及其 他脚本语言,灵活、快速地创建动态网页内容。j s p 页面是文本文档,具有j s p 扩展名,包含了静态的h t m l 、类似于x m l 的标记和s c r i p t l e t 。标记和 s c r i p t l e t 封装了生成页面内容的逻辑。j s p 文件经过预处理后转换为j a v a 文 件。j a v a 编译器编译源代码,并生成可由s e r v l e t 容器执行的c l a s s 文件。 j s p 实际上是j a v as e r v l e t 技术的自然发展。事实上,在翻译程序进行一些 预处理之后,j s p 页面仍等同于j a v as e r v l e t l l o ( 3 ) 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 模拟商务数据;会话b e a n 模拟一个 商务过程;而消息驱动b e a n 与会话b e a n 类似,也是在模拟个商务过程, 但消息驱动b e a n 只接受消息的调用t i l l 。 ( 4 ) 数据库访问 无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要 的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。 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 ) 是一个独立于特定的数据库管理系统的开 发接口d j io 它提供一个通用的访问s q l 数据库和存储结构的机制,以及支持基 本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 ar m i 实现j a v a 对象间的远程通信。服务器用注 册器把一个名字和远程对象绑在一起客户机通过名字从服务器注册 1 0 武汉理f 。人学硕十学侍论文 器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象 的方法。 j a v ai d l ( j a v ai n t e r f a c ed e f i n i t i o nl a n g u a g e ) :接口定义语言。 j a v ai d l 可以实现j a v a 对象的符合c o r b a 规范的远程对象通信。 j n d t ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) :j a v a 命名和目录接 口。j n d i 为分布式系统访问远程对象提供了一个标准的命名接口。e j b 主接口对象、数据源、消息服务器等都可以用j d n i 树的形式注册到 名称服务器中,调用它们的对象通过符合j d n i 的程序接口在j n d l 名称服务器中查找指定名称的远程对象。 j m s ( j a v am e s s a g es e r v i c e ) :j a v a 消息服务。j m s 为开发消息中间件 应用程序定义了一套规范。j a v a 客户端和j a v a 中间层访问消息系统 只要实现j m s 定义的简单的接口,就可以实现复杂的应用,而不必去 关注低级的技术细节。 武汉理工人学硕+ 学位论文 第3 章基于m v o 模式的s t r u t s 框架概述 3 1m v c 设计模式 3 1 ,1 模式概述 c h r i s t o p h e r 给出了一个广泛意义上的设计模式概念:“每一个模式描述了一 个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你 就能一次又一次的使用该方案而不必做重复劳动”。具体到设计面向对象软件这 一领域,可以这样认为:设计模式就是对被用来在特定场景下解决一般设计问 题的类和相互通信的对象的描述。每一个设计模式都有系统命名、解释和评价 了的面向对象系统中一个重要的和重复出现的设计。 ( 1 ) 通常一个设计模式由四个基本要素组成【1 5 】【16 1 : 模式名称( p a t t e r nn a m e ) 设计模式允许人们在较高的抽象层次上进行设计,模式名可以帮助人 们思考,便于人们之间交流设计思想和设计结果: 问题( p r o b l e m ) 描述了该设计模式的使用条件,它解释了设计问题和问题存在的i j 因 后果,它可能描述了特定的设计问题,也可能描述了导致不灵活设计 的类和对象结构; 解决方案( s o l u t i o n ) 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方 式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案 并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描 述和怎样用一个具有一般意义的元素组合( 类或对象组合) 来解决这个 问题: 效果( c o n s e q u e n c e s l 述该设计模式的应用效果及使用该模式应权衡的问题。尽管在描述设 计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使 用模式的代价及好处具有重要意义。软件效果大多关注对时间和空问 的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的 1 2 武汉理1 :大学硕士学位论文 要素之一,所以模式效果包括它对系统的灵活性、扩充性和可移植性 的影响,显式地列出这些效果对理解和评价这些模式很有帮助。 ( 2 ) 不同的设计模式具有下面一些共性: 设计模式都是从实践中获得的。设计模式是被“发现”的,而不是被“写 作”出来的: 设计模式表达好的设计。设计模式并不仅是关于对象的设计,而且关于 对象间的通信,因此有时也称为“通信模式”; 提出设计模式的目的之一就是为了避免重复的劳动,提高软件的可重用 性: 孤立地使用某个设计模式还不能够充分发挥设计模式的优势,通常都是 将多个设计模式联合使用,一起用来解决更大的问题。 3 1 2m v c 模式 m v c 模型是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 ) 。m o d e l 组件执行业务逻辑或 操作,并存取视图数据。v i e w 组件从m o d e l 层获得数据,并指定这些数据的表 示方式。c o n t r o l l e r 组件负责定义应用程序的行为,控制着模型和视图之间的 交互过程,它决定着向用户返回怎样的视图,检查通过界面输入的信息以及选 择处理输入信息的模型“7 1 m v c 结构的框架的组成部分包括以下的内容: ( 1 ) 模型 模型包含了应用程序的核心,它封装了应用程序的数据结构和事务逻辑, 集中体现了应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都培训安全工程师课件
- 必修3红楼梦课件
- 课件感谢文案句子简短
- 课件征信总结
- 课件库管理办法心得感悟
- 人教版 数学 六年级 上册《练习三》课件
- 2025年广东省公开遴选公务员笔试题及答案解析(B类)
- 2025年广东省潮州市辅警招聘考试题题库(含参考答案)
- 彼得原理培训课件
- 社区宣传咨询方案
- 2025年IT技术支持工程师招聘面试问题及答案解析
- GB 16807-2025防火膨胀密封件
- 挤压模具工特殊工艺考核试卷及答案
- 2025-2026学年外研版八年级英语上册教学计划及进度表
- (2025年标准)灵活用工协议书
- 发廊租工位合同协议模板
- 服装厂质检知识培训内容课件
- 2025年教师资格考试趋势分析与模拟试题洞察未来方向(含答案)
- 2025浙江省旅游投资集团人才招聘17人(第四批)考试模拟试题及答案解析
- 医院医疗收费培训课件
- 上消化道出血药物指导
评论
0/150
提交评论