(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf_第1页
(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf_第2页
(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf_第3页
(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf_第4页
(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(通信与信息系统专业论文)基于j2ee设计模式的电讯自助营业系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着我国电讯行业市场的快速发展,电讯运营商的经营体制、观 念和手段也正在迅速演进。利用现代技术手段为客户提供更加方便、 快捷、安全的服务,成为每个电讯运营商参与竞争的一种重要手段。 自助营业系统由于其能提供可靠、不问断的服务而成为电讯、银行等 行业的一种有力服务方式,正发挥着越来越重要的作用。 本文在对传统的自助营业系统的总结和分析的基础上采用j 2 e e 设计模式设计与实现了b r o w s e r s e m 结构的电讯自助营业系统。实 践证明,该系统在可扩展性、可维护性以及系统安全性方面表现出了 很好的性能。 首先,本文分析了自助营业在国内外的研究与使用现状,介绍了 系统所采用的j 2 e e 核心设计模式的基本概念。其次,以系统的设计 原则为指导,从系统的整体结构、功能分析、数据库设计、安全与权 限控制设计等方面对系统进行了总体的设计。其三,根据系统的总体 设计思路,给出了系统具体的设计与实现方案。比较具体地阐述了表 现层、业务层和集成层中所应用的设计模式及其相关模式的实现细 节,用比较抽象的方式描述了系统网络数据通讯功能的设计与实现过 程。最后,采用测试工具对系统的负载性能进行了测试并结合测试数 据对系统的性能进行了分析,给出了w e b 层、业务层和数据库层的 性能优化方法。 关键词自助营业系统,j 2 e e ,设计模式,s t r u t s ,s o c k e t a b s t r a c t w t ht h er a p i dd e v e l o p m e n ti nt h em a r k e to ft e l e c o m m u n i c a t i o n i n d u s t r yi nc h i n a ,t h em a n a g e m e n tc o n c e p t i o n s ,m e a s u r e sa n dt h ew h o l e m a n a g e m e n ts y s t e mo ft h ei n d u s t r ya r e a l s oc o r r e s p o n d e n t l yi nf a s t p r o g r e s s i o n c u r r e n t l y ,i t h a sb e c o m eac r u c i a li s s u ef o r e v e r y t e l e c o m m u n i c a t i o nc o o p e r a t i o nt op r o v i d ec o n v e n i e n t ,e f f i c i e n ta n d s e c u r es e r v i c e s t oa l lc u s t o m e r s t h r o u g h a d v a n c e d t e c h n o l o g y s e l f - s e r v i c es y s t e mt u r n st op l a yaf a rm o r ei m p o r t a n tr o l et h a ne v e r b e f o r ed u et oi t sr e l i a b i l i t ya n dc o n s t a n ts e r v i c e ;t h e r e f o r e ,i th a sb e c o m e t h e p r i o r i t ys e l e c t i o ni nm a n yf i e l d ss u c ha st e l e c o m m u n i c a t i o na n d f i n a n c i a ls y s t e m ,e t c b a s e do nt h e c o m p r e h e n s i v ea n a l y s i s a n ds u m m a r yo nt h e t r a d i t i o n a ls e l f - s e r v i c es y s t e m s ,at e l e c o m m u n i c a t i o ns e l f - s e r v i c es y s t e m o fb r o w s e r s e r v e rf r a m e w o r kw i t ht h ed e s i g np a t t e r n so fj 2 e ei s d i s c u s s e da n ds t u d i e di nt h i st h e s i s t e s t e db yp r a c t i c a ls t u d i e s ,t h i s s y s t e mh a sg r e a tp o t e n t i a l s i ni t se x t e n s i b i l i t y ,m a i n t a i n a b i l i t y ,a n d s e c u r i t y t h i st h e s i si so r g a n i z e di nt h ef o l l o w i n gp a t t e r n :f i r s t l y ,ab r i e f a n a l y s i si sm a d et or e v i e wt h ec u r r e n tl i t e r a t u r eo fh o ws e l f - s e r v i c e i s s t u d i e da n da d o p t e di nc h i n aa n da b r o a d ,a n dt h eb a s i cc o n c e p t i o n so f j 2 e ed e s i g np a a e m sa p p l i e di nt h i ss y s t e ma r ei n t r o d u c e d s e c o n d l y ,t h e d e s i g no ft h i ss y s t e ma saw h o l ei sg i v e nf r o mo v e r a l ls t r u c t u r e ,f u n c t i o n , d a t a b a s ed e s i g na n dt h es y s t e ms e c u r i t ya sw e l la st h es t r a t e g i e so fp o w e r c o n t r 0 1 t h i r d l y ,i na c c o r d a n c e w i t ho v e r a l l d e s i g ni d e a ,ag e n e r a l i n t r o d u c t i o no ft h ed e s i g na n da p p l i c a t i o no ft h et e l e c o m m u n i c a t i o n s e l f - s e r v i c es y s t e mb a s e do nt h ej 2 e ed e s i g np a r e m s ,a n dg r e a tf o c u si s c o n c e n t m t e do nt h ed e s i g na n da p p l i c a t i o no fj 2 e ed e s i g np a t t e r n sa tt h e p r e s e n t a t i o nl a y e r , b u s i n e s sl a y e r , a n di n t e g r a t i o nl a y e r i na d d i t i o n , t h ed e s c r i p t i o no ft h e d e s i g n a n d a p p l i c a t i o n o ft h en e t w o r k c o m m u n i c a t i o ns y s t e mi se x p l i c i t l ym a d ei na na b s t r a c tm a n n e r f i n a l l y , at h o r o u g ha n a l y s i si sm a d et ot h el o a dp e r f o r m a n c eo ft h es y s t e mb y u s i n gt l l e t o o l st ot e s ta n da n a l y z et h et e s td a t ao v e rt h es y s t e m ,b a s e do n u w h i c hab e u e rm e t h o di ss u g g e s t e dt oi m p r o v et h ep e r f o r m a n c ei nt h e w e bl a y e r , b u s i n e s sl a y e ra n dd a t a b a s el a y e r k e yw o r d ss e l f - s e r v i c es y s t e m ,j 2 e e ,d e s i g np a t t e m ,s t r u t s ,s o c k e t 1 1 1 原创性声明 本人声明,所呈交的学位论文是本人在导师指导f 进行的研究工作及取得的 研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学 位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文 中作了明确的说明。 作者签名:函查! 盔日期:丛年! 月丝日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位 论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容, 可以采用复印、缩印或其它手段保存学位论文;学校可根据国家或湖南省有关部 门规定送交学位论文。 作者签名:区k 遗导师签名:垒坠日期:兰竺三年三月望日 颈+ 学伊论交第一章绪论 1 1 论文的背景 第一章绪论 孛霆蕊惑产堑部滚痿鹾宠院专家在近曩琶嚣瓣2 0 0 6 孛洌逶售产监发袋形势 报告会t 说t 5 i ,预计到2 0 0 6 年底,巾国电话用户数将超过8 2 亿户,其中移动电 话用户数将超过4 4 亿户,固定电话用户将超过3 8 亿户。目前,在移动电话用 户中,巾国移动占据了6 6 8 的份额,中国联遴g s m 用户占2 4 6 ,c d m a 尾 产占8 6 。在霾定墩话雳产孛,巾嗣电信占了6 0 9 静帝场份额,孛番鞠逶占 3 4 6 ,中国铁通占4 ,4 。 随麓市场的发展和电讯企业的改革与重组,网内电讯市场多元化、多屡次的 竞争强麟委逐步形成嘲。毫嘏金簸豹枣场竞争囊要是监务秘炎窝藏务承乎豹竞 争。而服务是市场竞争中最具持久性和能动性的因素。 目静,中国电讯众业的服务体系主要由自办营业厅和业务代办网点组成。这 静模式弱然不可取代,功效卓著。假随着拳场娥横盼快速发鼹,匿对目益臻跃鲍 庞大豹糯户群俸,这种服务模式鹣举足遣丑辩麓最。其主要袭现是1 2 0 l : 1 自办营业厅方式:投入比较大。建设周期长,涉及面广,难以跟上市场发 展步伐;建成之后服务容量比较围定,不易扩大;可提供的服务是等待式的,有 露鬻袋潮豹。 2 北务代办网点方式:虽然扩大了服务面,提高了用户选择度,但提商了管 理的成本和难度;而熙和营业厅一样,可提供的服务是等待式的,有时间限制的。 瑟冁这些薮的动囱,电嘏盛缀跟上形势,以受有效的方式为客户提供优瘊载 全方位黻务。电讯需爨选定谴们静秘标,包括改蒋电讯形象、降低运季亍藏本、提 供二十四小时服务、摄供良好的服务覆盖面等等,并选择各种有效途径和方案以 实现这目标。自助营业就是这些途径和方案的种。耳静,肉助营业设备日益 普及、麓麓不裴完善,自鼙营谴律洚一耱豢謦藏效懿簸务方式蒺目薤改交豢颓客 与服务提供机构互动的方式,已成为各电讯运营商关注的热点 7 1 。 自助营业终端的出现,使电讯综合业务网点可以利用现代化高科技手段,以 独立的、趸入篷守豹激浓鑫助营数浚器为题户撵供囊颖多样懿鑫霸营业瑷爨,跌 崭新的泡滚服务形蒙,真正实现2 4 小时连续撒务。自动营渡既可大大减少传统 电讯的疋作负荷,用较少的投资,灵活、快速地增加营业网点;又可以借助于新 颖、独特的电讯服务项目,拓展电淑信息传播渠道t 促进业务发展大大降低营 运残- 搴,增葫营适毅入,箍高经济效益,改善黢务覆量窝藤务形象,瑷强露场竞 争力1 2 0 l 。 硕十学伊论交第一蕈绪论 长期以来,在自助臀业终端的_ 支撑平台领域内,都是厂家、分支行各自为政, 隽鑫爨露犍蝮务豹扩篪、鑫劲终磺豹集孛统一蛰瑗繁柬羧夭苓馁,往建窭瑗瞧滚 要在不删的时候配合不同的厂商调试后台系统的情况。这样既使电讯的运营管理 成本增加,也给设备供应商带来了不便1 3 1 。 瑟砖中、外备丈嗽嘏运营商的激燕竞争,除? 如何提舞服务质量之外,魄添 品薄形象氇缀重要,掰以,魏秘统一各分支甑稳豹詹意对箨霹径,各分支极旃又 可以适当保留自己的特色显得至关骥要。 正题在这样的背景下,我们提出构建一个统一的自助营业运行支撑系统,对 痰露苏蘩会电承各鼗务( 含毫潺照务、孛闼篷务,蕊惑交互等) 系统资源,避终 通过自助终端为用户掇供一站式的自助营业,提黼服务质量霸企业形象l 洲。 1 2 国内外研究的现状 自助设备首先怒国外扶上攒= 纪8 0 年代歼始研制,脊名的公司霄荚国 n c r 、德图西门子、网本同立、日本熊平等圜际知名大公司,现在在各发达国 家和地嚣的应用已较为普遍,主鹱是应用于银行妲,电讯符渡嚣斡没有成踊国 务豹浚备,这鼹毫汛照务支箨系统愁鬻凑较终公露瞬裁,瑟旅蚕甚统一有关雕。 丑时,国内电讯自助营业墩备提供商所开发的各种电讯自助营业系统 大多采用传统的客户,服务器c l i e n t s e r v e r ) 模型,即c s 模型。其主要应 震运行程骞声蕊,客户薅疆袋鼷声器垂、运弦逻赣楚理,褥骧务器接受客 户端数据查询语句井对数掘库进行查询,返湖查询结采。这种方式给入们 带来灵滔性的同时,也有其缺点,旦业务逻辑有所改变,将引起应用程 序以及聪窘数据的修改1 2 “。此蘩耨修改、编译、连接、拜缀的工作璧怒相 当大静,丽盈安装、升级、维护等工嫠蚕农客户瑞逶 孑,蹭丈强誉管理 工作量。另外电讯自助营业系统中为了适应不同网点、不同终端设备标准 的具体情况,其管理系统要求具长灵活的可扩展性;因为涉及刘缴费奄额 等关键娩务数据,必须僳汪网络数攘簧辕懿凌确往;弱瓣,由于弱患憨数 较多,甏求系统具备峰值数据的商负荷处理熊力和平衡负载能力,以保证 数据和北务处理的及时性【4 】。 诸多戆露求攀缝依靠铸统戆客声,服务器绩梅已经不够,大髓必然求 勘予多联体系架秘豹模型来解决这个蠲题,般静蔽法憝在客户,骚务器 之间加个用以实现业务逻辑的中日j 层,采用组件技术的方法来实现,从 而使得朋户界匮、业务逻辑和数据源的分离,满足服务系缝系统的扩展、 安全、聚确等方螽瓣簧求。 2 硕十学位论文第一章绪论 1 8 论文的研究目的与意义 本论文的研究课题来源于湖南省金融货币识别与自助营业平台工程技术研 究中心的国家科技部攻关项目“基于货币识别的智能自助营业平台”的子课题。 本论文的研究目的在于:采用相关的设计模式构建一个基于j 2 e e 核心设计 模式的三层b s 结构的开放性的自助营业系统管理平台,侧重于系统管理、界面 统一、数据通信、终端管理、数据查询和数据统计分析,其最终目标将建设成为 电讯行业现代化自助营业平台得心应手的工具。 本论文的研究意义体现在,将网络经济的效益带入传统或非传统产业,一方 面满足社会公众缴费、购票、购物、购卡、电话、信息查询等日常需求,实现数 字奥运提出的让任何人在任何时间和任何地点( 公共场所) 都能够安全、方便、 快捷、高效地获取可支付得起的、丰富的、多语言的、个性化的信息服务、货币 支付业务服务和商品零售服务。 另一方面为各服务行业营运商构建新型管理服务平台,使营运商能够对自助 营业设备进行远程集中管理,实时跟踪交易状况、设备运行状况;实行商品动态 定价;大幅度降低运营成本,提高经营效益,并创造新的利润增长机会。 本课题直接面向数字奥运、上海世博会等国家重大信息化工程建设,同时也 为数字城市、数字社区提供必不可少的智能终端和系统,为电子商务和政务工程 提供更直接和更方便的补充与完善。是深入开展城市数字化工程建设的理想切入 点,是以信息化带动传统工业化建设的理想结合点。 本课题所涉及的研究项目作为一个高技术、高投入、高回报、高风险的产业, 围绕信息化促进工业化发展的时代主题,顺应全球信息化发展潮流。它的广泛应 用将为社会构建大众化的自助营业普及应用体系,让社会的每一个成员都能够切 身体验到信息化数字化带来的社会进步,享受到社会进步带来的便利,并造就更 多新兴行业,推动整个社会的服务理念、服务模式、服务文化的变革和创新1 2 ”。 1 4 论文结构及主要内容 本论文在深入研究j 2 e e 设计模式的基础上,探讨它在通用自助营业系统上 的应用,并进行了基于j 2 e e 设计模式自助营业系统信息交换平台的具体设计及 实施,解决了该自助营业平台用在不同行业应用可能带来的开发平台不同,开发 语言不同或运行环境不同等差异,使系统能够适应不同需求,降低开发成本,同 时方便部署、维护和升级。 具体来说,本文的结构及内容组织如下: 第一章,绪论。介绍国内外电讯自助营业行业以及自助营业系统的发展现状, 顽。卜学舻论交 第一章绪论 概括性描述电讯自助德北系统研究的背景以及这一课题研究的意义。 第二牵,j 2 e e 羧设渣摸式锈突。奔缨了是韵营蝗系绫灾瑷过程孛灏疲震 的j 2 e e 核心设计模式。 第三章,自助营蚍系统功能分析。描述了电讯自助营业系统管理平台与自助 终端的功能与流程。 第滔攀,基于1 2 e e 设浮模式静系统设活每实瑷。对系统豹整俸结褥避行7 分析与设计,介绍了自助营业系统中表现层、业务层、集成层、网络通讯、数据 库的设汁与实现,其中设计模式的熨现足本章的鼹点。 繁纛牵,系绶豹魏麓分辑与溺谈。嚣用l o a d r u n n e r 溅试王吴对羧务壤程窿 进行了模拟负载测试。并根掘测试结果进行了分析,提出了系统性能的优化方法。 第六章,总结和展耀。对本文一作进行归纳总结并展望了澡题的进一步研究 方向。 4 硕十学付论文 第:擎j 2 e e 设计模式与体系结构研究 第二章j 2 e e 设计模式与体系结构研究 模式是人们用来讨论问题和解决的方案的。简占之,设计模式就是在一种上 下文中,一类问题的一种可重复使用的解决方案【6 j 。在我们面向对象编程的开发 过程中。经常会遇到一些相同或者相近的问题,每次我们都会去寻找一个新的解 决方法,为了节省时间提高效率,我们提供一些能够解决这些常见问题的,被证 实可行的方案,构成一个统一的资源库。一个设计模式描述了一个被证实可行的 方案。这些方案非常普通,是有完整定义的最常用的模式。这些模式可以被重用, 有良好的伸缩性,而这些设计模式的优势将在设计j 2 e e 应用时得到体现。 j 2 e e 模式提供了一组基于j 2 e e 平台的对常见问题的解决方案。按照逻辑架 构层次我们可以把设计模式分为三类:表现层模式、业务层模式、集成层模式【“。 下面我们分别阐述这三类设计模式的特点。 2 1 表现层设计模式 设计w e b 应用程序的一个难点是创建结构合理的、整洁的瘦客户机层,难 点在于组合正确的外观和行为,同时包装表示逻辑,不把任何业务逻辑放到这一 层中,并创建易于阅读和维护的代码。此外,表现层通常还有其他要求,如用户 验证、数据加密、会话管理、用户个性化和请求处理。 表现层负责最终用户处理信息表示的所有逻辑。本节介绍设计与管理w e b 应用程序顶层的问题,对在实现表现层时常用的m v c 设计模式作详细讨论。 2 1 1m v c 设计模式 m v c 是m o l l v i e w - c o n t r o l l e r 的简称,即模型视图控制器。m v c 是x e r o x p a r c 在2 0 世纪8 0 年代为编程语占s m a l l t a l k 一8 0 发明的一种软件设计模式,至 今已被广泛使用,最近几年被推荐为s u n 公司j 2 e e 平台的设计模式,受到越来 越多的w e b 开发者的欢迎1 2 1 。 m v c 是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。 m v c 把应用程序分成三个核心模块:模型( m o d e l ) 、视图( v i e w ) 和控制器 ( c o n t r o l l e r ) ,他们分别担负不同的任务。这三个部分的作用分别描述如下: 模型:模型是应用程序的主体部分。模型表示业务数据和业务逻辑。是对企 业业务流程中的对象进行抽象,封装了对象的属性和对象隐含的业务逻辑。一个 模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了 应用的可重用性。 硕十学付论丈第_ 二章j 2 e e 设计模式b 体系结构研究 视图:视图足用户看到并与之交互的界面。视图向用户显示相关的数据,并 能接收用户的输入数据,但足它并不进行任何实际的业务处理。视图丁以向模型 查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而 对用户界面进行同步更新。 控制器:控制器接受用户的输入并调用模型和视图去完成用户的需求。当 w e b 用户单击w e b 页面中的提交按钮来发送h t m l 表单时,控制器接收请求并 调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。 下图2 - 1 所示为m v c 设计模型图: 图2 - 1m v c 设计模型图 2 1 2 实现i d v c 模式的s t r u t s 框架 s t r u t s 是m v c 的一种实现,它将s e r v l e t 和j s p 标记( 属于j 2 e e 规范) 用作实 现的一部分。s t r u t s 继承了m v c 的各项特性,并根据j 2 e e 的特点做了相应的变 化与扩展,即s t r u t s 框架将m v c 的优点应用于j 2 e ew e b 应用的开发。 控$ 1 器( c o n t r o l l e r ) :控制器的作用是从客户端接受请求,并且选择执行相应 的业务逻辑,然后把响应结果送回到客户端。在s t r u t s 中,c o n t r o l l e r 功能由 a c t i o n s e r v l e t 和a c t i o n m a p p i n g 对象构成,即核心是一个s e r v l e t 类型的对象 a c t i o n s e r v l e t ,它用来接受客户端的请求。a c t i o n s e r v l e t 包括一组基于 s t r u t s - e o n f i g x m l 文件配鬣的a c t i o n m a p p i n g 对象,每个a c t i o n m a p p i n g 对象实现 了一个请求到一个具体的m o d e l 部分中a c t i o n 处理器对象之间的映射。 视窗( v i e w ) :s t r u t s 应用中的v i e w 部分是通过j s p 技术实现的。s t r u t s 提供 了可以使用的自定义标记库,通过这唑自定义标记可以非常好地和系统的m o d e i 部分交互;通过使用这些自定义标记创建的j s p 表单,还可以实现和m o d e l 部 6 硕十学付论丈第二荜1 2 e e 设计模式b 体系结构研究 分中的a c t i o n f o r m 的映射,完成对用户数据的封装。同时,这些自定义标记还 提供了像模板定制等多种显示功能。 模型( m o d e d :模型以一个或多个j a v a b e a n 的形式存在。这些b e a n 分为三类: a c t i o n f o r m 、a c t i o n 、j a v a b e a n 或e j b 。a c t i o n f o r m 通常称之为f o r m b e a n ( 数据 b e a n ) ,封装了来自于c l i e n t 的用户请求信息,如表单信息:a c t i o n 通常被称之 为a e t i o n b e a n ( 逻辑b e a n ) ,获取从a c t i o n s e r v l e t 传来的f o r m b e a n ;取出f o r m b e a n 中的相关信息,并做出相关的处理,一般足调用j a v a b e a n 或e j b 等。 流程:在s t r u t s 中,用户的请求是以d o 作为请求服务名。所有的d o 请求 均被指向a c f i o n s e v | c t ,a c t i o n s e r v l e t 根据s t r u t s - c o n f i g x m l 中的配置信息,将用 户请求封装成一个指定名称的f o r m b e a n ,并将此f o r m b e a n 传至指定名称的 a c t i o n b e a n ,由a c t i o n b e a n 完成相应的业务操作,如文件操作,数据库操作等。 每一个d o 均有对应的f o r m b e a n 名称和a c t i o n b e a n 名称,所有这些控制逻辑利 用s t r u t s - e o n f i g x m l 文件来配置。 核心:s t r u t s 的核心是c o n t r o l l e r ,即a c t i o n s e r v l e t ,而a c t i o n s e r v l e t 的核心 就是s t r u t s - c o n f i g x m l ,s t r u t s - c o n f i g x m l 集中了所有页面的导航定义。对于大型 的w e b 项目,通过此配置文件即可迅速把握其脉络这不管是对于前期的开发, 还是后期的维护或升级都是大有裨益的。可见,掌握了s t r u t s - e o n f i g x m l 就是掌 握s t r u t s 的关键所在【2 1 。 s t r u t s 的工作原理如下图2 2 所示: 图2 - 2s t r u t s 的工作原理圈 2 2 业务层设计模式 业务层负责捕获机构的业务规则,作为多个应用程序阳l 可复用的组件,所有 的应用系统、应用逻辑、控制都在这一层,系统的复杂性也主要体现在业务层。 本节介绍与业务层相关的s e s s i o nf a c a d e 模式以及b u s i n e s sd e l e g a t e 模式。 7 硕 学伊论文 第1 二章j 2 e e 设计模式体系结构研究 2 2 1s e s s i o l lf a c a d e 模式 s e s s i o nf a c a d e ( 会话门面) 模式使用会话b e a n 定义任务的高级抽象,隐藏实 体b e a n 及其它可能的低级会话b e a n 的细节。用于封装并集中较低层次业务组件 之问的复杂交互。它为客户端提供单一接口,用于访问应用程序或应用程序子集 的功能。它还把较低层次的业务组件彼此分离开来,从而使设计更具灵活性和可 理解性1 6 l 。s e s s i o nf a c a d e 模式具有下列优点: l 、较低的网络开销。通过s e s s i o nf a c a d e 模式,客户端只需一次远程调用 就可以完成原本需要多次远程调用的业务处理。 2 、减少了各层次之间的藕合。使用s e s s i o nf a c a d e ,能够消除业务组件和客 户端之日j 的耦合,减少表现层和业务层之间的紧祸合和依赖。 3 、良好的可复用性。在会话b e a n 中封装应用逻辑意味着我们的实体b e a n 可以只包含数据及数据访问逻辑,使得我们可以在相同甚至不同的应用中的多个 会话b e a n 中复用他们。 4 、良好的可维护性。通过s e s s i o n f a c a d e 可以把中日】件和应用逻辑清晰地分 离开来,从而增加了可维护性并且降低了出错的可能性。 图2 - 3s e s s i o nf a c a d e 模式类图 图2 3 简要描述了s e s s i o n f a c a d e 的设计模式。c l i e n t 是s e s s i o n f a c a d e 的客 户端,它需要访问业务服务。c l i e n t 通常是另一个层次中的b u s i n e s sd e l e g a t e ( 业 务代表) 。s e s s i o n f a c a d e ( 会话门面) 是本模式中的主要角色。s e s s i o n f a c a d e 以 s e s s i o n b e a n 的形式实现,它可能足有状态的s e s s i o n b e a n ,也町能是无状态的, 视需求而定。b u s i n e s s c o m p o n e n t ( 业务组件) 参与完成客户端的请求。 a p p l i c a t i o n s e r v i c e ( 应用服务埘装了b u s i n e s s o b j e c t ( 务对象) ,并且实现了一些 业务逻辑,执行这些业务逻辑才能完成服务请求t 6 1 。 2 2 2f a c t o r ym e t h o d 模式 f a c t o r ym e t h o d 是一种创建性模式,它定义了一个创建对象的接1 3 ,但是却让 子类来决定具体实例化哪个类。当一个类无法预料要创建哪种类的对象或足一 8 硕士学付论文第一二章j 2 e e 设计模式与体系结构研究 个类需要由子类来指定创建的对象时我们就需要用到f a c t o r ym e t h o d 模式了。 简单说来,f a c t o r ym e t h o d 可以根据不同的条件产生不同的实例,当然这些不同 的实例通常是属于相同的类型,具有共同的父类。f a c t o r ym e t h o d 把创建这些实 例的具体过程封装起来了,简化了客户端的应用,也改善了程序的扩展性,使得 将来可以做最小的改动就可以加入新的待创建的类。通常我们将f a c t o r ym e t h o d 作为一种标准的创建对象的方法,当发现需要更多的灵活性的时候,就开始考虑 向其它创建型模式转化。 图2 _ 4 是f a c t o r y m e t h o d 模式的结构图,其中p r o d u c t 是指需要创建的产品 的抽象类。c o n c r e t e p r o d u c t 是p r o d u c t 的子类,一系列具体的产品。c r e a t o r 是抽 象创建器接口,声明返回p r o d u c t 类型对象的f a c t o r ym e t h o d 。c o n c r e t e c r e a t o r 是具体的创建器,重写c r e a t o r 中的f a c t o r ym e t h o d ,返回c o n c r e t e p r o d u e t 类型 的实例。从图中我们可以清楚的看出这样的平行对应关系:p r o d u e t c r e a t o r ; c o n r e t e p r o d u c t c o n r e t e c r e a t o r ,即抽象产品对应抽象创建器,具体产品对应具 体创建器。这样做的好处是: 图2 - 4f a c t o r ym e t h o d 设计模式结构图 首先客户端可以统一从抽象创建器获取产生的实例,c r e a t o r 的作用将c l i e n t 和产品创建过程分离开来,客户不用操心返回的是那一个具体的产品,也不用关 心这些产品是如何创建的。同时,c o n c r e t e p r o d u e t 也被隐藏在p r o d u c t 后面, c o n r e t e p r o d u c t 继承了p r o d u c t 的所有属性,并实现了p r o d u c t 中定义的抽象方法, 按照j a v a 中的对象造型( c a s t ) 原则,通过c o n c r e t e c r e a t o r 产生的c o n c r e t e p r o d u e t 可以自动的上溯造型成p r o d u c t 。这样一来,实质内容不同的c o n c r e t e p r o d u e t 就 可以在形式上统一为p r o d u c t ,通过c r e a t o r 提供给c l i e n t 来访问。 其次,当我们添加一个新的c o n c r e t e c r e a t o r 时,由于c r e a t o r 所提供的接口 不变,客户端程序不会有丝毫的改动,不会带来动一发而牵全身的灾难,这就是 良好封装性的体现。但如果直接用c o n c r e t c p r o d u c t 和c o n c r e t e c r e a t o r 两个类是 无论如何也做不到这点的。优良的面向对象设计鼓励使用封装( e n c a p s u l a t i o n ) 和 9 硕t 学伸论文第一二章j 2 e e 没计模式b 体系结构研究 委托( d e l e g a t i o n ) ,而f a c t o r ym e t h o d 模式就是使用了封装和委托的典型例子,这 罩封装足通过抽象创建器c r e a t o r 来体现的,而委托则是通过抽象创建器把创建 对象的责任完全交给具体创建器c o n c r e t e c r e a t o r 来体现的。 2 3 集成层设计模式 数据是现代企业的血液,许多公司已经深切体会到,没有i t 系统中的数据, 企业就无法运转。数据不再被认为是日常业务操作的副产品,而足战略性资产。 甚至可以说机构的数据在许多方面就是机构。没有一致和合理定义的服务集来访 问机构中的由不同种类组成的数据源,就难以建立和集成应用程序。 集成层,也称为数据层,负责抽象出数据源,使数据位于不同地方和用不同 方法读取时,能够用业务规则访问与操纵数据1 6 l 。下面我们介绍与数据层相关的 d a t a a c c e s so b j e c t 设计模式。 根掘数据源不同,数据访问也不同。根据存储的类型( 关系数据库、面向对 象数据库等) 和供应商不同,持久性存储( 比如数据库) 的访问差别也很大。当业务 组件( 如会话b e a n ) 或表示组件( 如助手组件) 需要访问某数据源时,它们町以使用 合适的a p i 来获得连接性,以及操作该数据源。但是在这些组件中包含连接性 和数据访问代码会引入这些组件及数据源实现之间的紧密耦合。组件中这类代码 依赖性使应用程序从某种数据源迁移到其它种类的数据源将变得 e 常麻烦和困 难,当数据源变化时,组件也需要改变,以便于能够处理新类型的数据源1 6 1 。 使用d a t aa c c e s so b j e c t ( d a o ,数据访问对象) 使我们可以将底层数据访问 逻辑与业务逻辑分离开来。数据访问对象( d a o ) 用来抽象和封装所有对数据源的 访问。d a o 管理着与数据源的连接以便于检索和存储数据,d a o 实现了用来操 作数据源的访问机制。依赖于d a o 的业务组件为其客户端使用d a o 提供了更 简单的接口,d a o 完全向客户端隐藏了数据源实现细节。由于当低层数据源实 现变化时,d a o 向客户端提供的接口不会变化,所以该模式允许d a o 调整到不 同的存储模式,而不会影响其客户端或业务组件。重要的是,d a o 充当组件和 数掘源之间的适配器。图2 5 显示了应用程序与数据源之间的关系。 1 0 硕十学伊论文 第二章j 2 e e 设计模式与体系结构研究 2 4j 2 e e 体系结构 图2 - 5 应用程序与数据源的关系图 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 是美国s u n 公司推出的一种全新概 念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。j 2 e e 是一 种利用j a v a 2 平台来简化诸多与多级企业解决方案的开发、部署和管理相关的复 杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a 2 平台的标准版, 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 ab e a n s ) ,j a v as e r v l e t sa p i , j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持 7 1 。 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 2 e e 典型的结构分 为四层,这四层分别是运行在客户端机器上的客户端层( c l i e n t t i e r ) 、运行在 w e b 服务器上的w e b 层( w e b t i e r ) 、运行在e j bj 务器上的业务层( b u s i n e s s t i e r ) 和运行在e x s h 艮务器上的企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e mt i e r ) , 其中w e b 层和业务层共同组成了三层j 2 e e 应用的中间层,其他两层是客户端层和 存储层或企业信息系统层。一般情况下,许多开放商把w e b 服务器和e j b 服务器 产品结合在一起发布,称为应用服务器或j 2 e e 服务器。j 2 e e 平台规范也定义了 硕 学付论史第一章j 2 e e 设计模式与体系结构研究 相应层的组件: j 2 e e a p p l i c a t i o n1 j 2 e e a p p l i c a t i o n2 晰 t i e ri l b u s i n e s s l t i e r i 一 哪 t i e r1 _ j 图2 击j 2 e e 体系结构图 c l i e n t m a e h i n e j 2 e e s e r v e r m a e h i n e d a t a b a s e s e r v e r m a e h i n e l 、客户端层组件 应用客户端程序和浏览器是客户端层组件。客户端层组件可以是基于w e b 方 式的即作w e b 服务器的测览器,也可以是基于传统方式的( 非基于w e b 方式) 即 独立的应用程序,可以完成瘦客户机无法完成的任务。 2 、w e b 层组件 j a v a s e r v l e t 和j a v a s e r v e r p a g e s ( j s p ) 是w e b 层组件。w e b 层可能包含某 些j a v a b e a n 对象来处理用户输入,并把输入发送给运行在业务层上的 e n t e r p r i s eb e a n 来进行处理。按照j 2 e e 规范,静态的h t m l 页面和a p p l e t 不算是 w e b 层组件。 3 、业务层组件 e n t e r p r i s ej a v a b e a n ( e j b ) 是业务层组件。业务层代码的逻辑用来满足银行, 零售,金融等特殊商务领域的需要,由运行在业务层上的e j b 进行处理。e j b 从 客户端程序接收数据,进行处理( 如果必要的话) ,并发送到企业信息系统层( e i s ) 层储存的,这个过程也可以逆向进行。 有三种企业级的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 ,和消息驱动 ( m e s s a g e d r i v e 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 结合了会话b e a n 和j m s 的消息监听器的 特性,允许一个业务层组件异步接收j m s 消息。 1 2 咖盯伽w 固目 圉 目 硕+ 学伊论文 第_ = 章j 2 e e 设计模式与体系结构研究 4

温馨提示

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

评论

0/150

提交评论