(计算机软件与理论专业论文)面向内容的宽带增值业务管理体系结构研究与实现.pdf_第1页
(计算机软件与理论专业论文)面向内容的宽带增值业务管理体系结构研究与实现.pdf_第2页
(计算机软件与理论专业论文)面向内容的宽带增值业务管理体系结构研究与实现.pdf_第3页
(计算机软件与理论专业论文)面向内容的宽带增值业务管理体系结构研究与实现.pdf_第4页
(计算机软件与理论专业论文)面向内容的宽带增值业务管理体系结构研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

面向内容的宽带增值业务管理 体系结构研究与实现 作者简介:王跟成,男,1 9 7 6 年8 月出生,2 0 0 4 年9 月师从于成都理工大 学罗省贤教授,于2 0 0 7 年7 月获硕士学位。 摘要 内容管理系统作为一种专门的非结构化信息管理技术,伴随着非结构化和 半结构化信息规模和应用需求的急剧增长,正逐渐成为信息管理技术发展的一 个重要方向。 本论文以成都理工大学d n c p c 实验室与企业合作的项目为依托,讨论了内 容管理系统的基本理论和相关概念,研究了当前流行的基于j 2 e e 的轻量级框架, 设计了一套基于s s i ( s t r u t s + s p r i n g + i b a t i s ) 的宽带增值业务管理系统的体系架 构。这种基于s s i 的架构在设计上充分体现了分层的思想。整个系统分为控制 层、呈现层、业务层和持久层,这种分层的体系架构显著提高了系统的可扩展 性和可维护性。在应用开发中,使用s s i 架构,根据“面向接口”的设计原则, 设计并实现了宽带增值业务管理系统的核心功能。实践证明本文提出的s s i 架 构对w e b 应用系统的开发具有重要的指导意义和实用价值。 本文研究的内容管理子系统是基于开源项目v e l o c i t y 进行构建的,实现了基 于模板的内容编辑和发布功能,并且设计了主要的v t l 元素。这种基于模板的 内容发布方式将模板和内容相分离,模板决定了内容的表现形式,模板更新后 重新发布内容可以使页面焕然一新,这显著降低了网站更新带来的工作量。而 且,动态内容的最终发布形式是h t m l 静态页面,也明显地提高了客户访问时 的响应速度。 宽带增值业务管理系统中的客户管理予系统构建于w e b 服务之上,用a x i s 实现为一个独立的w e b 应用程序,w e b 服务提供了对外部系统的调用接口,这 样,外部系统要和宽带增值业务管理系统交互时,只需要调用相应的w e b 服务 即可。w e b 服务没有提供可靠的安全保证,为了使客户信息在传输时不被泄漏, 论文中还设计和实现了一套基于s o a p 的消息级安全性框架,该框架使用公钥 加密技术处理s o a p 消息,可以确保w e b 服务客户端和服务端之间s o a p 消息 的安全性和完整性。 关键词:内容管理;模板;s t r u t s :s p r i n g ;i b a t i s :框架 ar e s e a r c ha n di m p l e m e n t a t i o no fc o n t e n t o r i e n t e d b r o a d b a n db u s i n e s sm a n a g e m e n ts y s t e m a b s t r a c t a sap r o f e s s i o n a lt e c h n o l o g yo fm a n a g i n gn o n s t r u c t u r e di n f o r m a t i o n ,c o n t e n t m a n a g e m e n ts y s t e mi sb e c o m i n ga ni m p o r t a n td i r e c t i o no ft h ed e v e l o p m e n to f i n f o r m a t i o nm a n a g e m e n tt e c h n o l o g yw i t ht h ei n c r e a s i n gd e m a n df o rm a n a g e m e n to f n o n s t r u c t u r e dd a t aa n ds e m i s t r u c t u r e dd a t a d e p e n d i n go nt h ec o o p e r a t i v ep r o j e c to fd n c p ca n dc o r p o r a t i o n ,t h ep a p e r d i s c u s s e dt h ec o r r e l a t i v et h e o r ya n dc o n c e p t i o no fc o n t e n tm a n a g e m e n ts y s t e m , r e s e a r c h e dt h ep o p u l a rl i g h t w e i g h tf r a m e w o r kc u r r e n t l yb a s e do nj 2 e e ,d e s i g n e da f r a m e w o r ko fb r o a d b a n db u s i n e s s m a n a g e m e n ts y s t e m ( b b m s ) b a s e d o n s s i ( s t r u t s + s p r i n g + i b a t i s ) ,w h i c hi se n o u g ht oe m b o d yt h ei d e a so fd e l a m i n a t i o n t h es y s t e mi n c l u d e sc o n t r o ll a y e r ,v i e wl a y e r , b u s i n e s sl a y e ra n dp e r s i s t e n tl a y e r , w h i c hi m p r o v et h ee x t e n s i o na n dm a i n t a i n a b i l i t yg r e a t l y a c c o r d i n gt ot h ep r i n c i p l e o f i n t e r f a c eo r i e n t e d ”,t h i sp a p e ri m p l e m e n t st h ek e r n e lf u n c t i o no fb b m sb y m e a n so ft h es s if r a m e w o r k i ti sp r o v e dt h a tt h ef r a m e w o r ko fs s ih a sav e r y i m p o r t a n tg u i d a n c em e a n i n g a n dp r a c t i c a lv a l u ef o rt h ew e ba p p l i c a t i o ns y s t e m s t h ec o n t e n tm a n a g e m e n ti sb a s e do nt h ev e l o c i t y , w h i c hi sa no p e n - s o u r c e p r o j e c t t h ef u n c t i o n o fc o n t e n te d i ta n dp u b l i s hb a s e do nt e m p l a t e sh a sb e e n i m p l e m e n t e d ,a n dt h em a i nv t l ( v e l o c i t yt e m p l a t el a n g u a g e ) e l e m e n t sa l s oh a s b e e nd e s i g n e d t h ep u b l i s hm e t h o d sa r eb a s e do nt e m p l a t es e p a r a t e st h et e m p l a t e a n dt h ec o n t e n t t h et e m p l a t ed e c i d e st h ef o r m s ,a n dt h eu p d a t i n go ft e m p l a t ew i l l r e s u l ti nt h ef l e s hp a g e s ,w h i c hr e d u c e st h ew o r k l o a do fw e b s i t eu p d a t i n gg r e a t l y m o r e o v e r ,t h ef o r mo fp u b l i s h e dc o n t e n t si ss t a t i ch t m lp a g e s ,w h i c hi m p r o v et h e r e s p o n s eo f c l i e n tr e q u e s t t h es u b s y s t e mo fb b m s ,c u s t o m e rm a n a g e m e n t w h i c hi sb a s e do nw j b s e r v i c e ,i si m p l e m e n t e da sai n d e p e n d e n t l ya p p l i c a t i o nu s i n ga x i s ,w h i c hi sa i n t e r f a c eo fe x t e r n a ls y s t e m w h e nt h ee x t e r n a ls y s t e mi n t e r a e t i v e st ob b m s ,o n l y n e e d st oi n v o k et h ew e bs e r v i c ea c c o r d i n g l y b e c a u s ew e bs e r v i c ed on o tp r o v i d e s s e c u r i t y , s oam e s s a g es e c u r i t ym o d e lu s i n gp u b l i c - k e yt e c h n o l o g yf o rw e bs e r v i c e i s d e s i g n e da n di m p l e m e n t e di n t h i s p a p e r ,w h i c hg u a r a n t e e s t h es e c u r i t ya n d i n t e g r i t yo fs o a pm e s s a g e sb e t w e e nt h ec l i e n ta n dt h es e r v e r k e y w o r d s :c o n t e n tm a n a g e m e n t ;t e m p l a t e ;s t r u t s ;s p r i n g ;i b a t i s ;f r a m e w o r k 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得成都理工大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者导师签名: 渤赁 学位论文作者签名:煅 珈7 年j 旯话b 学位论文版权使用授权书 本学位论文作者完全了解成都理工大学有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权成都理工大学可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:j 嗽 潮年玉艮砖e l l 第1 章引言 第1 章引言 1 1 选题依据 随着宽带市场的启动,宽带用户量也得到突飞猛进的增长,截至2 0 0 5 年底, 我国宽带用户已经突破6 0 0 0 万。互联网在经历了从窄带到宽带的“接入革命” 之后,正在从“接入革命”走向“应用为王”的时代。中国宽带产业的市场竞 争也将从单纯争夺用户接入转向通过创造性地开发宽带应用以满足用户对内容 日益增长的需求。当前用户上网消费还是以信息咨询、聊天为主,娱乐类的消 费由于消费趋向的问题,虽然呈增长趋势,但还不能形成主流业务。新闻浏览、 视频点播( v o d ) 、网上教育、网上购物、i p t v 等大量宽带增值业务还未大规 模运营。这些业务作为接入业务的一个有益补充,能为用户提供内容丰富多彩 的全新体验,其发展具有广阔的前景。 宽带增值业务是基于宽带网络开展的综合业务,主要提供高质量视频服务、 可视通讯、日常生活信息获取、金融服务、家庭互动娱乐等服务及应用。宽带 增值业务以a d s l 、f t t b + l a n 为主要接入方式,以宽带数字机顶盒+ 电视机为 用户终端,向用户提供电信级的服务和使用简便的电视式体验。整个增值业务 系统必须提供一个内容和服务的增值管理平台,需要有效地管理内容( c o n t e n t ) , 包括基于内容而动态提供的节目( p r o g r a m ) ,需要有效地管理最终用户 ( s u b s c r i b e r ) 和合作伙伴( c o n t e n t s e r v i c ep r o v i d e r ) 等。 1 2 论文的主要研究内容与创新 1 2 1 论文的主要研究内容 本论文以成都理工大学d n c p c 实验室与企业合作的项目为依托,该项目的 目标是研发一套宽带增值业务管理系统( b b m s ) ,主要研究内容是和网通的 b o s s 系统协作,完成宽带用户的开户、内容管理、设备安装维护、点播计费收 费等功能。b b m s 的核心是内容管理,给用户提供丰富的内容是运营成功的关 键。b b m s 的客户初步定位在网通小区的宽带用户,用户使用机顶盒连接宽带 浏览和收看b b m s 系统提供的内容和节目。 论文主要介绍了内容管理系统的定义、特点、意义,提出了内容管理系统 应该主要解决的问题,然后对宽带增值业务管理系统的实现进行了理论和体系 结构的剖析,并深入探讨了基于模板的内容管理系统的实现方法,最后以实际 项目为依托实现了宽带增值业务管理系统( 第三版) 的核心功能。具体内容如 下: 成都理工大学硕士学位论文 ( 1 ) 研究了内容管理系统的基础理论,阐述了内容管理系统的基本概念、实 现思想和特点,同时也论述了j 2 e e 体系结构的基础理论,包括j 2 e e 的 关键技术和设计模式等等; ( 2 ) 研究了基于j 2 e e 的轻量级框架,包括业务层框架s p r i n g 、呈现层框架 s t r u t s 和持久层框架h i b e r n a t e i b a t i s ,并且分析了持久层框架h i b e r n a t e 和i b a t i s 的特点与实现原理,最后讨论了这些框架的整合技术; ( 3 ) 研究了内容管理系统的实现技术,讨论了v e l o c i t y 的实现原理和模板语 言,设计了内容管理子系统的程序结构。并编程实现了内容编辑、内容 发布和模板管理等功能; ( 4 ) 设计了b b m s ( 第三版) 的体系架构,该架构基于s s i ( s t r u t s + s p r i n g + i b a t i s ) 进行构建,将整个系统分为控制层、呈现层、 业务层和持久层,设计时充分体现了j a v a 面向接口编程的特点,降低了 各层之间的耦合性,使系统便于扩展和维护; ( 5 ) 研究了w e b 服务的相关理论和实现技术,并用a x i s 设计了客户管理子 模块的w e b 服务,最后实现了客户开户、客户信息管理和密码修改等功 能; ( 6 ) 设计并实现了一种基于s o a p 的消息级安全性框架,该框架确保了w e b 服务调用端和服务端之间s o a p 消息端对端的安全性。 1 2 2 论文的创新点 本论文研究了当前流行的开源框架,讨论了内容管理系统的核心概念,构 建了宽带增值业务管理系统( 第三版) 的技术框架,其主要创新点如下: ( 1 ) 设计了宽带增值业务管理系统的体系架构 宽带增值业务管理系统( 第二版) 的体系架构是基于j s p + s e r v l e t + j a v a b e a n 的m v c 实现,j s p 充当系统前端的展示层,s e r v l e t 充当系统的控制器,j a v a b e a n 中封装了数据库的操作,而第三版是基于s s i ( s p r i n g + s t r u t s + i b a t i s ) 技术的 全新实现,这种实现更利用系统的开发、维护和扩展。 ( 2 ) 设计并实现了基于模板的内容管理系统的核心功能 内容管理是b b m s 的核心,在论文中,以v e l o c i t y 开源项目为基础,设计 和实现了一套基于模板的内容管理系统。使用模板可以将内容的管理和设计相 分离,页面美工设计存储在模板里,模板中可以动态的引用程序中的数据,而 且,模板独立于程序代码,其创建和修改并不复杂,为w e b 站点的长期维护提 供了便利。 2 第1 章引言 ( 3 ) 客户管理w e b 服务安全模型的设计和实现 宽带增值业务管理系统中客户管理模块是基于w e b 服务构建的,为了确保 客户开户信息的安全性,论文中研究和设计了一种基于公钥加密体系的w e b 服 务安全模型,实现了身份验证处理器、签名处理器、签名验证处理器、加密处 理器、解密处理器和访问控制处理器等六个功能器件,并且应用于客户管理子 模块。通过查看截获的s o a p 消息,可以看出这些器件达到了预期的加密和验 证效果,这说明该安全模型具有一定的实用性。 成都理工大学硕士学位论文 第2 章内容管理系统与j 2 e e 基础理论 内容管理系统是一个新出现的概念,它代表了一种先进的观念和技术的集 成。下面简要介绍内容管理系统的基本概念和主要功能。 2 1 内容管理系统概述 随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及 业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和 维护工作;遇到网站扩充或者改版的时候,整合网站内容和显示方式的工作就 变得更加复杂,甚至还需重新建设,内容管理系统的出现就是为了解决上述问 题。 2 1 1 内容与内容管理系统 内容管理系统( c m s ,c o n t e n tm a n a g e m e n ts y s t e m ) 是施加在“内容”对 象上的一系列处理过程。也可以称为信息发布系统,是将网页上的某些需要经 常变动的信息进行集中管理,并通过信息的某些共性进行分类,最后系统化、 标准化发布到网站上的一种网站应用程序。网站信息通过一个操作简单的界面 加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上i l o 】。 内容管理由两部分组成,“内容”强调对象,“管理”强调方法。内容是任 何类型的数字信息的结合体,可以是文本、图形图像、w e b 页面、业务文档、 数据库表单、视频、声音文件等。应该说,内容是一个比数据、文档和信息更 广的概念,是对各种结构化数据、非结构化文档、信息的聚合,这在某种程度 上也包含了知识。管理就是施加在“内容”对象上的一系列处理过程,包括收 集、确认、批准、整理、定位、转换、分发、更新、存档等,目的是为了使“内 容”能够在正确的时间、以正确的形式传递到正确的地点和人。因此,内容管 理可以定义为协助组织和个人,借助信息技术,实现内容的创建、储存、分享、 应用、更新,并在企业、个人、组织、业务、战略等诸方面产生价值的过程。 而内容管理系统就是能够支撑内容管理的一种工具或一套工具的组合。网站内 容管理系统不仅是一种可以建设网站,管理网络资源的工具,更是一种高效的 信息发布系统i ”。 2 1 2 内容管理系统的基本思想 内容管理系统的基本思想是分离内容的管理和设计。页面美工设计存储在 模板里,而内容存储在数据库或独立的文件中,当一个用户请求页面时,各部 分联合生成一个标准的h t m l 页面或根据模板定义的显示方式预发布成h t m l 4 第2 章内容管理系统与j 2 e e 基础理论 页面,合成的w e b 页面可能包含多个数据源和多种类型的数据。 2 1 3 内容管理系统的特点 1 ) 便于使用和管理 内容管理的基本原理是把整个的内容分成不同的部分,而不同的部分之间 又紧密地整合在一起,这样既便于功能的增删,又可以进行集约化的统一管理。 c m s 系统都内置了一个或多个内容模型,采用统一数据库,统一管理后台,各 内容模型之间可以使用统一的功能定义,管理方便快捷。 在c m s 系统中,文本和图像存储在分散空间内( 或是一个数据库或是一个分 散的文件系统) ,而这些分散的空间都与h t m l 模板连接。用户可以不用h t m l 就可以升级自己的内容,或者不影响内容就可改变网页的可视效果和感觉。在 一个网站的不同空间里出现的相同内容可以在一个地点被升级,而不必担心它 们会发生冲突。这样的结果是,一旦这样的模板被建立起来,即使是一个没有 技术的用户也可以把自制的网页发送到互联网上,并能够在不用i t 专业人士帮 助的情况下就升级自己网页的内容,避免了涉及s q l 语句等专业技术细节。 c m s 系统对站点管理和创作编辑都有好处,作者只需在他们的文档中采用 少量的模板代码,就可把精力集中在设计之上的内容中了,要改变网站的外观, 只需要由美工人员修改模板即可,而不需要修改一个个单独的页面,明确的分 工显著的提高了工作效率。 2 ) 采用b s 结构,便于浏览和移动管理【2 】。 c m s 系统采用b s 结构,既便于在任何地方进行内容管理,也便于面向互 联网进行发布,采用b s 结构软件的优势在于: ( 1 ) 无须开发客户端软件,维护和升级方便;只要有一台能上网的,有浏览 器的电脑就能使用,客户端零维护; ( 2 ) 可跨平台操作,任何一台机器只要装有浏览器软件,均可作为客户机来 访问系统; ( 3 ) 具有良好的开放性和可扩充性;只要能上网,再由系统管理员分配一个 用户名和密码,就可以使用了,在允许的情况下,还可以在线申请,通过相关 的安全认证后,系统可以自动分配给用户一个账号进入系统; ( 4 ) 可采用防火墙技术来保证系统的安全性。 因此b s 结构在管理信息系统开发领域中获得飞速发展,成为应用软件研 制中一种流行的体系结构。 3 ) 成本较低 过去我们为了实现内容模型,考虑到功能和安全等问题时会使用不同技术 成都理工大学硕士学位论文 背景的产品,比如新闻系统采用a s p + a c c e s s 技术,论坛又采用p h p + m y s q l 技术,不同的系统就可能需要不同的主机和不同的域名,硬件成本过高,而且 不便于管理。而目前的c m s 系统根据开发商的不同,技术层面采用单一的技术 和数据库开发,用户只需配置单一主机即可方便使用,成本有效降低。 同时,使用c m s 系统使企业不必雇用庞大的技术维护队伍,非专业人员就 可以管理维护,节省了人力开支。 2 2 基于模板的内容管理系统 现在的内容管理系统都采用模板技术,其内容发布形式主要有以下三种: 传统的静态信息发布,基于模板的动态信息发布,基于模板的静态信息发布。 传统的静态信息发布只能发布静态的h t m l 页面文件,适用于页面信息不需要 经常变动的网站;基于模板的动态信息发布其页面可以随时动态更改,但页面 是动态临时生成的,访问速度相对静态页面要慢一些;基于模板的静态信息发 布其页面可以动态更新,在动态页面方式的基础之上增加一个发布为静态页面 的操作,这个操作完成的处理是根据模板生成静态h t m l 页面。b b m s 使用的 是第三种发布方式。 2 2 1 内容模板的概念 内容模板是一个结构化页面和框架,通常是组合文档或者页面组织框架。 在模板中包含多个分块,或是h t m l 的多个d i v 块,或是内嵌的多个i f r e a m , 最重要的是模板包含了动态标签,这些标签会在发布时根据业务逻辑替换成相 应的静态数据。基于这种思路构建的模板是为了提高元素的复用性和降低模板 创建的工作量。模板中内容元素的识别通过可以惟一确定的标签来实现,所有 的内容管理系统都有各自独特的标签库。通过使用标签内容可以自动地与模板 相匹配从而生成最终页面1 2 l 。 2 2 2v e l o c i t y 简介 v e l o c i t y 是一个基于i a v a 的模板引擎,它允许任何人仅仅简单地使用模板语 言( t e m p l a t el a n g u a g e ) 来引用由j a v a 代码定义的对象。当v e l o c i t y 应用于w e b 开发时,界面设计人员可以和j a v a 程序开发人员同步开发一个遵循m v c 架构的 w e b 站点,也就是说,页面设计人员可以只关注页面的显示效果,而由j a v a 程 序开发人员关注业务逻辑编码【3 i 。 v e l o c i t y 将i a v a 代码从w e b 页面中分离出来,这样为w e b 站点的长期维护 提供了便利。b b m s 就是在v e l o c i t y 之上封装和设计了一套特有的模板标签( 称 作v t l 元素) 和上下文环境,在内容发布之时,这些标签会被数据库里的动态 6 第2 章内容管理系统与j 2 e e 基础理论 数据替换而生成若干的静态页面。 2 2 3 基于模板的静态信息发布的特点 在大型的门户网站中多数采用“基于模板的静态信息发布”这种方式管理 和发布内容,采用这类方式的站点具有如下特点: ( 1 ) 页面可以动态更新,在动态页面方式的基础之上增加一个发布为静态页 面的操作; ( 2 ) 模板改变时,页面需要重新发布; ( 3 ) 提供在线的所见即所得的编辑工具,极大地方便了用户的使用; ( 4 ) 客户访问速度较快。 2 3j 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 ) 是s u n 公司定义的一个开发分布式企业级 应用的规范。它在j a v a 语言的基础上整合了j a v a a p p l c t ,r m i - i i o p , j a v a i d l c o r b a ,j a v a b e a n s ,s e r v l e t ,j s p ,j s t l ,j d b c ,j n d i ,e j b 等关键 技术而形成的一个新的框架。j 2 e e 定义了一套标准,可以轻松地开发n 层的企 业应用。此外,它还定义了一套标准化、模型化的组件,并为这些组件提供了 一整套完整的服务。 2 3 1j 2 e e 的体系结构 j 2 e e 是多层的分布式体系结构【4 】,应用逻辑按功能划分为不同的组件,组 件根据自己所在的层分布在不同的机器上( 也可以放在同一台机器上) ,克服了 两层模式的弊端。在传统模式中,客户端充当了过多的角色而显得臃肿,在这 种模式中,第一次部署时候容易,但是难于升级或改进,伸展性也不理想,而 且常基于某种专有协议( 通常是某种数据库协议) ,它使得重用业务逻辑( 业务 过程) 和界面逻辑非常困难。现在,j 2 e e 的多层企业级应用能够为各种不同的 服务提供一个独立的层。图2 1 描述了j 2 e e 的体系结构。 ( 1 ) 客户层组件 这一层对应于j 2 e e 应用程序的客户端。j 2 e e 应用可以是基于w e b 的,也 可以不基于w e b 。在一个基于w e b 的j 2 e e 应用中,h t t p 页面,a p p l e t 小应用 程序属于客户层组件。在一个不基于w e b 的应用中,普通的j a v a 应用程序或者 移动设备( 例如手机、p d a 等) 属于客户层的组件。 ( 2 ) w e b 层组件 j 2 e e 的w e b 组件可以是s e r v l e t 或j s p 页面。s e r v l e t 是用j a v a 语言开发的 类,它能动态处理请求并构造响应。j s p 页面则是基于文本的,也能像s e r v l e t 7 成都理工大学硕士学位论文 一样被执行,更多用于创建一些静态的内容。w e b 层可能包含某些j a v a b e a n 对 象处理用户输入,并把输入发送给运行在业务层上的企业b e a n 进行处理。 图2 1j 2 e e 体系结构 ( 3 ) 业务逻辑层组件 业务层组件主要是指e j b1 5 1 ( e n t e r p r i s eb e a n s ) 。业务层代码的逻辑用来满 足业务领域的需要,由运行在业务层上的e j b 进行处理。企业b e a n 从客户程序 处接受数据,对数据进行处理( 如果需要) ,再将数据发送到企业信息系统层存 储起来。企业b e a n 也可以从持久存储层中检索数据,并将数据送回客户程序。 运行在业务层的e j b 依赖于容器来为诸如事务、生命期、状态管理、多线程及 资源存储池等提供通常都非常复杂的系统级代码。 有三种不同类型的企业b e a n :会话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 ) 和消息驱动b e a n ( m e s s a g e d r i v e nb e a n ) 。会话b e a n 表示与客户端程序 的临时交互,当客户端程序执行完成后,会话b e a n 以及它所包含的数据就会消 失。相反,实b e a n 代表的是持久的数据,也就是存储在数据库表中的一行记录。 如果客户端程序中止或者服务器关闭,在j 2 e e 底层的服务确保了实体b e a n 的 数据能够被保存下来。消息驱动b e a n 结合了会话b e a n 和j a v a 消息服务( j m s ) 中消息监听者的特性,允许一个业务层组件异步接受j m s 消息。 ( 4 ) 企业信息系统层 企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统,例 如企业资源计划( e r p ) 、大型机事务处理( m a i nf r a m et r a n s a c t i o np r o c e s s i n g ) 、 数据库系统及其他遗留系统( 1 e g a c yi n f o r m a t i o ns y s t e m s ) 。j 2 e e 应用程序组件 第2 章内容管理系统与j 2 e e 基础理论 可能需要访问这些企业信息系统,例如数据库的连接。 2 3 2j 2 e e 体系结构中的几种关键技术 ( 1 ) 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 c ( j a v a 数据库连接) 为j a v a 应用程序访问不同的数据库提供了通用的 应用程序编程接口,通过j a v a 驱动程序可以屏蔽不同数据库之间的差异。j d b c 应用程序不必考虑具体的数据库和操作系统,而采用统一的应用程序接口。通 过j d b c 可以完成建立数据库的连接、执行s q l 语句等操作。 ( 2 ) j n d i ( j a v an a m i n g d i r e c t o r yi n t e r f a c e ) j n d i 即j a v a 的命名和目录接口。j n d i 是j a v a 定义的一种标准的注册机制, 提供名字和目录服务。在j 2 e e 应用中,j n d i 用于管理应用中用到的核心组件 和对象。当需要使用某一个组件时,j n d i 可以提供查找该组件的方法。j n d i 还提供了一种应用程序,该程序包含了一个对象集合或对象引用的集合,还对 每个对象关联了一个对用户友好的名称。目录服务只是命名服务所提供的一个 扩展功能。 ( 3 ) j a v as e r v l e t j a v as e r v l e t 是用j a v a 编写的s e r v e r 端程序,它与协议和平台无关。s e r v l e t 不是直接由用户激活的应用程序。使用s e r v l e t 的通信过程是一个典型的请求一 应答流程,具体流程如下:首先浏览器连接到w e b 服务器,然后w e b 服务器将 客户请求传递给w e b 容器,最终w c b 容器与包含s e r v l e t 在内的w e b 应用程序 进行交互;当w e b 容器调用s 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 容器把应答回传给服务器。 ( 4 ) j a v as e r v e rp a g e s ( j s p ) j s p 技术是对s e r v l e t 技术的一种扩展。它为基于j a v a 环境开发多层结构的 动态w e b 应用程序提供一种方便、快捷的方法。j s p 页面以扩展名为j s p 的纯文 本文件的形式存于服务器上,当服务器接收到客户端对某个j s p 页面的请求时, 如果这是对该页面创建或修改后的第一次请求,那么j s p 引擎就把该j s p 页面 内容转换成s e r v l e t 源码。然后将其编译成s e r v l e t 字节代码并执行。最后将s e r v l e 的执行结果返回给浏览器1 3 1 。 ( 5 ) e n t e r p r i s ej a v a b e a n s ( e j b ) e n t e r p r i s ej a v a b e a n s ( e j b ) 1 5 1 是一种服务器端组件体系结构,它简化了用 j a v a 开发企业级的分布式组件应用程序的过程。通过e j b ,我们能写出可扩展 9 成都理工大学硕士学位论文 的、健壮的和安全的应用程序,而不用自己去写复杂的分布式组件框架。同其 它j 2 e e 组件一样,e j b 支持j a v a 语言的“编写一次,随处运行”的功能。 一个e j b 被开发后,可以在多个平台上发布,不需要改变源代码或重新编 译。这样就使得应用程序的开发人员和发布人员可以购买第三方的执行同样任 务的组件,从而可以集中精力在他们的部门所要求的特殊操作行为上。另外, e j b 体系结构支持使用工具进行快速开发和发布企业b e a n 。这样就显著的增加 了应用程序开发的速度,并可以确保合适的技术被应用到每个应用程序开发的 任务中。e j b 的客户端与发布它的容器无关。发布e j b 的任何容器对于客户显 示都是同样的接口。这样就可以扩展到来自不同供应商、运行在不同服务器和 数据库上,以及网络中不同系统上的容器。这种对客户的透明性确保了多层应 用程序可以大范围的采用。 2 4j 2 e e 平台的现有框架介绍 目前,j 2 e e 多层架构上已经开发出了很多框架【6 l ,这显著减轻了开发人员 的负担,开发者可以将不同层上的框架整合到一起,从而能够从繁杂的底层编 码中解脱出来。 在构建w e b 应用时,用户请求的处理、业务逻辑处理以及数据的持久化是 必须仔细考虑的因素,而且也是大部分应用必须具备且较为复杂的职责。因此 目前针对这三方面人们开发了很多框架,如图2 2 所示。 图2 - 2j 2 e e 开源框架 在上面的框架中,现在应用最为广泛的是s s h 【7 l ( s t r u t s + s p r i n g + h i b e r n a t e ) , 在b b m s 第三版的实现中,我们使用了s s i ( s t r u t s + s p r i n g + i b a t i s ) 。使用i b a t i s 的主要原因是因为i b a t i s 是一种半自动化的o r m 实现,它以s q l 开发的工作 量和数据库移植性上的让步,为系统设计提供了更大的自由空间,另外,i b a t i s 对存储过程的支持也优于h i b e r n a t e 。 l o 第3 章基于j 2 e e 的轻量级框架研究 第3 章基于j 2 e e 的轻量级框架研究 j 2 e e 技术发展到今天,其开源的轻量级框架应用非常广泛,b b m s 第三版 的实现使用了s s i ,其中s p r i n g 是业务层框架,s t r u t s 是呈现层框架,i b a t i s 是持久层框架。本章详细介绍这三个开源框架的体系结构、功能和具体应用。 3 1s p r i n g 框架 s p r i n g 是一个服务于所有层面的应用框架,具有维护容易、分层清楚、速度 快、代码少、支持最新的o r m 技术与a o p 概念等优点。s p r i n g 带来的好处有: 自然的面向接口的编程,业务对象的依赖注入、一致的数据存取框架和声明式 的事务处理,统一的配置文件等等,更重要的是s p r i n g 既是全面的又是模块化 的,s p r i n g 有分层的体系结构,这意味着能选择仅仅使用它任何一个独立的部分, 而它的框架又是内部一致的,它为建立企业级应用提供了一个轻量级的解决方 案【”。 3 1 1s p r i n g 的架构 s p r i n g 的架构如图3 一l 所示,它由一系列分层的模块组成,下面介绍其核心 模块。 图3 - 1s p r i n g 体系结构图 ( 1 ) s p r i n g 核心模决 核心模块是s p r i n g 框架中最为基础、最为重要的模块。它提供了l o c 容器 和一个b e a n 管理工厂。其它模块都建立在该模块之上。 i o c i * 1 ( i n v e r s i o no fc o n t r 0 1 ) ,控制反转,要求程序员设计好的类不由程序 员自己控制而由系统控制,这样可以使系统变得更加独立,从而更易于扩展和 成都理工大学硕士学位论文 维护。在s p r i n g 中,所有的组件初始化和调用都由容器负责。组件处在一个容 器当中,由容器负责管理。在w e b 模块加载时,s p r i n g 会根据配置文件读取模 块( 类) 的配置信息,然后实例化对象并放入容器中,在使用对象的时候,直 接从容器中取出就可以使用。 ( 2 ) s p r i n ga o p 模块 a o p ( a s p e c t o r i e n t e d p r o g r a m m i n g ) ,即面向方面编程,是最近在j 2 e e 领 域最热门的名词之一。它提供了从另一个角度来考虑程序结构以完善面向对象 编程( o o p ) 的思路。面向对象将应用问题分解成各个层次的对象,是从纵向 考虑系统,而a o p 将应用问题分解成各个方面或者说关注点,是从横向考虑系 统,a o p 可以模块化诸如日志记录、事务管理等这些横切多个对象的关注点。 s p r i n ga o p 实现是s p r i n g 框架的重要组成部分,它实现了a o p 联盟约定的 接口。其实现是方法级的关注点。s p r i n ga o p 能够拦截到方法级的操作。通过 b e f o r e 装备( b e f o r e a d v i c e ) 、a f t e r 装备( a f t e r a d v i c e ) 、t h r o w s 装备 ( t h r o w s a d v i c e ) ,s p r i n g a o p 能够实现在执行目标操作之前、之后和抛出异常 时执行预定的装备。 ( 3 ) s p r i n g 上下文 上下文模块( a p p l i c a t i o n c o n t e x t ) 直接位于核心模块之上,该模块提供了 透明地装载上下文的功能,图3 2 是a p p l i c a t i o n c o n t e x t 接口及实现。另外,上 下文模块还提供了用于资源绑定、事件移植、资源装载等功能,这样显著地简 化了开发w e b 应用和j 2 e e 应用的步骤。 图3 - 2 a p p l i c a t i o n c o n t e x t 接1 2 及实现 ( 4 ) s p r i n gw e b 提供面向w e b 应用初步集成的功能。例如c o n t e x t l o a d e r s e r v l e t 和 c o n t e x t l o a d e r l i s t e n e r 就是w e b 模块提供的。当同s t r u t s 、j s f 等框架集成时, 1 2 第3 章基丁= j 2 e e 的轻量级框架研究 需要使用到w e b 模块。 ( 5 ) s p r i n g 数据访问对象( d a o ) s p r i n g 提供了j d b c 抽象层,使开发者不用再去编写同r d b m s 交互、非业 务功能的j d b c 代码。而且d a o 模块还能分析r d b m s 厂商专有的s q l 错误代 码。最常用的d a o 抽象包括h i b e r n a t ed a o 和i b a t i ss q lm a p s 。 ( 6 ) s p r i n go r m s p r i n g 为当前流行的o rm a p p i n g 技术提供集成。例如h i b e r n a t e 、j d o 、 i b a t i s 。借助于s p r i n g 框架提供的简单事务声明,开发者能够很容易实现对o r m a p p i n g 中操作的事务控制。 ( 7 ) s p r i n gw e bm v c 和s t r u t s 一样,s p r i n g 也提供了一套m v c 模式的实现,该实现遵守m v c 框架,清晰地划分了w e b

温馨提示

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

评论

0/150

提交评论