




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)pbe框架下报表生成及发布系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学顾十学位论文 摘要 摘要 报表作为一个数据分析及呈现工具,在金融领域应用范围最广。随着经济的 发展,金融界对报表的生成速度以及精确度也有了越来越高的要求。信启、技术的 进步使得这一目标的实现成为可能,越来越多的报表开始走向信息化的道路。报 表生成及发布系统就是这样一个利用计算机平台实现报表生成与发布的企业级 w e b 应用系统。当前企业级w e b 应用系统流行采用b s 架构,并且将面向对象的 m v c 设计模式与j 2 e e 多层体系结构相结合。因此在j 2 e e 平台下设计一个适应 企业级w e b 应用系统的框架,并据此实现报表系统,是十分有意义的。 本文围绕着报表生成及发布系统的设计与实现,从现有的w e b 应用框架展开 研究,分析介绍了j 2 e e 平台的关键技术元素和一些流行的w e b 应用框架,以及 报表工具a c t u a t e 。然后,根据企业级w e b 应用的需要,分析了现有框架的不足, 指出需要改进的地方。以s t r u t s 框架为基础进行扩展,提出了一个新的三层企业 级w e b 应用框架p b e ( p r e s e n t a t i o nb u s i n e s se n t e r p r i s e s e r v i c e ) 。利用这个p b e 框 架,从分析报表系统提供的服务出发,将整个报表系统的架构置于p b e 框架之中, 对整个报表系统的架构,各个模块的设计与系统实现等各个环节进行了研究和实 践。 本文的主要贡献在于分析了s t r u t s 框架在面对企业级w e b 应用系统开发时存 在的问题,例如其模型部分实现不完善以及模型中底层数据和业务逻辑耦合度过 高,通过在e j b 中引进f a c a d e 模式以及利用j a v a 动态代理机制,对s t r u t s 框架 进行扩展,提出企业级w e b 应用框架p b e 。并利用这个框架对报表系统架构进行 设计,给出了各模块内部的详细设计和实现细节。 关键词:报表,企业级应用,三层企业级w e b 应用框架,s t r u t s ,e j b ,框架,系 统架构 a b s t r a c t a sat o o lf o rd a t aa n a l y s i sa n dp r e s e n t a t i o n ,r e p o r ti su s e dw i d e l yi nf i n a n c ef i e l d w i t ht h ee c o n o m yg r o w s ,f i n a n c i a lr e p o r tn e e dt ob eg e n e r a t e df a s t e ra n dt ob ew i t h h i g h e rp r e c i s i o n t h ea d v a n c e m e n ti n i n f o r m a t i o nt e c h n o l o g ym a k e si tp o s s i b l et o a c h i e v et h i sg o a l 。m o r ea n dm o r er e p o r t sa r em o v i n gt o w a r da l li n f o r m a t i o n - b a s e dp a t h r e p o r tg e n e r a t i n ga n dd e l i v e r i n gs y s t e mi s s u c ha ne n t e r p r i s e - l e v e lw e ba p p l i c a t i o nt o g e n e r a t e a n dd e l i v e r r e p o r t s b s a r c h i t e c t u r ei s p o p u l a r w i t ht h ec u r r e n t e n t e r p r i s e 1 e v e lw e ba p p l i c a t i o nd e s i g n ,a n di t i sa l s ou s u a l l yt oa p p l yo b j e c t 。o r i e n t e d m v cd e s i g nm o d ei nj 2 e ep l a t f o r m t h e r e f o r e ,i ti sv e r ym e a n i n g f u lt od e s i g na f r a m e w o r kt h a ta d a p t st ot h ee n t e r p r i s e l e v e lw e ba p p l i c a t i o no nt h e j 2 e ep l a t f o r m , a n dt od e s i g na n di m p l e m e n tt h er e p o r ts y s t e mb yu s i n gt h i sf r a m e w o r k t h et h e s i sf o c u s e so nt h er e p o r tg e n e r a t ea n dd e l i v e rs y s t e m sd e s i g na n d i m p l e m e n t a t i o n a tf i r s t ,i ts t u d i e st h ee x i s t i n gw e ba p p l i c a t i o nf r a m e w o r k , i n t r o d u c e s s o m ei m p o r t a n tt e c h n o l o g yi nj 2 e e ,s o m ep o p u l a rw e ba p p l i c a t i o n sf r a m e w o r k sa n d a c t u a t er e p o r ts e r v i c e a c c o r d i n gt o t h er e q u i r e m e n t so fe n t e r p r i s e 。l e v e lw e b a p p l i c a t i o n ,t h et h e s i sp o i n t so u tt h ed e f i c i e n c i e so f t h ee x i s t i n gf r a m e w o r k st h a tn e e d t ob ei m p r o v e d w i t hs t r u t sf r a m e w o r ka st h eb a s i sf o re x p a n s i o n ,t h i st h e s i sp r o p o s e s an e w e n t e r p r i s e 1 e v e lw e ba p p l i c a t i o n f r a m e w o r kp b e ( p r e s e n t a t i o nb u s i n e s s e n t e r p r i s e s e r v i c e ) b yu s i n gt h ep b ef r a m e w o r k ,t h et h e s i s s t a r t sf r o ma n a l y z i n g s e r v i c et h a tr e p o r ts y s t e mp r o v i d e s ,p u r i n gt h ea r c h i t e c t u r eo fe n t i r es y s t e mi n t op b e f r a m e w o r k ,s t u d i e sa n dp r a c t i c e se a c hm o d u l e sd e s i g na n di m p l e m e n t a t i o n t h em a i nc o n t r i b u t i o no ft h et h e s i si st h ea n a l y s i sp o i n t i n go u tt h a tt h es t r u t s m o d e lp a r ti sn o td e s i g n e dw e l la n di sh i g hc o u p l i n gb e t w e e nd a t aa n db u s i n e s sl o g i c i nm o d e lp a r tw h e nu s i n gs t r u t st od e s i g ne n t e r p r i s e l e v e lw e ba p p l i c a t i o n b yu s i n g f a l ( a d em o d ei ne j ba n dd y n a m i cp r o x ym e c h a n i s mi nj a v a ,t h et h e s i se x t e n d ss t r u t s a n dp r o p o s e sa ne n t e r p r i s e 1 e v e lw e bf r a m e w o r k :p b e t h e nt h et h e s i sd e s i g n st h e r e p o r ts y s t e m sa r c h i t e c t u r eb yu s i n gp b e a n dg i v e so u tt h ed e t a i l so ft h ed e s i g na n d i m p l e m e n t a t i o n 浙i i 大学硕i j 学位论文 a b s n a c t k e y w o r d s :r e p o r t ,e n t e r p r i s e - l e v e lw e ba p p l i c a t i o n ,p b e ,s t r u t s ,e j b ,f r a m e w o r k s y s t e ma r c h i t e c t u r e 浙江大学烦_ i 二学位论文图n ,泵 图目录 2 1j 2 e e 的3 层架构模型7 2 2m v c 设计模式的系统框架l0 2 3m v cm o d e l1 1 1 2 4m v cm o d e l2 12 2 5s t r u t s 框架1 3 2 6h i b e r n a t e 的架构15 2 7i s e r v e r 的架构1 6 3 1s e s s i o nb e a n 的工作原理2 0 3 2j a v a 动态代理工作机制2 l 3 3p b e 框架2 2 4 1 报表系统总体架构2 8 5 1 表现层架构3 3 5 2 业务层架构3 5 5 3s e r v i c e f a c a d e 设计框架3 7 5 4 同步服务模式框架3 8 5 5 异步服务模式框架3 9 5 6 企业级服务层架构:4 1 5 7 报表系统架构详细设计4 3 6 1w e b 页面的典型布局4 5 6 2t i l e s 布局效果4 7 6 3 定位具体服务的实现5 0 6 4 在线浏览报表5 5 i i i 图图图图图图图图图图图图图图图图图图图图图图 浙江大学硕士学位论文第1 章绪论 第1 章绪论 1 1 研究意义 报表就是指一份将数据按规则罗列在一起的报告。报表首先是一种数据的管 理形式,即报表中“报”的含义;其次是一批数据的表现形式,即报表中“表” 的含义。随着经济的发展,在当今社会的各个领域,报表都有着广泛的应用。而 最引人注目的是其在金融领域的应用。各种类型的财务报表,各种交易数据的统 计报表等等让人眼花缭乱。客户定制报表则是根据每个客户特定的需求,利用特 定的客户数据源,经过特定的运算规则计算,最后以特定模式展现结果的报表。 企业商务交易模式在过去十年间发生了巨大的变化。金融业在快速发展的 同时,它对报表生成的速度和准确度的要求与之前相比都有了质的飞跃。因此, 它与计算机技术之间的联系也日渐紧密,越来越多的报表开始走信息化之路,摒 弃了传统手工填写的方式。 报表生成及发布系统的任务就是将后台原始数据提取出来,经过一定规则的 运算,生成一份一定格式的报表,并且在这份报表上显示运算所得的结果。最后, 有的报表生成之后,还需要经过相关人员的检查和验证,通过了之后才能将其发 布出来,供用户下载使用。除此之外,这套系统还需要具备查看和维护后台原始 数据的功能。 这种报表生成及发布系统最早出现在西方发达国家。2 0 世纪9 0 年代以来, 随着西方国家的大量金融机构改革以及信息高速公路的建设,金融业自动化的发 展脚步也越来越快。目前西方发达国家金融业自动化程度较高的有美国、英国、 加拿大、日本等国家,其中美国的发展最快,规模最大。近年来,我国的金融机 构的信息化发展脚步也相当迅速,一些金融业务在网上的应用初步得到推广,并 收到成效,特别是网上银行,股票交易,电子商务等等逐渐兴起i 在技术层面,传统的基于w e b 的应用软件系统都需要用户在本地安装一个客 户端程序来与服务器端进行交互,这个客户端程序在本地也处理一些业务逻辑。 浙江大学硕士学伉论文第1 章绪论 这等于将服务器的计算任务进行了分流,开发人员在开发系统时需要兼顾两头。 现在越来越多的基于c l i e n t s e r v e r 结构的软件系统开始向b r o w s e r s e r v e r 结构转 移,用户可以完全通过浏览器与系统进行交流,前端仅仅实现部分显示逻辑,服 务器端则实现了那部分主要的业务逻辑,这是当前软件系统开发的一个趋势。 在当今大型企业级w e b 应用领域,自n e t 和j 2 e e 2 1 两大主流的开发平台。 而j 2 e e 平台因为其开源性以及j a v a 语言的跨平台性,正得到日益广泛的应用, 得到了长足的发展。而面向对象的m v c 设计模式与j 2 e e 多层体系结构相结合的 模式,可以应用于绝大多数w e b 应用系统,开发起来快速而高效。 报表生成及发布系统作为一个企业级w e b 应用系统,能够使所有的工作在网 络环境下运行,涉及到最少的人工帮助。同时整个报表生成及发布系统的体系架 构应该面向流行的b s 结构,使用户仅凭浏览器就能完成所有的任务,免除了在 c s 结构下用户学习客户端软件使用方法的过程,并且在服务器端集中了系统的 大部分业务逻辑,方便开发人员集中开发。因此,在j 2 e e 平台下应用企业级w e b 应用框架设计并快速开发一个集数据维护、报表生成以及发布功能于一体的报表 系统以满足客户不断增长的需求,帮助客户在效能和分析能力方面达到前人未及 的、卓越的新境界,是很有价值的。 1 2 研究现状 j 2 e e 是一种基于j a v a 语言的开发平台,为多层应用的开发提供了统一的工 作平台,降低了开发的复杂性。在j 2 e e 出现的早期阶段,它并没有提供一个令 人满意的应用程序编程模型( a p p l i c a t i o np r o g r a m m i n gm o d e l ) 。于是,开发人员 根据以往的实践经验,将设计模式应用到构件技术中,提出了w e b 应用框架的概 念。这些w e b 应用框架不仅可以降低j 2 e e 开发难度,也为解决w e b 应用开发的 一些通用问题提供了一个标准解决方案。逐渐地,j 2 e e 本身也开始提供一些框架, 比如像e n t e r p r i s ej a v ab e a n s ( e j b ) c o n t a i n e r 或者s e r v l e te n g i n e 。后来面向对象的 m v c 3 ,4 模式在j 2 e e 平台下的应用逐步推广开来。在1 9 9 9 至2 0 0 0 年间,意识到 m v cm o d e l1 中存在着显示逻辑和业务逻辑混杂的缺陷,于是有了更为成熟的 2 浙江大学硕f 二学位论文第l 章绪论 m o d e l2 ,将显示逻辑与业务逻辑明确分离,集中地处理业务逻辑。s t r u t s t5 6 】是j 2 e e 平台下应用m v c 设计模式的一个经典w e b 应用框架,它比较完美地实现了前端 控制。从2 0 0 2 年末开始,很多j 2 e e 项目都选择它作为开发框架,使其成为该领 域事实上的标准。当然,除了s t r u t s 之外,还有一些比较流行的开发框架,比如 j a t o 、j s f 以及s u n 蓝皮书例程中提出的应用框架w a f 。7 1 。j a t o 和w a f 也提供 了m v c 式的应用模型,j s f 则关注于用户界面的开发。 美中不足的是,s t r u t s 框架的模型部分没有很好地实现,并且底层数据的封 装和业务逻辑的处理混杂于模型组件当中,没有做到有效的解耦合。鉴于其模型 部分没有很好地实现,因此现在多数应用采用h i b e r n a t e 框架来持久化数据 8 一, 也有针对s t r u t s 不具备很好的视图层适应性 1 0 】以及在事务处理、身份认证、权限 控制等关键服务方面的不足而提出的改进 1 1 】。 但是s t r u t s 在面对企业级w e b 应用系统开发时仍存在着一些不足之处。在企 业级w e b 应用系统中,流程配置和层次结构清晰明了,e j b 应用逻辑访问方式统 一。并且企业级的应用系统需要和底层数据服务解耦合,以便支持更高效的集成, 因此我们要为这些通用的底层数据服务开发统一的接口。从这些方面看来,s t r u t s 框架并没有完全符合企业级w e b 应用的要求,迫切需要对其进行扩展,使之适应 企业级w e b 应用系统的设计与开发。 1 3 研究内容 本文的研究内容主要是围绕着新型企业级w e b 应用框架p b e 的研究以及应 用此框架进行报表生成及发布系统的设计与实现而展开的。 本文从现有的w e b 应用框架展开研究,分析介绍了j 2 e e 平台的关键技术元 素,诸如j 2 e e 平台的三层模型、e j b 与j m s 的概念和特点以及w e b s e r v i c e 和 s o a p 技术。m v c 设计模式也是本文分析的一个要点,包括它的思想和发展现状。 接下来分析些流行的w e b 应用框架,重点是s t r u t s 框架的内部结构、工作流程。 根据企业级w e b 应用的特点,分析了s t r u t s 的不足之处,也介绍了现有的一些基 于s t r u t s 扩展的w e b 应用框架。接着还分析了h i b e r n a t e 框架的内容和特点以及 浙江大学倾1 j 学位论义 第l 鼋绪论 报表工具a c t u a t e 。 然后,本文以s t r u t s 框架为基础进行扩展,通过引入e j b 作为s t r u t s 的模型, 弥补了s t r u t s 框架在模型层方面设计的不足之处,并且在表现层中利用j a v a 中的 动态代理机制设计动态代理接口和在业务层中实现f a q a d e 设计模式的e j b s e s s i o nb e a n 和m e s s a g ed r i v e nb e a n ,重新设计了各层之间的交互接口,提出了 一个新的企业级w 曲应用框架p b e ( p r e s e n t a t i o nb u s i n e s se n t e r p r i s e s e r v i c e ) 。 在报表系统的架构设计与实现方面,本文利用这个p b e 框架,从分析报表系 统提供的服务出发,将整个报表系统的架构置于p b e 框架之中,也分成表现层、 业务层和企业级服务层三层架构,对整个报表系统各层内部的设计与系统实现等 各个环节进行了研究和实践,给出了各层内部的详细设计和实现细节。 l 、现有w e b 应用框架技术研究 以s t r u t s 框架为代表,介绍了j 2 e e 平台下的相关技术,引入m v c 设计模式 的概念,分析现有的w e b 应用框架的内部工作机制。同时,也研究了h i b e r n a t e 框架在数据持久化方面的应用及其带来的好处。 2 、企业级w e b 应用框架问题 针对企业级应用的特点,比如底层组件通用化,模块之间耦合程度最小化以 及快速开发、控制成本的要求,指出现有w e b 应用框架的不足之处。利用现有框 架,结合一些设计模式,研究发展出一个全新的企业级w e b 应用框架p b e ,并且 对其设计特点以及各层主要内容进行了介绍。 3 、报表生成及发布系统的架构设计问题 根据报表生成及发布系统的功能需求,结合其企业级w e b 应用的特点和要 求,选择应用p b e 框架作为其系统架构设计的总体解决方案。进而进行各层的详 细设计,给出细节的设计方案和实现方法。 1 4 本文组织结构 根据以上所述的研究内容,本文的组织架构如下: 第一章:论述了论文的研究意义、研究现状、研究内容以及全文的内容组织 4 浙江大学颂士学位论文第1 章绪论 架构; 第二章:介绍了j 2 e e 的概况,包括它的发展历程和平台的特点,然后概述 了其下的一些技术规范。通过引入m v c 模式的概念,描述了s t r u t s 和h i b e r n a t e 框架,同时也对a c t u a t e 报表工具进行了介绍。 第三章:引进了w e b 应用框架的概念和特点。根据s t r u t s 框架在企业级w e b 应用系统方面支持的不足,提出了一个改迸后的名为p b e ( p r e s e n t a t i o nb u s i n e s s e n t e r p r i s e s e r v i c e ) l i 3 企业级应用框架。 第四章:分析了客户定制报表的特点,对报表系统为生成和发布这些定制报 表而需要具备的功能进行介绍,应用p b e 框架对报表系统的架构进行了设计,也 对系统的开发平台进行了简述。 第五章:根据应用了p b e 框架之后的整个报表系统的架构,实现系统各层的 具体设计,以及各自的要点和特色。 第六章:根据上一章中报表系统的详细设计,给出一些系统实现的关键细节, 将整个系统的开发实现过程展现出来,并且也给出了系统完成后的运行效果。 第七章:总结全文取得的成果,并对p b e 框架和报表系统未来的改进空间做 了分析。 1 5 本章小结 报表生成及发布系统随着时代的进步已经发展成为一个信息化程度较高的 系统,其发展方向是面向企业级的一个w e b 应用系统。本文拟对企业级w e b 应 用的框架进行研究,发展出一种全新的w e b 应用框架p b e ,并以此作为蓝本对报 表系统的架构进行设计,并实现之。 本章首先介绍了研究的意义以及现状,包括报表的演变历史、报表生成系统 以及w e b 应用框架的研究发展状况,然后介绍了本文的研究内容,最后是本文的 内容组织结构。 浙江大学硕士学何论文第2 章相关技术 第2 章相关技术 本章分析介绍了j 2 e e 的概念以及它下面的与企业级w e b 应用系统相关的一 些技术要素,还介绍了m v c 设计模式。分析一些流行的w e b 应用框架,重点是 s t r u t s 框架的内部结构、工作流程。根据企业级w e b 应用的特点,分析了s t r u t s 的不足之处,指出需要改进的地方,接着还分析了h i b e r n a t e 框架的内容和特点以 及报表工具a c t u a t e 。 2 1j 2 e e 概念及其相关技术 j 2 e e 2 1 是一种建立在j a v a 语言基础之上的程序架构,也是利用j a v a 语言开发 企业级应用的一种工业标准。它利用j a v a2 平台来简化企业级应用开发、部署及 管理时遇到的复杂问题。j 2 e e 是基于j a v a 技术的一系列标准,而不是一个现成 的产品。j 2 e e 应用服务器是j 2 e e 企业级应用的部署平台,是按照j 2 e e 规范开 发的,因此,j 2 e e 企业级应用可以部署在不同的j 2 e e 应用服务器上。j 2 e e 的核 心是j a v a 语言,因此它也继承了j a v a 语言“编写一次,到处运行”的优点【12 1 。 j 2 e e 的优点在于迎合b s 架构的潮流,提供一个平台独立的、可移植的、多用户 的、安全的和基于标准的企业级平台,方便开发人员开发企业级应用。在大型系 统的开发中,j 2 e e 体系结构提供了原本开发起来极为繁琐的中间件服务以及服务 端底层的通用服务。这些服务是几乎所有的大型系统中都需要应用到的,如果每 次都由开发人员重新开发一遍的话,会造成开发周期增加以及代码冗余度提高等 不利情况的发生。利用j 2 e e 平台后,开发人员可以把精力集中在业务逻辑的处 理和架构的设计上,从而撇开这些繁琐的底层工作,缩短开发周期,降低开发成 本。 j 2 e e 架构也提供了面向企业级分布式系统的w e b 应用多层架构解决方案。 它将企业级应用分为很多层,并且将业务逻辑按功能分为不同的组件,分布在不 同的层上,而不同的层又可以分布在不同的机器上。图2 1 展示了j 2 e e 的3 层架 构模型。 6 镕2 $ 月* # m e i s j k 圈2 lj 2 e e 的3 层架构模型 用户层( c l i e n tt i e r l 叉称表现层( p r e s e n l a t i o nt i e r ) ,它负责与用户进行交互。本 层接受用户的请求,并将请求转发给相应的组件;同时,它接受从中间层传递来 的结果并将其展示给用户。 中间层( m i d d l e t i e r ) 可以是一层或多层,它为客户处理请求并调用业务逻辑。 客户请求一般由发布在w e b 服务器端的j s p 或者s e r v l e t 接收并处理。w a s t o m c a t 和w e b l o g i e 等都是常见的w e b 服务器。业务逻辑一般都存放在e j b 容器 里面。这一层还要管理事务和安全,以及处理和控制错误。 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 l 层也叫数据层或企业信息系统层,它管理 各种底层企业级通用的数据,并为上层提供了统一的接口。 j 2 e e 的体采下面包含丁许多技术规范,本文所述的报表系统自然不会涉及到 所有方面,因此下面仅对系统所涉及到的技术作一个简要的分析和介绍。 j s p ( j a s e e rp a g e s 讯j a y as e r v l e t :h t m l 代码和嵌入其中的j a y a 代码共 同构成了j s p 页面。客户请求被发送到服务器端后,服务器对这些j a v a 代码进行 墓一 童鎏 浙江大学硕一i ? 学位论史第2 章相关技术 处理,然后将生成的h t m l 代码送回到客户端供浏览器解析。j a v as e r v l e t 与c g i 的p e r l 脚本很类似,都是作为服务器端的应用,在被请求时开始执行,扩展了 w e b 服务器的功能。它是一种小型的j a v a 程序,提供的功能与j s p 很相似,但是 j s p 通常是在h t m l 代码中嵌入少量的j a v a 代码,而s e r v l e t 全部由j a v a 写成并 且生成h t m l 。 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 ) :它是一种定义语言,用来定义其他标记 语言,因为它的平台独立性,被用来在不同的业务过程中共享数据。 e j b ( e n t e r p r i s ej a v ab e a n ) 和j m s ( j a v am e s s a g es e r v i c e ) :e j b 为分布式业务 逻辑的开发和实施提供了个框架。e j b 规范定义了e j b 组件在何时以及如何与 它们的容器进行交互作用,e j b 容器负责提供诸如目录服务、事务管理、安全性、 资源缓冲池以及容错性等公用服务。j m s 则是一个和消息中间件互相通信的应用 程序接e l f a p i ) ,提供异步数据传输服务,不同的企业级组件可以通过它组合成一 个可靠而灵活的系统。它支持两类消息传播模式:点对点( p o i n t t o p o i n t ) 和发布 订i ) 司( p u b l i s h s u b s c r i b e ) 。点对点传输消息模式下,每个客户端对应一个消息队列。 客户端发送消息到对方的消息队列中,从自己的消息队列读取消息。发布订阅模 式则是将消息定位到某个层次结构栏目的节点上,动态匿名地发布消息。它保证 某个节点上所有发布者 ( p u b l i s h e r ) 发布的信息都准确无误地发送到这个节点的所 有消息订阅者f s u b s c r i b e r ) 。j m s 和e j b 在报表系统框架中是业务层获得具体服务 逻辑的桥梁。准确的说,e j b 是一个同步的s e r v i c ei n v o c a t i o n 代理,而j m s 则是 一个异步的s e r v i c ei n v o c a t i o n 代理。业务层通过动态代理来调用e j b ( 同步) 和 j m s ( 异步) 的接口来获得所需要的服务逻辑。 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 a v a 程序访问 不同的数据库提供了统一的途径,而且这种访问具有平台无关的特性,同时也为 开发者屏蔽了一些细节问题。 j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e 、a p i 提供名字和目录服务。它为存取 和操作企业级的资源如d n s 和l d a p ,本地文件系统或应用服务器中的对象提供 了一致的模型。 8 浙江大学硕士学位论文第2 章相关技术 j a v am a i l :j a v am a i la p i 提供了邮件服务的接口,它提供了一套邮件服务器 的抽象类,不仅支持s m t p 服务器,也支持i m a p 服务器。 w e bs e r v i c e 技术:由于现在计算环境的种类越来越多,处在不同计算环境中 的系统之间的互操作性就显得尤其重要。w e bs e r v i c e 技术通过用“软件软件对 话”的方式,在不同环境的系统间相互调用,实现信息共享和数据交换,从而在 互联网环境下消除信息孤岛,达到信息一致性。 s o a p 技术:s o a p 是简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 的缩 写,优点在于简单性和可扩展性。它基于x m l ,是在分布式环境中交换信息的 简单协议。s o a p 消息在传输前需要进行封装。一个s o a p 消息就是一个x m l , 它由信封、可选的头标记和正文三个部分组成。信封是必须的根标记。头标记包 含路径等额外信启。正文是s o a p 消息的主体,包含了所有需要传递的信息。这 样,封装过的消息就可以正确的被接收方解析了。 报表生成及发布系统中的各种应用程序利用经s o a p 1 3 】协议封装的x m l 信 息实现了对a c t u a t ei s e r v e r 上各种服务的调用。本系统的报表服务器a c t u a t e i s e r v e r 提供了实现全部报表功能的a p i 接口,这些底层功能是通过w e bs e r v i c e 技术发布在服务器上的。 2 2m v c 设计模式 目前,j 2 e e 平台上的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 ,模型视图控制器) 模式的。它是2 0 世纪8 0 年代为 编程语言s m a l l t a l k 8 0 发明的一种软件设计模式 3 ,4 1 。m v c 设计模式将应用系统 分为三个部分:模型,视图和控制器,如图2 2 所示。 9 翟霉墨霉m e 廿l o di n v o c a t i o n s j 参e v e n t s 图2 2j d v c 设计模式的系统框架 模型( m o d e l ) 州于描述应用程序的数据和操作这些数据的业务逻辑。模型在 j 2 e e 中常以数据b e a n 或e j b 的实体b e a n 的形式出现。模型的状态能够被视图 ( v i e w ) 查询,井在被更改时通知它。同样的,模型为控制器( c o n 仃o i l e r ) 提供了一 整套封装好的用于存取数据的业务逻辑。 视图f e w l 负责接收用户请求并将其传递至控制器,同时也负责显示经过处 理后的模型数据,通常形式为j s p 或是s e r v l e t 。视图从模型处取得数据,并决定 以何种方式来展示。当模型发生变化时,视图应该及时正确地更新。卟模型可 以有多个视图且当模型更新时,所有的视图也都应该得到更新。 控制器f c o n 廿o l l e r l 决定丁程序的行为。它解析视图传送来的请求并映射到相 应的动作上,这些动作可以对模型数据进行操作。用户请求一般通过h t t p 的p o s t 或g e t 方洁来进行传递。控制器最重要的职责之一就是把h t t p 协议的请求转化 成业务逻辑请求。模型接受这些请求并调用相应的业务逻辑。处理完成后,模型 返回结果给控制器控制器再把结果传递给视图。控制器实现形式一般为s e r v l e t 。 * t # * 女第2 章# * # $ 利用m v c 设计模式开发基于j 2 e e 平台的w e b 应用系统经历了两个阶段: m o d e l1 和m o d e l2 。这两者主要的差别在于它们是分散的还是集中的处理业务逻 辑。图2 3 就是m o d e l l 的示意图。 罂量每- - o0 j 图23 m v c m o d e l 在m o d e li 中,j s p 页面独自响应请求并将处理结果返回给用户。所有的数 据通过j a v ab e a n 来处理。用户端请求被发送给服务器端的j s p 页面,j s p 页面通 过嵌入其中的j a v ab e a n 处理请求,访问业务逻辑,操作后台数据再把结果返 回给j s p 页面最后鲒果传给用户端显示。 这种模式虽然简单,但系统利用j s p 既作为控制器叉当作视图,会在j s p 页 面中嵌入大量脚本和代码,所以m o d e li 的处理业务逻辑的控制嚣是分散的。当 业务逻辑比较复杂时页面程亭会变得复杂开艘和维护代价直线上升。因此, 它并不适合大型的企业级应用。此外,每个j s p 还必须单独负责管理程序的状态、 验证与安全。 m o d e l2 如图2 4 所示。 婴曼兰毒酒一 图2 4 m v c m o d e l2 m o d e 2 引进丁s c r v e t 技术作为控制器,完成请求分派,应用状态控制和 视图的选择等功能。j s p 现在专注于表现逻辑,而s e r v l m 则负责业务逻辑。s e r v l e t 通过处理请求,创建所需的b e a n 和对象,并决定将哪个j s p 更面发送给客户。 由于视图与前一视图不再直接相连,因此应用m o d e l2 的系统增加了可扩展 性。此外s e r v l e t 还提供安全和日志服务的单一控制入口,增加了系统的可维护 性。这种优势在大型项目中将非常明显。从设计结构来讲,m o d e l2 更是充分体 现了m v c 的设计模式。 m v c 设计模式将显示逻辑与业务逻辑明确分离,保证了系统的模块化与松 耦台,适应了w e b 应用系统越柬越复杂的设计需求 1 。此外m v c 模式也减少 了代码的重复,集中丁控制,并使得应用更加容易维护。 2 3s t r u t s 框架 s t r u t s 56 1 是a p a c h e 软件基金会j a k a r t a 项目的一个开源项目是基于s e r v l e t 和j s p 技术实现的- 它最初由c r a i g 凡m c c l a n a h a n 于2 0 0 0 年创建并成为了用 j a v a 开发w e b 程序的事实标准。它由一组相互协作的类,s e r v l e t 和j s p 标记库组 成,是可复用的m v c m o d e l2 设计模式。它的框架如图2 5 所示。 浙江大学硕士学位论文 第2 章相关技术 书一c s o e n t 删r o l l e - - - - d i s p a 叫b u s i n e s s - - - - d i s p a t c l o g i ca c t i o n i i 唧 r e s 唧s c 一_ 1 s e n ,i e t h _ 1 ii c :l i e n t 已 、,一叫 b r o w s e r芑 o l l t ,r1r u p d a t e v i e w g e t m o d e i h 1 t pr e s p o n s e j s p卜 t a g 厂一 a p p l i c a t i o n s t a t e 图2 5s t r u t s 框架 这个框架的视图组件就是由一组j s p 页面,s t r u t s 提供的t a g l i b 标签和 a c t i o n f o r m 对象组成,其中用户的请求参数被封装成a c t i o n f o r m 对象,在j s p 页面中,开发者利用t a g l i b 标签把模型信息从a c t i o n f o r m 对象中提取出来并创建 h t m l 表单。a c t i o n f o r m 对象用于在视图组件和控制器组件间传递表单数据。 a c t i o n f o r m 对象被a c t i o n s e r v l e t 转发给a c t i o n ,a c t i o n 根据a c t i o n f o r m 对象里 面的请求参数处理用户的请求。 控制器组件由两个部分组成:系统核心控制器和业务逻辑控制器。系统核心 控制器对应于a c t i o n s e r v l e t 类,它负责拦截所有的h t t p 请求,然后根据用户请 求决定是否要转发给业务逻辑控制器。业务逻辑控制器则负责处理用户的请求, 对应于a c t i o n 类。它负责通过它的e x e c u t e ( ) 方法处理一个请求并返回一个 a c t i o n f o r w a r d 对象,这个对象定义了下一步将控制权限转移到哪里来给出正确的 响应。 模型组件代表应用的业务逻辑和数据。其实s t r u t s 并没有专门设计的模型组 件,但是它允许使用其他模型框架来处理应用的业务领域,常见的如e j b 和j d o , 以及常规的j a v ab e a n 和o r m 15 1 。这些模型框架封装了底层的业务逻辑,包括数 据库访问等。 浙江大学硕j :学位论文第2 章相关技术 2 3 1s t r u t s 框架的不足之处 如今越来越多的大型的w e b 应用项目开始采用s t r u t s 框架作为基于m v c 模 式的应用系统的架构,但是s t r u t s 本身也有一些不足之处: 虽然s t r u t s 框架的配置模块设计很好地体现了m v c 设计模式中的v i e w 和 c o n t r o l l e r ,但是m o d e l 部分却没有很好地实现。 s t r u t s 框架只是对j 2 e ew e b 层的基本a p i 进行了封装,例如业务逻辑与表现 逻辑的分离、动态页面显示逻辑与静态h t m l 代码的分离,但是对底层数据的封 装则和业务逻辑的处理则混杂于模型组件当中,没有做到有效的解耦合。 s t r u t s 框架对w e b 层与e j b 层的交互没有提供任何支持,对e j b 层的访问方 式全部需要开发人员自己完成,因此会造成业务逻辑访问方式的混乱,可维护性 降低。 企业级w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法遗产继承课件
- 民法总则全文课件
- 初中会考试卷及答案解析
- 亳州初二会考试卷及答案
- 医疗器械行业新质生产力发展
- 民族风少女课件
- 安全生产定义解析讲解
- 线上推广活动方案
- 《统计学-SPSS和Excel实现》(第9版)课件 第5章 参数估计
- 民族自治区域课件
- saas货运管理办法
- 2025新疆生产建设兵团草湖项目区公安局面向社会招聘警务辅助人员考试参考试题及答案解析
- 2026届广东省广州市高三上学期8月调研考试语文试题(含答案)
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- 2025年高一语文开学第一课指导课件
- 2025年事业单位工勤技能-河北-河北计算机操作员二级(技师)历年参考题库含答案解析(5套)
- 社会资本测量方法-洞察及研究
- 2025年江西省公安机关人民警察特殊职位招录考试(网络安全)历年参考题库含答案详解(5卷)
- 医院副高职称评审汇报
- 肿瘤放疗并发症综合防治
- 口腔医疗风险管理实施方案
评论
0/150
提交评论