(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf_第1页
(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf_第2页
(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf_第3页
(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf_第4页
(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf_第5页
已阅读5页,还剩81页未读 继续免费阅读

(计算机应用技术专业论文)轻量级架构及其安全控制的研究及其应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 伴随着网络技术的迅猛发展,基于网络的企业级应用系统的开发与应用日益普及。 随着系统规模的日益扩大,系统的数据安全越来越受到企业的重视。为此,人们设计了 各种各样的权限管理模型,以确保只有被授权的用户才能访问某此敏感的数据和信息。 s p r i n g 是一个强大而灵活的轻量级w e b 框架,能和其他一些开源框架进行无缝的 结合。但现有的s p r i n g 框架本身没有提供安全相关的解决方案。同样来自于o p e ns o u r c e 社区的a c e g i 安全框架为实现基于s p r i n g 框架的w e b 应用的安全控制提供了个很好的 解决方案。 普通企业级应用系统中,权限不是很复杂,角色仅有几种,仅仅把权限信息在x m l 配置文件中配置一下,a c e g i 安全框架就会根据角色分配权限。然而,在大规模企业级 应用系统中,权限有几十种甚至上百种,而且需求是经常发生变化的。所以,在配置文 件中配置是满足不了实际应用需求的。由于a c e g i 本身对权限表的设计非常简单,无法 适用复杂的权限需求。因此本人改进了a c e g i 安全框架。 本文主要是研究改进a c e g i 安全框架机制并加入到构建的轻量级的架构中,主要工 作有以下几点: ( 1 ) 改进a c e g i 安全框架,改进后的框架能满足权限复杂多变的企业应用的需求。 多个系统可以采用同一套用户认证与授权机制完成访问控制。 ( 2 ) 重用性。使得改进后的a c e g i 安全框架具有通用性。 ( 3 ) 可扩展性。企业级用户可以根据自己的需求来扩展改进后的a c e g i 框架。适应 未来企业级安全框架的一个发展方向。 ( 4 ) 以s p r i n g 为业务核心,向上整合s t r u t s ,向下整合h i b e r n a t e 。同时加入改进后 的a c e g i 安全框架。构建轻量级架构。 ( 5 ) 详细分析了“在线航空订票系统”的具体业务和功能需求,利用扩展与整合后 的带有安全控制机制的轻量级架构进行系统开发,设计开发一个具有五层体系结构、松 耦合的、易于移植和可扩展的“在线航空订票系统”。 关键词:认证;授权;a c e g i 人连交通大学t 学硕十学位论文 a b s t r a c t a l o n gw i t ht h er a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y t h ed e v e l o p i n go fw e b - b a s e d e n t e r p r i s ea p p l i c a t i o ns y s t e m sb e c o m ep o p u l a r w i t ht h eg r o w i n gs c a l eo ft h es y s t e m ,t h e s y s t e mo fd a t as e c u r i t yi sr e c e i v i n gg r e a t l ya t t e n t i o n s o ,s o f t w a r ee n g i n e e r sh a v ed e s i g n e d v a r i o u sa u t h o r i t ym a n a g e m e n tm o d e lt oe n s u r et h a to n l ya u t h o r i z e du s e r sc a na c c e s sc e r t a i n s e n s i t i v ed a t aa n di n f o r m a t i o n s p r i n gi sap o w e r f u la n df l e x i b l el i g h t w e i g h tw e bf r a m e w o r k i tc a nc o m b i n ew i t ha n u m b e ro fo t h e ro p e n - s o u r c ef r a m e w o r kc l o s e l y h o w e v e r ,t h ee x i s t i n gs p r i n gf r a m e w o r k d o e sn o tp r o v i d es e c u r i t y r e l a t e ds o l u t i o n s t h ea c e g is e c u r i t yf r a m ef r o mt h eo p e ns o u r c e c o m m u n i t yp r o v i d e sag o o ds o l u t i o nf o rs a f e t yc o n t r o lo ft h es p r i n g b a s e dw e ba p p l i c a t i o n s y s t e m s i nt h ec o m m o n e n t e r p r i s ea p p l i c a t i o n s ,t h ea u t h o r i t yi sn o tv e r yc o m p l i c a t e da n do n l ya f e wr o l e s ,o n l ya f t e rc o n f i g u r i n gt h ea u t h o r i t yi n f o r m a t i o ni nt h ex m l c o n f i g u r a t i o nf i l e ,t h e a c e g is e c u r i t yf r a m ew i l l a l l o c a t er i g h t sb a s e do nt h er o l e h o w e v e r ,i nt h el a r g e s c a l e e n t e r p r i s ea p p l i c a t i o n s ,t h ea u t h o r i t ys p e c i e sa r ed o z e n so re v e nh u n d r e d so fk i n d sa n d d e m a n di sa l w a y sc h a n g i n g t h e r e f o r e ,t h ec o n f i g u r a t i o nw o r ki nt h ec o n f i g u r a t i o nf i l ei sn o t m e e tt h er e a ld e m a n d b e c a u s eo ft h ea u t h o r i t yt a b l e si na c e g if r a m ea r es os i m p l et h a tt h e y a r en o ta p p l i c a b l et oc o m p l i c a t e da u t h o r i t yd e m a n d s o ,ii m p r o v et h ea c e g is e c u r i t yf r a m e t h i sa r t i c l ea i m st oi m p r o v et h ea c e g is e c u r i t yf r a m ea n dp u ti ti n t ot h el i g h t w e i g h t f r a m e ,t h em a j o rp o i n t sa l ef o l l o w i n g : ( 1 ) i m p r o v et h ea c e g is e c u r i t yf l a m e ,a n dt h ei m p r o v e df r a m e w o r kc a nm e e tt h ed e m a n d w h i c ha u t h o r i t yi sc o m p l i c a t e da n d c h a n g e a b l e an u m b e ro fs y s t e m sc a nu s eo n es e to fu s e r a u t h e n t i c a t i o na n da u t h o r i z a t i o nm e c h a n i s mt oc o n t r o lu s e r sa c c e s s ( 2 ) r e u s a b i l i t y t h ei m p r o v e da c e g is e c u r i t yf r a m ec a l lb ee a s i l yr e u s e di no t h e r s o f t w a r es y s t e m ( 3 ) e x p a n s i b i l i t y u s e r sc a ne x t e n dt h ei m p r o v e da c e g if r a m ea c c o r d i n gt ot h e i rd e m a n d , i ti sa l s om e e tt h et r e n do fe n t e r p r i s e l e v e ls e c u r i t y ( 4 ) s p r i n gf r a m ew o r k e da st h ec o r eo fb u s i n e s s ,a n di n t e g r a t e d 诵t 1 1t h es t r u t sf r a m ea n d h i b e r n a t ef r a m e j o i nt h ei m p r o v e da c e g if r a m et od e s i g nal i g h t w e i g h tf r a m e ( 5 ) d e t a i l e da n a l y s i so ft h es p e c i f i cb u s i n e s sa n df u n c t i o n sn e e d so ft h e ”a i r - l i n eb o o k i n g s y s t e m ”,u s i n gt h ee x t e n d e da n di n t e g r a t e df r a m e w o r kt od e v e l o ps o f t w a r es y s t e m , p r o g r a m m i n ga n dd e v e l o p i n g ”a i r - l i n eb o o k i n gs y s t e m ”晰mf i v el a y e r s ,l o o s ec o u p l i n g ,e a s y t or e p l a n ta n de x t e n d k e yw o r d s :a u t h e n t i c a t i o n ;a u t h o r i z a t i o n ;a c e g i i i 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太整銮通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太蔓銮通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太蔓銮通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太蔓交通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名矸盈匍 日期:2 卯宫年r 月,乡日 学位论文作者毕业后去向: 工作单位: 通讯地址: 电子信箱: 导师签名:取辜军爻 日期:幻8 年i 月8 日 电话: 邮编: 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太蔓交通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 - - 学- , f , j :- 沦- t 懈名:研z 印 日期:z 卯寥年月日 绪论 绪论 一、研究背景 计算机软件发展到今天,从个人辅助办公软件到管理信息系统( m a n a g e m e n t i n f o r m a t i o ns y s t e m ,m i s ) 再到大规模的企业级应用,软件对企业业务的支持方式在不断地 进步,这种进步总体上呈现出从局部到整体、从静态到动态、从执行到决策、从数据管 理到智能分析的态势。为了适应这种进步企业应用软件的功能越来越丰富、规模越来 越庞大、结构越来越复杂这些都对构造和应用企业应用软件的工程方法也提出了越来 越高的要求同时软件架构设计是降低成本,改进质量,按时交付产品和按需交付产品 的关键因素。 软件架构是软件系统一个高层次的结构体现,显示了系统分解后组件的布局和组件 之间的关系。软件界已经把解决软件设计问题的出路寄托在从宏观的层面把握和控制软 件的复杂性的方法上这就是反映软件总体结构和关系的 软件架构( s o f t w a r e a r c h i t e c t u r e ) ”。软件架构的合理设计有助于全面提高软件的质量。因此。研究企业级应 用软件的架构设计和实现方法对提高中国企业应用软件的质量和开发水平进而提高 企业信息化水平和管理水平,具有重要的理论价值和现实意义。 企业应用软件架构在应用软件构成方式上基于一种层次的划分其中软件开发人员 所关注的功能属于企业级的、较为基础的、较通用的功能,它们被设计为集中在软件架 构的内部实现它们并不直接提供特定的业务功能但却在企业级语境下保持一致并能被 各项特定的业务功能构件所重用。它们一般在使用前需要经过较严格的测试和评估并 在使用后处于一种相对稳定且较少更改的状态。这些通用的、基础性的功能通常被以构 件的形式进行开发并部署到企业级应用架构中运行可以将这些软件构件称为业务无关 构件。 二、技术现状与发展趋势 随着软件系统规模越来越大、越来越复杂,使软件系统的架构越来越重要。软件危 机的程度日益加剧,现有的软件工程方法对此显得力不从心。对于大规模的复杂软件系 统来说,软件体系架构比起对程序的算法和数据结构的选择已经变得重要得多。在此种 背景下,软件体系架构的重要性便逐渐的被人们认识,并认为对软件体系架构系统、深 入的研究将会成为提高软件生产效率和解决软件危机的最有希望的途径。这时国内外对 软件体系架构的研究也就层出不穷,如r a t i n o a l 公司提出了“以架构为中心的统一软 件开发过程( r u p ) 。 s u n 公司的j 2 e e ( j a v a2p l a t f o 咖e n t e r p r i s ee d i t i o n ) 定义了开发和运行企业级w e b 应 用的标准,它可以用于开发大型的、多层次的以及分布式的企业级w e b 应用。采用j 2 e e 技术可以简化构建企业级应用的复杂度,同时可以提高应用系统的扩展性和可维护性。 由于j 2 e e 本身的显著特点,目前,j z e e 技术已经成为企业级应用的首选平台,基于j z e e 技术构建的软件系统越来越多。j z e e 技术的出现给电子商务时代的w e b 应用程序的开 发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的 稳定架构在项目的开发中具有重要的意义。当前己经出现了很多基于j z e e 的现成的架 构,如j z e e 前端的框架s p r i n g 、s t r u t s 、w e b w o r k z 、w a f 等等,再者如基于o m r 的 j z e e 持续层架构,如e m i t y b e a n 、j d o 、h i b e m a t e 、i b a t i s 、a p a c h e o j b 等等,如何将这 些技术结合应用到企业级系统开发中去,构建出一个稳定、健壮而且易于扩展的系统呢? 这是一个很有研究意义的主题,当前国内这方面的研究比较少,尤其对于新出现的优秀 j z e e 前端框架w e b w o k r z 就更少,应用就更是凤毛鳞角。 s p r i n g 框架是由o p e ns o u r c e 开发的一个优秀的多层j 2 e e 系统框架。为了提供验证 和授权的功能,s p r i n g 专门通过a c e g i 安全框架来实现应用的安全。 a c e g i 具有丰富的认证模块,这是它被广泛使用的原因。最终用户需要的认证大多 可以迅速地集成到他们的系统中。a c e g i 的优点还在于它是一个开放的系统,最终用户 可以根据自己的需要定制安全认证机制。 三、预期的研究成果和创新点 ( 1 ) 本课题预期的研究成果包括: 改进a c e g i 安全框架。 整合s p r i n g 、s t r u t s 、h i b e r n a t e 框架,同时加入改进后的a c e g i 安全框架。基于 m v c 设计模式构建一个灵活、松散耦合、扩展性强且高效的w e b 开发框架。 基于上述开发框架开发一个安全、高效、易维护、可靠的“在线航空订票系统 “ o ( 2 ) 课题创新点: 本文主要是研究对s p r i n g 框架的扩展与整合,主要工作有以下几点: ( 1 ) 改进a c e g i 安全框架,改进后的框架能满足权限复杂多变的企业应用的需求。 多个系统可以采用同一套用户认证与授权机制完成访问控制。 ( 2 ) 重用性。使得改进后的a c e g i 安全框架具有通用性。 ( 3 ) 可扩展性。企业级用户可以根据自己的需求来扩展改进后的a c e g i 框架。适应 未来企业级安全框架的一个发展方向。 2 绪论 ( 4 ) 以s p r i n g 为业务核心,向上整合s t r u t s ,向下整合h i b e r n a t e 。同时加入改进后 的a c e g i 安全框架。构建轻量级架构。 ( 5 ) 详细分析了“在线航空订票系统”的具体业务和功能需求,利用扩展与整合后 的带有安全控制机制的轻量级架构进行系统开发,设计开发一个具有五层体系结构、松 耦合的、易于移植和可扩展的“在线航空订票系统”。 四、本文的主要内容及组织结构 本论文共分为6 部分,组织结构如下: 首先是绪论。简要的介绍了课题的研究背景,当前的技术现状和以后的发展趋势。 分析当前一些软件系统存在的主要缺点,并介绍了课题的意义以及论文的组织。 第一章,讨论了j 2 e e 的体系结构和核心技术。最后还介绍了企业级应用软件系统 的特点和企业的安全需求。这些对于设计用来构建复杂w e b 应用系统的w e b 应用框架 具有很好的指导意义。 第二章,介绍了软件设计模式和j 2 e e 安全机制,并分析了当今比较流行的三大开 源框架s t r u t s 、s p r i n g 、h i b e r n a t e 及其特性。在指出j 2 e e 安全机制有诸多优点的同时看 到它的应用局限性。 第三章,在前面两章对各种框架研究的基础上,介绍了改进a c e g i 安全框架的必要 和改进a c e g i 安全框架。同时给出s s h 的基本扩展方案,详细阐述了整合s t r u t s 框架、 整合持久化框架h i b e r n a t e 、集成和配置日志包的实现过程和技术要点。最后讲述了改进 a c e g i 安全框架的细节。 第四章,利用整合后的多权限控制的轻量级架构,实现在线航空订票管理系统。 最后为结论。总结本文的主要工作与成果,并分析所做工作的缺点和不足,以及对 以后工作的展望。 1 1j 2 e e 技术 第一章j 2 e e 平台体系结构分析 1 1 1j 2 e e 技术简介 j 2 e e 是一套全然不同于传统应用开发的技术架构,它提供了一个多层次的分布式 应用模型和一系列开发技术规范,多层次分布式应用模型是根据功能把应用逻辑分成多 个层次,每个层次支持相应的服务器和组件【l 】。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 2 e e 架构的应用系统,基本上可部署在不同的应用服务器之上, 无需或者只须要进行少量的代码修改,即能大幅提高应用系统的可移植。i 生( p o r t a b i l i t y ) 。 j 2 e e 主由升阳与i b m 等厂商协同业界共同拟定而成的技术规范,以企业与企业之 间的运算为导向的j a v a 开发环境。j 2 e e 共有3 类组件,分别是客户端组件、w e b 层 组件和业务层组件【2 】。各类组件可以重用,让己开发完成的组件,或者是经由市面采购 而得的组件,均能进一步组装成不同的系统。对于开发人员而言,只需要专注于各种应 用系统的商业逻辑与架构设计,至于底层繁琐的程序撰写工作,可搭配不同的开发平台, 以让应用系统的开发与部署效率大幅提升。s u n 公司联合了多家业界巨头,在开放的j a v a 社区组织名义下,把所有与企业开发相关的标准、a p i 整合起来,构成了j 2 e e 平台【3 j 。 j 2 e e 的核心规范是e n t e r p r i s ej a v ab e a n s ( e j b s ) 。e j b 定义了可复用的、可移植的 j a v a 分布式事务组件的设计和发布f 4 】。e j b 依照特性的不同,目前共分为三种,分别是 s e s s i o nb e a n 、e n t i t yb e a n ,以及m e s s a g ed r i v e nb e a n t 引。其中s e s s i o nb e a n 与e n t i t y b e a n 算是e j b 的始祖,这两种e j b 规格在e i b1 x 版本推出时就已经存在,而m e s s a g e d r i v e nb e a n 则是出现在e j b2 0 的规格之中。 从整体上讲,j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标准( s u n 公司出于其自身利益的考虑,至今没有将j a v a 及其相关技术纳入标准化组织的体系) , 它是j a v a 技术不断适应和促进企业级应用过程中的产物。s u n 推出j 2 e e 的目的是为了 克服传统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 架构的潮流,为应用j a v a 技术 开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企 业级平台,从而简化企业应用的开发、管理和部署。j 2 e e 是一个标准,而不是一个现 4 第一章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 2 e e 技术开发的企业级应用可以部署在各种j 2 e e 应用服务器上。 为了推广并规范化使用j 2 e e 架构企业级应用的体系架构,s u n 同时给出了个建 议性的j 2 e e 应用设计模型:j 2 e eb l u e p r i n t s 。j 2 e eb l u e p r i n t s 提供了实施j 2 e e 企业级 应用的体系架构、设计模式和相关的代码,通过应用j 2 e eb l u e p r i n t s 所描述的体系模型, 能够部分简化架构企业级应用这项复杂的工作。j 2 e eb l u e p r i n t s 是开发人员设计和优化 j 2 e e 组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助 应用开发设计人员合理地分配技术资源。 j 2 e e 组成了一个完整企业级应用所需要的不同的容器( c o n t a i n e r ) ,每个容器中都包 含若干组件( 这些组件是需要部署在相应容器中的) ,同时各种组件都能使用各种j 2 e e s e r v i c e a p i 。通过以下这四个容器,j 2 e e 能够灵活地实现企业级应用的架构。 j 2 e e 容器包括: ( 1 ) 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 容器中的组件完成复杂的商务逻辑。 ( 2 ) e j b 容器服务器端容器,包含的组件为e j b ( e m e r p r i s ej a v a b e a n s ) ,它是j 2 e e 的核心之一,主要用于服务器端的商业逻辑的实现。e j b 规范定义了一个开发和部署分 布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植 性、分布式事务处理、多用户和安全性等。 ( 3 ) a p p l e t 容器客户端容器,包含的组件为a p p l e t 。a p p l e t 是嵌在浏览器中的一种 轻量级客户端,一般而言,仅当使用w e b 页面无法充分地表现数据或应用界面的时候, 才使用它。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 ,这是为了安全性的考虑。 ( 4 ) 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 n c 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 。 1 1 2j 2 e e 技术优越性 j 2 e e 典型的体系结构分为三层结构:标准模型由客户层、中间层和企业信息系统 ( e i s ) 层组成,也有说法将其中间层继续细分为:w e b 层和业务层,这样就组成一个典 型j 2 e e 四层体系结构,这是j 2 e ew e b 开发最常用的一种系统架构。然而在这种四层 的体系结构上,系统是通过业务层直接操作持久化数据,直接访问数据库,这样,对于 以数据维护和数据处理为中心的大型w e b 应用开发显然是不合适的。因为,这样做的 结果势必会将业务逻辑和数据库操作代码混合在一起,而这种开发方式,不利于构建一 个松耦合的、易于移植和可扩展的应用程序。因此,有必要在系统的设计阶段就考虑设 计一个相对独立的持久化层,而系统应用中的业务逻辑实现模块则通过这个持久化层间 接访问数据库。这样便构成了一个经典的基于m v c 模式的五层b s 系统架构。而这种 五层的分层架构有利于构建一个松耦合的、易于移植和可扩展的应用程序。 j 2 e e 技术优越性如下: ( 1 ) 基于j a v a 技术,平台无关性表现突出 ( 2 ) 开放的标准,许多大型公司已经实现了对该规范支持的应用服务器。如 b e a ,i b m ,o r a c l e 等。 ( 3 ) 提供相当专业的通用软件服务。 ( 4 ) 提供了一个优秀的企业级应用程序框架,对快速高质量开发打下基础 1 2j 2 e e 体系结构 1 2 1j 2 e e 的容器结构 所有的j 2 e e 组件都需要一个容器c o n t a i n e r 来提供其运行时环境。此环境可以提供 如组件的生命周期管理、安全、多线程以及实例池之类的服纠6 1 。 j 2 e e 平台由四种容器组成的编程环境组成: ( 1 ) e j b 容器,它管理所有j 2 e e 应用程序中企业级b e a n 的执行。e n t e r p r i s eb e a n 和 它们的容器运行在j 2 e e 服务器上。 ( 2 ) w e b 容器,它管理所有j 2 e e 应用程序中j s p 页面和s e r v l e t 组件的执行。w e b 组 件和它们的容器运行在j 2 e e 服务器上。 ( 3 ) 应用程序客户端容器,它管理所有j 2 e e 应用程序中应用程序客户端组件的执 行。应用程序客户端和它们的容器运行在j 2 e e 服务器上。 ( 4 ) a p p l e t 容器,它是运行在客户端机器上的w e b 浏览器和j a v a 插件的结合。对 快速高质量开发打下基础。 以下是j 2 e e 容器结构图: 6 第一章j 2 e e 平台体系结构分析 图1 1j 2 e e 容器结构 f i g 1 1j 2 e ec o n t a i n e rs t r u c t u r e 1 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 ) 的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这 种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且 经常基于某种专有的协议dd 通常是某种数据库协议。它使得重用业务逻辑和界面逻 辑非常困难。现在j 2 e e 的多层企业级应用模型将两层化模型中的不同层面切分成许多 层。一个多层化应用能够为不同的每种服务提供一个独立的层。以下是j 2 e e 典型的四 层结构: ( 1 ) 客户层组件 客户层组件运行在客户端机器上。j 2 e e 应用程序是由组件构成的。j 2 e e 组件是具 有独立功能的软件单元,它们通过相关的类和文件组装成j 2 e e 应用程序,并与其他组 件交互。j 2 e e 应用程序可以是基于w e b 方式的,也可以是基于传统方式的。应用客户 端程序和a p p l e t s 是客户层组件。 ( 2 ) w e b 层组件 w e b 层组件运行在j 2 e e 服务器上。j 2 e ew e b 层组件可以是j s p 页面或s e r v l e t s 。 按照j 2 e e 规范,静态的h t m l 页面和a p p l e t s 不算是w e b 层组件。正如下图所示的客 7 户层那样,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 珑 碰瘸楼序1 j 2 e e 成瘸程序2 圈| 芸石。萋 | 祥户蝤 l 。o 乙。 1 嬲嬲焉,嚣鼍嬲朔! # 唬ll 麓l 鄹薯l 嘲l l 嬲嬲缵糟朔嬲糍糍鼎渊 1 ; 删 圈圈 鬻产司矬 图1 2j 2 e e 的四层结构 f i g 1 2j 2 e ef o u r - s t o r ys t r u c t u r e j 2 e e 歉务器 数摆露 缀务器 ( 3 ) 业务层组件 业务层组件运行在j 2 e e 服务器上。业务层代码的逻辑用来满足银行,零售,金融 等特殊商务领域的需要,由运行在业务层上的e n t e r p r i s eb e a n 进行处理。下图表明了一 个e n t e r p r i s eb e a n 是如何从客户端程序接收数据,进行处理( 如果必要的话) ,并发送到 e i s 层储存的,这个过程也可以逆向进行。 | e b 堪 w e b 测赞辫 w e b 戮藤,a p p l e t 翻霹选昀 j a v a l l e a a 类 应用程序辔户端 和可选昀 j a v a b e a n 类 j s p 夏褥 s e r v l e t 。j a v 柏e a n 筑 磁渤 业务层 嚣珑缀务器 图1 3j 2 e e w e b 层组件 f i g 1 3j 2 e ew e bl a y e rc o m p o n e m s 8 a b 绕 黼 蚴 第一章j 2 e e 平台体系结构分析 企业级的b e a n 有三种:会话( s e s s i o n ) b e a n s ,实体( e n t i t y ) b e a n s ,和消息驱动 ( m e s s a g e d r i v e n ) b e a n s 。会话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 消息。 鬻曲溯夔嚣 f e b 疑顽,a p p l e ! 和可选的 j a v a - b e a n 樊 成婚程序客户鞴 翻磁选的 a v a b e a n 照务臻e i s 瑟 j 辨夏蹶 s e r v l e t 垃v 礁b e 氇琏 樊 蛭邈 乏哦知蟊翰伪 5 诸:f s b 玎孙a n 葛 籍缸瞧为玉o e 蕊i 婚n 舀o a 孵 数据簿 翔 敝宥 系统 j 2 珑殿务器 图1 4j 2 e e 业务层组件 f i g 1 4j 2 e eb u s i n e s sl a y e rc o m p o n e n t s ( 4 ) 企业信息系统层 企业信息系统层软件运行在e i s 服务器上。企业信息系统层处理企业信息系统软件 包括企业基础建设系统,例如企业资源计翅j ( e r p ) ,大型机事务处理,数据库系统,和 其它的遗留信息系统,例如j 2 e e 应用组件可能为了数据库连接需要访问企业信息系统。 1 2 3j 2 e e 的核心 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成,它对开发基于 w e b 的多层应用提供了功能支持,下面对j 2 e e 中的1 3 种技术规范: ( 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 c3 0 由两个包组成:j a v a s q l 包和 j a v a x s q l 包。j a v a s q l 包提供了j a v a 语言访问处理存储在一个数据源上的数据的a p i 。 j a v a x s q l 包是j a v a s q l 包的补充,提供了服务器端数据源访问和处理的j a v a 语言的a p i 【7 】。 j d b c 是j a v a 语言进行数据库访问的标准扩展,为j a v a 程序员提供了访问关系型数据库 的标准a p i 瞵j 。j d b ca p i 为访问不同的数据库提供了一种统一的途径,象o d b c 一样, j d b c 对开发者屏蔽了一些细节问题,另外,j d c b 对数据库的访问也具有平台无关性。 9 ( 2 ) 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 ) :j n d ia p i 被用于执行名字和目录服务。 它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p ,本地文件系统,或 应用服务器中的对象。 ( 3 1 ) e j b ( e n t e r p r i s ej a v a b e a n ) :j 2 e e 技术之所以赢得某体广泛重视的原因之一就是 e j b 。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可 伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时如何与它们的 容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资 源缓冲池以及容错性。但这里值得注意的是,e j b 并不是实现j 2 e e 的唯一途径。正是 由于j 2 e e 的开放性,使得有的厂商能够以一种和e j b 平行的方式来达到同样的目的。 ( 4 ) r m i ( r e m o t em e t h o di n v o k e ) :正如其名字所表示的那样,r m i 协议调用远程对 象上方法。它使用了序列化方式在客户端和服务器端传递数据。r _ m i 是一种被e j b 使 用的更底层的协议。如r m i i n t e m e ti n t e r o r b p r o t o c o l ( r m i i i o p ) 技术支持o m g 映射, 支持与c o r b a 和其它非j a v a 环境远程过程调用方法的兼容一j 。 ( 5 ) j a v ai d l c o r b a :在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成 在一起。他们可以创建j a v a 对象并使之可在c o r b ao r b 中展开,或者他们还可以创 建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的客户。后一种方法提供了另外 一种途径,通过它j a v a 可以被用于将你的新的应用和旧的系统相集成。 ( 6 ) j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所组成。 服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然后将生成的h t m l 页 面返回给客户端的浏览器【l 。 ( 7 ) j a v as e r v l e t :s e r v l e t 是一种小型的j a v a 程序,它扩展了w e b 服务器的功能。作 为一种服务器端的应用,当被请求时开始执行,这和c g ip e r l 脚本很相似。s e r v l e t 提供 的功能大多与j s p 类似,不过实现的方式不同。j s p 通常是大多数h t m l 代码中嵌入少 量的j a v a 代码,而s e r v l e t s 全部由j a v a 写成并且生成h t m l 。s e r v l e t 尤其适合创建动态 的w e b 页面【1 1 1 。 ( 8 ) 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 ) :x m l 是一种可以用来定义其它标记语言的 语言。它被用来在不同的商务过程中共享数据。x m l 的发展和j a v a 是相互独立的,但 是,它和j a v a 具有的相同目标正是平台独立性。通过将j a v a 和x m l 的组合,您可以得 到一个完美的具有平台独立性的解决方案。 ( 9 ) j m s ( j a v am e s s a g es e r v i c e ) :m s 是用于和面向消息的中间件相互通信的应用程 序接口( a p i ) 。它既支持点对点的域,有支持发布i t i ) 习( p u b l i s h s u b s c r i b e ) 类型的域,并且 提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持 久性的订阅者支持。j m s 还提供了另一种方式来对您的应用与旧的后台系统相集成。 l o 第一章j 2 e e 平台体系结构分析 ( 1 0 ) j t a ( j a v at r a n s a c t i o na r c h i t e c t u r e ) :j t a 定义了一种标准的a p i ,应用系统由此 可以访问各种事务监控。 ( 11 ) j t s ( j a v at r a n s a c t i o ns e r v i c e ) :j t s 是c o r b ao t s 事务监控的基本的实现。j t s 规定了事务管理器的实现方式。该事务管理器是在高层支持j a v at r a n s a c t i o na p i ( j t a ) 规范,并且在较底层实现o m go t ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务管理器为应用 服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。 ( 1 2 ) j a v a m a i l :j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件服务器 的抽象类。不仅支持s m t p 服

温馨提示

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

评论

0/150

提交评论