(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf_第1页
(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf_第2页
(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf_第3页
(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf_第4页
(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机软件与理论专业论文)基于j2ee报业发行管理系统的设计.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 报刊是国家社会宣传领域的主要载体之一,和人民群众的文化生活密切相关。 传统的报刊发行工作主要是以手工方式进行的,存在着工作量大,事务繁琐等弊 端。即使采用信息系统,也常常采用基于c s 体系结构,在这种结构中,客户端包 含了大量的数据处理逻辑,导致系统难于安装和维护。本文通过对基于j 2 e e 多层 框架技术的分析,并结合辽宁省辽报集团下属半岛晨报报刊发行管理系统的前期 研发设计实例,系统的阐述了构建基于j 2 e e 多层框架的企业级信息系统的一般设 计方法和开发流程。 本文首先介绍了课题的背景和应用现状,指出基于c s 休系结构已经不能适应 企业应用系统的发展要求。接下来,文章简单介绍了目前流行的应用程序体系结 构,臣p w i n d o w s 平台下的n e t 体系结构以及适合多种平台下的j 2 e e e j b 体系结构。 从报刊发行管理的业务模型着手,对信息管理系统的需求结合u m l 和r a t i o n a lr o s e 对系统进行分析、设计和编码。 然后,本文分析报刊发行管理系统的体系结构,设计中采用基于m v c 设计模 式实现的j 2 e e 应用程序体系结构把整个系统分成了8 个功能模块和1 个非功能模 块,这些模块之间相互独立,有利于团队并行开发。 论文的后半部分研究了报刊发行管理系统的设计和实现。主要内容包括报刊 发行管理系统的技术构架;报刊发行管理系统的设计方案;以报刊发行管理系统 的消息发布的设计、d a o 模式的设计、系统的优化设计三方面进行系统设计;系 统的开发环境及工具介绍。 关键字:j 2 e e ,报刊自主发行,发行管理系统,模块分析 b a s eo nt h ed e s i g no ft h ej 2 e en e w s p a p e ri s s u em a n a g e m e n ts y s t e m a b s t r a c t n e w s p a p e r i so n eo ft h em o s ti m p o r t a n tc a r r i e ro ft h ep r o p a g a n d i z em e t h o df o rt h e s o c i e t ya n dn a t i o n ;i th a sg r e a tc o n n e c t i o nw i t ht h em u l t i t u d e h a n d c r a f ti st h em e t h o d f o rt r a d i t i o nn e w s p a p e ri s s u e ,b u ti th a ss o m ea b u s e ,e g :g r e a tw o r k l o a da n df u s s y a f l a i r s e t c e v e nt h o u g hw ea d o p t e di n f o r m a t i o ns y s t e m ,i to f t e nc h o o s e st h ec s s v s t e ms t r u c t u r e ,i nt h i ss t r u c t u r e ,t h ec l i e n ts i d ec o n t a i n sm a n yl o g i co fd a t ap r o c e s s i n g , i tc a ni n d u c et h es y s t e mh a r dt oi n s t a l la n dm a i n t e n a n c e t h ep a p e rb a s e do nt h ea n a l y z e o ft h ej 2 e em u l t i l a y e rf r a m et e c h n o l o g y ,a n dc o m b i n et h el i a o n i n gp r o v i n c e l i a o n e w s p a p e rg r o u p su n d e r l i n gt h eb a n d a om o r n i n ge d i t i o n s p r o p h a s ei n v e n t i o n e x a m p l e ,e x p a t i a t e dt h eg e n e r a ld e s i g nm e t h o da n de x p l o i t a t i o nf l o wo ft h ec o n s t r u c t t h ej 2 e em u l t i l a y e rf r a m ee n t e r p r i s ei n f o r m a t i o ns y s t e m f i r s t l y ,t h eb a c k g r o u n da n da p p l i c a t i o ns i t u a t i o no ft h et a s ka r ei n t r o d u c e d i nt h i s p a p e r ,i ti n d i c a t e st h a tt h ec ss y s t e ms t r u c t u r ec a n n o ta c c o m m o d a t ew i t ht h er a p i d d e v e l o p m e n to ft h ee n t e r p r i s ea p p l i c a t i o ns y s t e m i n s u c c e s s i o n ,t h ep a p e rb r i e f l y i n t r o d u c et h ep o p u l a rp r o g r a ms y s t e ms t r u c t u r e ,i ta l s ou n d e rt h ew i n d o w sp l a t f o r m , n e ts y s t e ms t r u c t u r ea n dj 2 e e e j bs y s t e ms t r u c t u r e ,t h el a s to n ec a nf i tm a n y k i n d so f p l a t f o r m e n t e ro nt h en e w s p a p e ri s s u em a n a g e m e n to p e r a t i o nm o d e l ,c o m b i n e d i n f o r m a t i o nm a n a g e m e n ts y s t e mw i t ht h eu m la n dr a t i o n a lr o s et oa n a l y z e ,d e s i g n a n dc o d i n gt h es y s t e m i nt h em i d d l eo ft h ep a p e r ,讧a n a l y z e st h es y s t e m ,i nt h ed e s i g n i ta d o p tm v c d e s i g nm o d er e a l i z et h ej 2 e ea p p l i c a t i o nc a n d i v i d eu pt h es y s t e mi n t o e i g h tf u n c t i o n a lm o d u l e sa n dan o n f u n c t i o n a lm o d u l e ,t h e s em o d u l e sa r ei n d e p e n d e n c e o n ea n o t h e r ,i ti sp r o p i t i o u st ot e a ms i d e - b y - s i d ed e v e l o p t h es e c o n dh a l fo ft h ep a p e ri n v e s t i g a t e sh o wt od e s i g na n da c t u a l i z et h e n e w s p a p e ri s s u em a n a g e m e n ts y s t e m t h em o s t l yc o n t e n tc o n t a i n s :t h et e c h n o l o g y t r u s s o fn e w s p a p e ri s s u em a n a g e m e n ts y s t e m ;t h ed e s i g ns c h e m eo fn e w s p a p e ri s s u e m a n a g e m e n ts y s t e m ;t h ed e s i g no fi n f o r m a t i o nr e l e a s e ;t h ed e s i g no fd a o m o d u l e ; c a r r yt h r o u g ht h es y s t e md e s i g nf r o mt h et h r e ep a n so fs y s t e mo p t i m i z ed e s i g n ;t h e e x p l o i t a t i o nc i r c u m s t a n c ea n df a c i l i t yi n t r o d u c t i o no f t h es y s t e m k e yw o r d s :j 2 e e ;s y s t e mo fn e w s p a p e ri s s u em a n a g e m e n t ;s e l f - d e t e r m i n a t i o n i s s u i n g ;m o d u l ea n a l y z i n g 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文= = 基王i 2 盟拯些蕉堑笪堡丕统的送让: 。除论文中已经注 明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确 方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或 未公开发表的成果。 本声明的法律责任由本人承担。 叫f 青 论文作者签名:卞。年,。月力,同 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密口( 请在以上方框内打“”) 论文作者签名:手分导师签名:李露亨 日期:机f 年口月日 基于j 2 e e 报业发行管理系统的设计 第1 章绪论 1 1 研究背景 大连半岛晨报是辽宁日报集团旗下子公司之一,1 9 9 7 年9 月7 同半岛晨报 在大连试刊,1 9 9 8 年1 月1 日正式创刊。经过1 0 年的发展,半岛晨报己成为 年发行量达3 0 万份的大连最大的城市都市报之一。2 0 0 3 年,半岛晨报荣获“大 连市民最喜爱的商标( 品牌) ”;2 0 0 4 年,半岛晨报获评“全国最具竞争力2 0 强都市报”;2 0 0 6 年,半岛晨报又荣获“全国十大创新都市报”。 大连半岛晨报于1 9 9 8 年采取自主发行,现发行量为3 0 万份,辖定为大连市 内四区、外三区( 金州区、旅顺口区、开发区) 、以及北三市( 瓦房店、庄河、 普兰店) ,共有2 4 个发行站、近7 0 0 名投递员。 随着发行量的加大,原有的烦琐落后的手工操作方式已严重地制约了企业的 发展与壮大。在新订、续订、转籍、改订、报数等环节中,存在着大量的纸媒性 手工作业,如外三市的报纸要转至大连市区,手续到发行站,客户资源的存档, 地区、发行段的发行量统计等等,大量的重复性的手工作业占用了发行人员的大 量时间和精力。为了能够提高工作效率,减少投递员的劳动强度,辽宁日报信团 联合北大方正拟组织开发报业发行管理系统,也是本文探讨基于j 2 e e 报业发行管 理系统设计的课题来源。 1 2 课题的国内外研究现状和发展现状 1 2 1 国内外研究现状 由于企业需求的复杂性、多变性以及易变性的快速增长,拥有行业解决方案 和先进技术架构的技术平台的研发进入了一个繁荣时期,能够在市场中占据主导 地位的将是易适应变化,具有快速开发、快速配置、快速集成特色的平台管理软 件。 针对c s 体系结构不能适应分布式企业应用系统发展的需要,开发者们不断 提出了新的软件体系架构,以改善在开发和维护过程中面临的种种困难。在当前 企业级应用系统开发领域,存在着两大阵营的软件体系架构,他们都能够提供强 第1 章绪论 大而且完整的开发平台,这两大平台也就是为大家所熟知的n e t 体系架构和j 2 e e 体系架构。 国内自主研发的技术平台主要以用友软件公司的n c 平台,金蝶软件公司的 k 3b o s 系统为代表。对于平台开发,业界面临的最大问题都是“如何更好地将标 准化应用和实际应用有机结合起来”,开发平台在面向大型管理软件领域还比较 弱,尽管在自定义报表、打印、财务、单据等业务领域做了许多工作,但仍然比 较有限。 目前丌发平台研究热点和趋势主要集中在以下几个方面:基础框架,服务组 件,领域模型。框架和服务组件是保证低成本、实现应用和可持续发展的手段, 而构建领域模型则是应用的根本。随着m d a ( 模型驱动开发) 等开发思路的成熟, 技术平台的发展也将不断走向成熟和标准。 1 2 2 国内报业发行管理系统发展状况 在现有的报业发行公司中,大多是采用基于两层c s 结构的桌面应用系统, 数据库服务器为m i c r o s o f ts q ls e r v e r2 0 0 0 。这种应用程序体系结构在早期获得 了成功,满足了当时设计的需求,然而随着业务系统复杂程度的提高和用户数目 的增长,采用两层结构的应用程序遇到了大量的问题【1 1 。主要表现在如下几个方面: ( 1 ) 在两层结构系统中,由于用户界面,业务逻辑和数据库访问都在客户端, 使得客户端变得很庞大,从而使客户端安装配置起来比较复杂,对于非计算机专 业的用户来说要求较高,企业需要为这些操作人员提供培训,增加企业系统实施 的成本。 ( 2 ) 在两层结构系统中,用户操作数据必须建立与数据库的长连接,当用户 数目不多时,数据库不会有太大的问题:但是当用户的数日大量增加时,用户与 数据库的连接也大量增加,从而使数据库系统资源的消耗急剧增加,结果降低了 数据库性能,甚至导致数据库的崩溃。 ( 3 ) 在两层结构系统中,由于客户端与服务器的紧密耦合,使得应用系统的 改变,如系统业务的改变,数据库结构的改变,都会影响到用户界面的表示以及 业务逻辑的处理,使得系统升级困难,维护成本高昂。 基于j 2 e e 报业发行管理系统的设计 1 2 3 当前报刊发行信息管理系统开发的主要问题 近年来,我国报刊社发行管理信息化建设已取得了一定进展,重视发行信息 系统建设已成为一种风气,但从总体上说,报刊发行信息资源的管理和使用还停留 在信息保存和查询的初级阶段,缺乏挖掘数据信息的创新能力【2 1 。虽然我国一些报 刊集团已经开始展开信息经营活动,但尚处于起步阶段。具体表现为: 1 ) 不是以报业经营管理活动为整体考虑,而仅仅着眼于局部的头痛医头型。 体现在规划、设计、实施报业信息系统时,不是以报业整体和整个经营活动流程 为对象,而只是以某一应用部门,如征订部门工作流程为对象,为其丌发专用的 业务流程管理软件,一旦涉及与经营活动的上下游部门衔接,如财务部门、印务 部门等,就要电脑改人脑,最常见的是广告、发行与财务的定期人工“对数”, 重复记账等。 2 ) 信息孤岛带来的信息不统一、缺乏统一标准导致信息不“兼容”:各报社 所用的发行软件来源于不同的厂商,不同版本之间的数据定义、分类标准不同, 形成一个个信息孤岛;数据难以共享,不能实现跨部门的信息共享:数据更新不 同步,大量冗余的信息堆积,导致报社的各种数据统计频频出错等,这些症状在 报业集团子报较多或异地经营中表现得极为突出。 3 ) 数据采集不健全,且数字浪费严重:一些现有的发行管理软件,伴随严重 管理功能缺失。如现行的发行管理软件,其功能侧重于订户信息及发行收入的管 理,而发行成本管理、人力资源管理和培训管理等功能不全。另外,这类软件缺 乏对已有数据进行整理、挖掘和智能分析能力,报刊社领导无法借以提高科学预 测、决策水平。 4 ) 重管理轻服务、重工具性轻生活性、重单向传递轻双向互动,使得这些管 理软件缺乏人情味:一些报刊社发行信息系统缺乏灵活性、可扩展性,不能适应 发行实际需要,员工厌倦、排斥或应付信息系统的现象十分普遍。 5 ) 绝大多数信息资源还是以为本报社服务为主,缺少对外服务的理念和实践。 通过整合发行信息资源,实现更大范围的信息共享,提供信息增值服务的报刊社 极少。 第1 章绪论 6 ) 信息技术和发行管理理论缺乏有机结合。只重视信息技术,导致“科技万 能”境地,脱离发行实际;只重视发行管理理论,容易导致空想主义,同样脱离 发行实际。 报刊发行系统开发要将信息技术的发展趋势和管理理念有机结合,利用模糊 数学、神经网络、遗传算法和人工智能等工具,推进发行信息处理的智能化,对 报刊发行业务进行新的整合与再造。 1 3 课题开发的目的和意义 报业信息化已经走过了2 0 多年的历程,回顾报业二十多年来的技术革新之路, 我们的信息化建设已经成功地从计算机接收新华社电稿、图像处理、激光照排为 代表的应用发展到以新闻综合处理系统为核心的出版全流程的应用。无论是第一 次告别“铅”与“火”的技术革命,还是第二次甩掉“纸和“笔”的技术革命, 都对报业的发展起到了重要的推动作用。两次技术革命,大大降低了劳动强度、 提高了劳动生产效率,全面提高了报纸内容、报纸印刷质量,极大提高了报纸出 版时效。 当我们看到了种种可喜的成就时,报刊管理发行信息化的新难题也逐渐显现 出来。目前,由于目前的信息化建设得不到统一的规划,各部门、各发行站在同 一平台上各自为战,数据标准不统一,形成成信息断层,管理缺位,人为地形成 了一个个的信息孤岛。由于以上原因,在报刊发行管理系统建设过程中必须解决 以下问题: 1 ) 实现全组织范围内的基于信息管理的集成。 2 ) 实现新旧版本互通性使用,并且允许多种用户界面的扩展。 3 ) 实现可以方便地对系统进行分析、设计和编码,提高经济效益,节约资源。 本课题在基于j 2 e e 系统构架和建设方案中就如何开发出一个高效稳定、安全 可靠、具有良好的可移植性和跨平台性的报刊发行管理系统作了一些研究。 基于j 2 e e 报业发行管理系统的设计 1 4 课题研究范围及内容 通过优化信息管理结构、提高信息的利用效率和深度,来提升整个发行业务 链、价值链的管理和监控能力。并能高效的利用i n t e r n e t 技术建立与客户、合 作伙伴的安全可靠、快速高效的信息沟通,以提升客户服务水平和客户忠诚度。 本论文主要研究如何结合报刊发行业务情况,构建集约化、统一管理、统一 服务的报刊发行信息管理系统,确定系统框架,抽取业务模型,构建数据模型的 设计实现工作。 论文的研究重点: 1 ) 传统模式在第一次部署的时候比较容易,但难于升级或改进,可伸展性也 不理想,随着业务量的增大而成为企业的闲置品。 j 2 e e 使用多层分布式应用模型,应用逻辑按功能划分为组件。各个应用组件 根据它们所在的层可以分布在不同的机器上。从而解决传统二层模式 ( c 1le n t s e r v e r ) 的弊端。 2 ) 传统模式常基于某种专有的协议一通常是某种数据库协议。它使得重用业 务逻辑和界面逻辑非常困难,很难满足系统的技术要求。 使用m v c 模式进行系统设计可以使得任何组件甚至整个模块都可以换进换出, 视图、控制器或模型的程序改变不会都影响到其他方面。控制器和视图可以随着 模型的扩展而进行相应的扩展,只要保持一种公共的接口,控制器和视图的旧版 本也可以使用,并且允许多种用户界面的扩展。 3 ) c s 体系结构每个客户端数据库驱动都需要进行安装和设置,一旦程序发 生改变,就需要重新部署,这意味巨大的开销。 结合u m l 和r a t i o n a lr o s e 可以很方便地对系统进行分析、设计和编码。如 有变动,只需在r a t i o n a lr o s e 中对该系统的各种图形进行一些必要的修改,重新 生成新的框架代码就可以了,而不需对原有的设计做很大的修改,这样就可以大大 提高经济效益,节约资源。 第1 章绪论 1 5 采用的研究方法、技术路线 1 ) 针对管理系统软件项目开发需求,采用信息工程方法,实用u m l 语言建 立主要的系统静态结构模型与动态行为模型。 2 ) 采用r a t i o n a lr o s e 工具先建模系统再编写代码,重构系统功能模型、 数据模型、体系结构模型,从一开始就保证系统结构合理,利用模型可以更方便 地捕获设计缺陷,从而以较低的成本修正这些缺陷。 3 ) 软件系统采用显示逻辑数据处理分离的三层技术架构模型,基于j 2 e e 规范,使用e j b 与j a v as e r v l e t 控制内部逻辑运算,采用j s p 与x m l 进行基 于模板的灵活输出,实现对现有系统在逻辑模型层的优化。 4 ) e c l i p s e 工具搭建一个开放的,通用的,可扩展的集成开发环境,与其 它标准工具无缝地集成,并开发处理各种内容的插件,实现全组织范围内的基 于信息的集成。 5 ) 采用速度快、容量大、安全性高的o r a c l e1 0 9d a t a b a s e 作为核心数据 库,建立报业管理信息系统数据库。 6 ) s p r i n g 为企业级应用提供了一个轻量级的解决方案,这个方案包括声明 性事务管理、通过r m i 或w e bs e r v i c e s 远程访问业务逻辑、m a i l 支持工具以 及对于数据和数据库之间持久层的各种配置的支持。 1 6 作者在课题中完成的主要工作和成果 本研究课题属于应用研究,所以我的研究方法是理论联系实际,总结实际软 件工程项目开发的实践经验,上升到理论高度,阐述上述几个方面问题的基本理 沦和实现方案,主要是提出一种新的报刊发行管理系统的设计模式。 1 7 论文的组织结构 本论文共分六章: 第一章绪论主要阐述报刊发行管理系统的国内外现状,以及本课题的研究内 容。 第二章j 2 e e 应用体系结构,主要阐述j 2 e e 多层结构以及它的优势所在。 基于j 2 e e 报业发行管理系统的设计 第三章基于e i b 组件体系结构的构成及其优势,主要描述e 3 b 组件的概念, 以及构成、优势。 第四章了解报刊发行管理需求并分析,首先确认业务流程,然后确定功能性 需求和非功能性需求。 第五章系统阐述了报刊发行管理系统的整体功能设计和技术设计,确定各模 块功能,就各功能予以定义,并将部分流程予以实现。 第六章总结,主要是对本论文的全文的总结和展望。 第2 章j 2 e e 应川体系结构 第2 章j 2 e e 应用体系结构 2 1 引言 报刊发行管理系统是基于j 2 e e 平台上开发,平台为软件的开发提供了良好的 服务。 j a v a 技术的核心优点即它的“完全可移植性( p o r t a b i l i t y ) ”。一次开发、多次移 植使用,不必担心具体的硬件及操作系统环境,这对于提高开发效率、代码重用 等具有很大的便利3 】【4 1 。缩减开发成本,可以快速跟踪企业应用的设计和开发,j 2 e e 技术提供了基于组件的设计方法,开发、集成、部署应用程序【5 】。 j 2 e e 平台提供了多层分布式应用模式,使具有重用的能力,并集成了基于 x m l 的数据交换一一个统一的安全模式及灵活的事务控制。 同时,加快了应用程序的设计和开发,可以快速地建立融合了i n t e m e t 技术尤 其是w e b 技术的n 层烈t i e r s ) 结构的分布式企业应用。基于j 2 e e 技术的b s 结 构具有可维护性好、可扩展性好、安全性好等优点,较好的解决了c s 结构所固 有的可扩充性差、可维护性差、可扩展性差、安全性差、部署麻烦等弊端【6 l 。 2 1 1j 2 e e 体系结构 目前在i n t e m e t i n t r a n e t 环境中,企业级应用系统大多采用三层或多层应用模 式,这种系统结构大致可以定义:客户机上的表示层、中间的服务器和后端的某种 数据库。这种设想的目的就是缓和客户机或数据库服务器上的代码膨胀,集中管 理业务逻辑,更灵活地使用数据库。为了方便开发、部署、运行和管理基于多层 结构的应用,需要以网络和分布式计算的底层技术为基础,构建一个完整的应用 框架,提供相应的支撑平台作为多层应用的基础设施,这一支撑平台的关键就是 位于中间层的应用服务器【7 1 。应用服务器是一个创建、部署、运行、集成和维护多 层分布式企业级应用的平台,从实现技术的角度看,可以将应用服务器划分为基 于j 2 e e 的解决方案、m i c r o s o f t n e t 解决方案和其他技术3 大类。 j 2 e e 使用多层分布式应用模型,应用逻辑按功能划分为组件。各个应用组件 根据它们所在的层可以分布在不同的机器上。事实上,设计j 2 e e 的初衷是为了解 决传统二层模式( c l i e n t s e r v e r ) 的弊端。在传统模式中,客户端因为担当了过多的 基于j 2 e e 报业发行管理系统的设计 角色而显得臃肿,此模式在第一次部署的时候比较容易,但难于升级或改进,可 伸展性也不理想,而且经常基于某种专有的协议一通常是某种数据库协议。它使 得重用业务逻辑和界面逻辑非常困难。很难满足系统的技术要求。j 2 e e 的多层企 业级应用模型将二层模型中的不同层面切分成许多层【8 1 。一个多层次应用能够为不 同的服务提供一个独立的层,j 2 e e 的结构如图2 1 所示: 客户端层 固w e b f l t 件p 2 e j b 层 二二三至至三二三三三至二至圣三蟹企业信息系统层 图2 1j z e e 的结构 j 2 e e 企业应用模型是一种多层应用结构,包括:客户端表示层、服务器端表 示层、商业逻辑层和企业信息系统层。客户端表示层h t m l ,j a v aa p p l e t 和j a v a a p p l i c a t i o n 等类型,服务器端表示层用j s p ,s e r v l e t ,t a gl i b r a r i e s 和j a v a b e a n s 实现,商业逻辑层用e j b 实现,企业信息系统包括如数据库、e r p 等。 j 2 e e 平台使用多层分布式的应用模式,应用逻辑根据其功能分成多个组件, 各种不同的应用组件构成分布在不同的依赖于层的机器上的j 2 e e 程序。j 2 e e 应 用程序通常由三层构成,因为他们分布于三个不同的位置:客户端,服务器,后 台数据库服务器,通过这种方式运行的三层应用模式拓展了基于客户服务的两层 模式。 第2 章j 2 e e 应用体系结构 2 1 2j 2 e e 容器服务 容器( c o n t a i n e r ) 是组件和支持组件功能的底层特定平台( 如数据库) 之间的接 口。在运行w e b 组件、企业b e a n 或者j 2 e e 应用程序客户端之前,必须将它们装 配到一个j 2 e e 应用程序中,并部署它们到容器中。部署过程将j 2 e e 应用程序安 装到j 2 e e 容器中。图2 2 展示了组件在容器中的情况: 图2 2j 2 e e 服务器和容器【9 】 j 2 e e 将组成一个完整企业级应用的不同部分纳入不同的容器( c o n t a i n e r ) ,每 个容器中都包含若干组件( 这些组件是需要部署在相应容器中的) ,同时各种组件都 能使用各种j 2 e es e r v i c e a p i 。 j 2 e e 容器包括: w e b 容器服务器端容器,包括两种组件j s p 和s e r v l e t ,j s p 和s e r v l e t 都 是w e b 服务器的功能扩展,接受w e b 请求,返回动态的w e b 页面。w e b 容器中 的组件可使用e j b 容器中的组件完成复杂的商务逻辑p 1 。 e j b 容器服务器端容器,包含的组件为e j b ( e n t e r p r i s ej a v a b e a n s ) ,它是 j 2 e e 的核心之一,主要用于服务器端的商业逻辑的实现【10 1 。e j b 规范定义了一个 基于j 2 e e 报业发行管理系统的设计 丌发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具 各可伸缩性、可移植性、分布式事务处理、多用户和安全性等。 a p p l e t 容器客户端容器,包含的组件为a p p l e t 。a p p l e t 是嵌在浏览器中的 一种轻量级客户端,一般而言,仅当使用w e b 页面无法充分地表现数据或应用界 面的时候,才使用它【1 1 1 。a p p l e t 是一种替代w e b 页面的手段,我们仅能够使用j 2 s e 开发a p p l e t ,a p p l e t 无法使用j 2 e e 的各种s e r v i c e 和a p i ,这是为了安全性的考虑。 a p p l i c a t i o nc l i e n t 容器客户端容器,包含的组件为a p p l i c a t i o nc l i e n t 。 a p p l i c a t i o nc l i e n t 相对a p p l e t 而言是一种较重量级的客户端,它能够使用j 2 e e 的 大多数s e r v i c e 和a p i 12 1 。 通过这四个容器,j 2 e e 能够灵活地实现前面描述的企业级应用的架构。 在v i e w 部分,j 2 e e 提供了三种手段:w e b 容器中的j s p ( 或s e r v l e t ) 、a p p l e t 和a p p l i c a t i o nc l i e n t ,分别能够实现面向浏览器的数据表现和面向桌面应用的数据 表现。w e b 容器中的s e r v l e t 是实现c o n t r o l l e r 部分业务流程控制的主要手段;而 e j b 则主要针对m o d e l 部分的业务逻辑实现。 在j 2 e e 的各种服务和a p i 中,j d b c 和j c a 用于企业资源( 各种企业信息系 统和数据库等) 的连接,j a x r p c 、j a x r 和s a a j 则是实现w e bs e r v i c e s 和w e b s e r v i c e s 连接的基本支持。 2 1 3j 2 e e 平台的优点 跨平台性 由于j 2 e e 旨在为支持j a v a 语言服务器端部署而提供与平台无关的,可移植的, 多用户的,安全和标准的企业级平台,基于j 2 e e 的应用程序不依赖任何特定操作 系统、中间件、硬件【1 3 】。因此基于j 2 e e 的程序只需编写一次便可以允许与各种不 同的平台,最大限度地利用现有的技术投资,并能得到大多数厂商支持,保护用 户投资。 高效的开发性 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制, 高效快速的程序开发集成了适合商务应用的e j b 的j a v a 平台,具有简洁的结构和 跨平台的特性,由于e n t e r p r i s ej a v ab e a n 组件技术的成熟,一些通用、复杂的服 第2 章j 2 e e 应用体系结构 务器端的任务由组件供应商提供,而应用系统集成商负责让多个组件和应用系统 协同工作,因此开发人员可以将更多的精力投入到如何创建商业逻辑上,相应地 叮以极大的缩短了开发时间 1 4 】。 可伸缩性 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸 缩性去满足在系统上进行商业运作的新客户。基于j 2 e e 平台的应用程序可被部署 到各种操作系统上。j 2 e e 领域的供应商提供了更为广泛的负载平衡策略,能消除 系统中的瓶颈,允许多台服务器集成部署【1 5 】。这种部署可达数千个处理器,实现 可高度伸缩的系统,满足未来商业应用的需要。 新旧资源的兼容性 由于企业必须适应新的商业需求,利用己有的企业信息系统方面的投资,而 不是重新制定全盘方案就变得很重要。这样,一个以渐进的方式建立在己有系统 之上的服务器端平台机制是公司所需求的1 6 】。j 2 e e 架构可以充分利用用户原有的 投资,这之所以成为可能是因为j 2 e e 拥有广泛的业界支持和一些重要的企业计算 领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃己有投资,进 入可移植的j 2 e e 领域。 2 2 设计模式 面向对象技术的出现和应用大大提高了软件的重用性和软件的质量。在过去 的十几年中,人们在对面向对象技术的研究探索和实际应用中针对某些问题创造 了一些良好的解决方案,即所谓的面向对象的设计模式。面向对象技术的目的之 一就是提高软件的重用性,而对设计模式、设计方案的重用则从更深的层次上体 现了重用的意义和本质【l 。面向对象的编程也比以往的各种编程模式要简单和高 效,但是面向对象的设计方法比以往的设计方法要复杂和有技巧得多,一个良好 的设计应该既具有对问题的针对性,也充分考虑到对将来问题和需求有足够的通 用性。 设计模式的分类有好几种,可以根据其目的分为创建型( c r e a t i o n “) ,结构型 ( s t m c t u r a l ) 和行为型( b e h a v i o r a l ) 三种【1 8 】。创建型模式主要是用来创建对象,结构型 模式主要是处理类或对象的组合,行为型模式则主要用来描述对类或对象怎样交 基于j 2 e e 报业发行管理系统的设计 互和怎样分配职责。也可以根据范围将设计模式分为类模式和对象模式,类模式 处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来, 是属于静态的。对象模式是处理对象间的关系,这些关系在运行时刻变化,更具 动态性。 2 2 1m v g 模式 m v c 最初是在s m a l l t a l k 8 0 中被用来构建用户界面的。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 、 c o n t r o l l e r 的方式进行分离,这样一个应用被分成三个层模型层、视图层、控 制层。m v c 的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的 耦合度 1 9 】。同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性 大大提高。 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 和c o n t r o l l e r ,每个部分负责不同的功能。 模型( m o d e l ) :就是业务流程状态的处理以及业务规则的制定。业务流程的 处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处 理结果。业务模型的设计可以说是m v c 最主要的核心。 视图( v i e w ) 代表用户交互界面,也就是面向用户的数据表示。对于w e b 应 用来说,可以概括为h t m l 界面,但有可能为x h t m l 、x m l 和a p p l e t 。随着应 用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同 的视图,卜1 v c 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用 户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型( m o d e l ) 处理。 控带1 ( c o n t r o l l e r ) 可以理解为从用户接收请求,将模型与视图匹配在一起,共 同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个 分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。 模型、视图、控制器三者之间的关系和各自的主要功能,如图1 所示。 第2 章j 2 e e 应用体系结构 图2 3 m v c 的组件类型与功能 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用 户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都 应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通 知所有的视图,导致显示的更新。 视图是模型的外在表现形式,一个模型可以对应一个或者多个视图,如图2 3 所示。同样,一个视图也可以对应多个模型。视图还具有与外界交互的功能。控 制器是模型与视图联系的纽带,控制器提取通过视图传递进来的外部信息并转化 成相应事件,然后由控制器对相关模型进行更新。同样,模型的更新与修改也通 过控制器通知视图,保持视图与模型的一致性。 基丁j 2 e e 报业发行管理系统的设计 | n l e r f a c e c o m r o l i e r1 r v i e w lk、 r _ 、 、l 规隧l 、1 c o n t r o l l c a 2 巴 一e 蚍 沙 i m e r 如c e 图2 4 一个模型对应多个视图 m v c 架构使得应用程序的结构更加清晰,通过将代码按照层次划分为业务逻 辑数据、用户界面和应用流程控制这三个层次,增强代码稳定性。模块功能的划 分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混 杂在一起造成混乱,有利于软件工程化管理【2 0 1 。由于不同的层各司其职,每一层 不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码, 加快项目进度。 在实际开发过程中,m v c 设计模式的基本实现过程为: 控制器新建模型; 控制器新建一个或多个视图对象,并将它们与模型相关联; 控制器改变模型的状态; 当模型的状态改变时,模型将会自动刷新与之相关的视图。 使用m v c 设计模式处理一个事务逻辑时,首先控制器接收用户的请求,并决 定应该调用哪个模型来进行处理,然后模型使用业务逻辑来处理用户的请求并返 回数据,最后控制器选择相应的视图显示模型返回数据,并通过表示层呈现给用 白【2 l 】 ,a 通过上面的分析,可以看到使用m v c 模式进行系统设计可以获得以下优点: 第2 章j 2 e e 应j j 体系结构 软件工程化:m v c 架构有利于软件工程化管理。由于不同的层各司其职,每 一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序 代码。 模块的有效性:如果需要,任何组件甚至整个模块都可以换进换出,视图、 控制器或模型的程序改变不会都影响到其他方面。不同的组件开发能够同时进行。 代码和设计的复用性:广泛采用可复用的组件,能够降低新项目的丌发成本, 通过对设计的复用,使得开发小组之间更易于沟通,设计的系统更易于理解。 易于维护:控制器和视图可以随着模型的扩展而进行相应的扩展,只要保持 一种公共的接口,控制器和视图的旧版本也可以使用。 允许多种用户界面的扩展:在m v c 模式中视图与模型没有必然的联系,都是 通过控制器发生关系。如果要增加新类型的用户界面,只需要改动相应的视图和 控制器即可,而模型则无需发生改动。 2 2 2d a o 模式 为了建立一个健壮的j 2 e e 应用,应该将所有对数据源的访问操作抽象封装在 一个公共a p i 中。用程序设计的语言来说,就是建立一个接口,接口中定义了此 应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行 交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对 应这个特定的数据存储。这就是d a t a a c c e s so b j e c t 数据访问接口 2 2 1 。d a o 模式是 标准的j 2 e e 设计模式之一。 一个典型的d a o 实现有下列几个组件: 一个d a o 工厂类; 一个d a o 接口; 一个实现d a o 接口的具体类; 数据传递对象( 亦称值对象) 。 具体的d a o 类包含了从特定的数据源访问数据的逻辑。 d a o 模式通过对业务层提供数据抽象层接口,实现了以下目标: ( 1 ) 数据存储逻辑的分离;通过对数据访问逻辑进行抽象,为上层机构提供 抽象化的数据访问接口。业务层无需关心具体的s e l e c t ,i n s e r t ,u p d a t e 等数据库操作, 基于j 2 e e 报业发行管理系统的设计 这样,一方面避免了业务代码中混杂j d b c 调用语句,使得业务落实实现更加清 晰,另一方面,由于数据访问接口与数据访问实现分离,也使得开发人员的专业 划分成为可能。某些精通数据库操作技术的开发人员可以根据接口提供数据库访 问的最优化实现,而精通业务的开发人员则可以抛开数据层的繁琐细节,专注于 业务逻辑编码。 ( 2 ) 数据访问底层实现的分离:d a o 模式通过将数据访问计

温馨提示

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

评论

0/150

提交评论