




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)基于ejb组件模型的平台架构改进研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学硕士研究生论文 摘要 作为一种分布式企业级应用系统的开发平台,j 2 e e 以其多种使用方便的标 准化组件式服务一度在业界倍受推崇。作为一个整体,j 2 e e 无疑取得了巨大成 功。但作为j 2 e e 重要组成部分的e j l 3 组件模型却饱受非议:如e j b 模型的侵入 性太强、实体b e a n 技术表现不尽如人意等。正是由于e j b 组件模型自身存在的 先天性不足,使得在基于传统j 2 e e 架构技术开发企业级应用的过程中几乎总是 不可避免的出现。过度工程”。 与此同时,基于j 2 e e 的轻量级框架技术正在快速发展。轻量级框架技术是 一种比传统架构技术更加简单、而又不失强大的企业级应用架构技术。这些框架 技术采用了一些先进的设计思想:如使用更加简约的p o j o 组件替代实体b e a n 、 更加灵活的组件装配机制替代e j b 的容器代码生成机制等。在很多应用领域均有 出色的表现。 然而,现有的轻量级框架技术还远未成熟到能完全取代e j b 的程度。毕竟 e j b 在组件分布技术以及系统的完整性方面有着不可比拟的优势,这些优势也令 其一直坚守着相当的市场份额。于是,如何改进基于e j n 组件模型的j 2 e e 平台 架构技术,使其兼备轻量级框架技术的众多优点,成为目前国内外相关领域探索 和研究的热点。 本文在研究和分析基于e j b 组件模型的平台架构的基础上,借鉴了当前流行 的轻量级容器架构的设计思想,使用a o p 、i o c 等技术改造现有的e j b 组件模型, 进而在该组件模型的基础上提出了j 2 e e 架构的改进方案,并给出基本实现。经 实际项目验证,改进后的架构技术在易用性、可扩展性等指标上均有明显的提升。 具体工作和主要内容如下: 1 ) 深入研究j 2 e e 架构的各组成部分的工作原理和运行机制; 2 ) 对现行的e j b 组件模型进行深入的研究,探索现有e j b 组件模型不足之 处的深层次原因: 3 ) 深入研究现有的各种轻量级框架的工作原理; 4 ) 基于传统的e j b 组件模型分别在组件装配技术、声明式事务管理、持久 化技术三方面提出了平台架构的改进方案,并基本实现; 5 ) 在实际项目开发中,使用基于改进后的e j 8 组件模型取代基于传统的e j b 组件模型的架构技术,取得良好效果,开发效率提高。 关键词:e j b ,j 2 e e ,组件模型,a o p ,i o c ,轻量级容器 江苏大学硕士研究生论文 a b s t r a c t a sad e v e l o p m e n tp l a t f o r mo ft h ed i s t r i b u t e de n t e r p r i s ea p p l i c a t i o n , j 2 e ew a s t h em o s tp o p u l a r 埘1t h ei n d u s t r yd u et ok i n d so fs t a n d a r dc o m p o n e n t sw h i c ha r c c o n v e n i e n t ,j 2 e ea saw h o l eh a sb e e ng r e a ts u c c e s s f u lb e y o n da l ld o u b t ,w h i l ee j b t h ec o m p o n e n tm o d e lo fj 2 e e ,s u f f e r sf r o ma r g u m e n t se x t r e m e l y , s u c ha si t ss t r o n g i n v a s i o na n de n t i t yb e a n su n s a t i s f i e dp e r f o r m a n c e ,e t e i ti st h ed e f i c i e n c yo fe j b c o m p o n e n tm o d e l ,t h e r e f o r e ,o v e r - e n g i n e e r i n g i n e v i t a b l yo c c u r r e di nt h ep r o c e s so f e n t e r p r i s ea p p l i c a t i o nd e v e l o p m e n tb a s e do nt r a d i t i o n a lj 2 e ea r c h i t e c t u r e m e a n w h i l e ,s o m ej 2 e e - b a s e dl i g h t - w e i g h tf r a m e w o r k sa r ed e v e l o p i n gr a p i d l y , w h i c ha r em o r ee a s y - t o - u w i t h o u tl o s i n gp o w e r a d o p t i n gl e a d i n gd e s i g nt h o u g h t s s u c ha st h em o r ec o n c i s ep o j oc o m p o n e n tt or e p l a c ee n t i t yb e a n , t h em o r ef l e x i b l e a s s e m b l ym e c h a n i s mt or e p l a c ec o d e g e n e r a t i n gm e c h a n i s m ,e t c t h e yh a v eb e e n s u c c e s s f u li nv a r i o u sf i e l d si n s t e a do f e j b t h ee x i s t i n gl i g h t - w e i g h tf r a m e w o r k s h o w e v e r , a r ef a rf r o mr e p l a c i n ge j bf u l l y w i t ht h ed o m i n a n c eo fs y s t e md i s t r i b u t a b i l i t ya n dc o m p l e t e n e s s ,e j bh a v eb e e n h o l d i n gac o n s i d e r a b l em a r k e ts h a r e s oh o w t oi m p r o v eu a d i f i o n a le j b - b a s e dj 2 e e a r c h i t e c m r et ot a k eo nt h ea d v a n t a g e so fv a r i o u sl i g h t - w e i g h tf r a m e w o r k si sb e c o m i n g a h o t t o p i c u s i n gp o p u l a rl i g h t w e i g h tc o n t a i n e rf o rr e f e r e n c e ,a n db a s e do nt h ea n a l y s i so f e j ba r c h i t e c t u r e ,t h i sd i s s e r t a t i o nt a k e ss o m en e w t e c h n o l o g y ,s u c ha sa o p a n di o c , t oi m p r o v et h ee x i s t i n ge j bc o m p o n e n tm o d e l f u r t h e r m o r e ,a l li m p r o v i n gs c h e m ei s p r o p o s e d a n dh a sb e e ni m p l e m e n t e dp r i m a r i l y n l ei m p r o v e da r c h i t e c t u r ei sa p p l i e d t oar e a lp r o j e c t , w h i c hs h o w sa ne v i d e n te n h a n c e m e n to ns e v e r a la s p e c t so fs y s t e m s u c ha su s a b i l i t ya n de x t e n d a b i l i t y t h er e l a t i v ew o r k sa r el i s t e da sf o l l o w s : 1 1a n a l y s i so nt h er u n n i n gm e c h a n i s mo f j 2 e ea r c h i t e c t u r e ; 2 ) s t u d y i n go nt h ee j bc o m p o n e n tm o d e lt of r e do u ts o m ed e f i c i e n c ya n di t s r e a s o n s ; 3 ) l e a r n i n gt h ep r i n c i p l eo f e x i s t i n gl i g h t - w e i g h tf r a m e w o r k s ; 4 1 r e p r e s e n t i n ga ni m p r o v i n gs c h e m eb a s e do nt h r e ea s p e c t so fe j bc o m p o n e n t m o d e l :c o m p o n e n ta s s e m b l y ,d e c l a r a t i v e t r a n s a c t i o nm a n a g e m e n ta n d p e r s i s t e n tl a y e rm a n a g e m e n t ,a n di m p l e m e n t i n gt h e mp r i m a r i l y ; 5 ) a p p l y i n gt h ei m p o v e da r c h i t e c t u r e i n t oar e a l p r o j e c ta n dm a k i n ga c o m p a r i s o nw i t ht h e 仃a d i t i o n a lj 2 e ea r c h i t e c t u r e k e y w o r d s :j 2 e e ,e j b ,c o m p o n e n tm o d e l ,l i g h t w e i g h tc o n t a i n e r ,a o p ,i o c i i 江苏大擘硕士研究生论文 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文 的规定,同意学校保留并向国家有关部门或机构送交论文的 复印件和电子版,允许论文被查阅和借阅。本人授权江苏大 学可以将本学位论文的全部内容或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和 汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密盯。 学位论文作者虢纪詹弧指剥币签名炒彬彤 如哆年6 月i ie l 埘产6 月7 i e t 江苏大学硕士研究生论文 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已注明引用 的内容以外,本论文不包含任何其他个人或集体已经发表或 撰写过的作品成果。对本文的研究做出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的 法律结果由本人承担。 学位论文作者签名:;岳嬗b 日期:研年岛月7 日 u 江苏大学硕士研究生论文 1 1 研究背景 第一章绪论 随着面向对象技术的快速发展和j a v a 语言的广泛使用,作为一种分布式企 业应用系统的开发平台“1 ,j 2 e e 一度在业界倍受推崇0 1 。自诞生以来,j 2 e e 经历 了巨大的发展和改进,同时也将面临着竞争对手( 如n e t 框架、c o r b a ) 更加严 峻的考验。 j 2 e e 提供了多种使用方便的标准化组件式服务,正是这些服务给企业应用 系统开发者很大的方便。例如,j 2 e e 提供了命名和目录服务( j n d i ) 、为异构 的事务性资源提供标准事务管理接口( j t s 和j t a ) 、连接遗留系统的标准机制 ( j c a ) 、线程管理等。j 2 e e 成功的在从前没有标准的地方建立了标准,大大提 升了开发企业级应用系统的开放程度。 作为一个整体,j 2 e e 无疑取得了巨大成功。但作为j 2 e e 重要组成部分的e j b ( e n t e r p r i s ej a v a b e a n ) 技术自从发布以来却饱受非议0 1 :如e j b 组件模型的 侵入性太强:e j b 和r m i 之间的关系过于紧密:e j b 最善于实现的业务对象分布 的体系结构似乎没有多少普遍性;e j b 对于测试先行的新型开发方法支持不够; e j b 过度复杂,学习曲线很陡,使用e j b 的开发效率相对较低;实体b e a n 技术 表现不尽如人意等。 正是由于e 3 b 组件模型自身存在的先天性不足,使得在基于传统j 2 e e 架构 技术开发企业级应用的过程中几乎总是不可避免的出现“过度工程”“1 :过于复 杂的应用程序,令人失望的系统性能,难以测试、开发和维护成本高昂。 与此同时,基于j 2 e e 的轻量级框架技术正在快速发展。1 。轻量级框架技术 是一种比传统架构技术更加简单、而又不失强大的企业应用架构技术,这些框架 技术使用了面向方面编程( a o p ) 嘲和控制反转( 1 0 c ) 等技术,使用更加简约的 p o j o 组件替代实体b e a n 、更加灵活的组件装配机制替代e j b 的容器代码生成机 制“1 等,在很多应用领域均已成功的取代了e j b 组件模型。轻量级框架技术在易 用性上有很大的提高,尽量降低架构的复杂度是明智的,只为现实的需求提供支 持,不试图预先把所有问题都考虑进去。 然而,现有的轻量级框架技术还远未成熟到能完全取代e j b 的程度。毕竟 e j b 在组件分布技术以及系统的完整性方面有着不可比拟的优势,无状态会话 b e a n 和消息驱动b e a n ( m e s s a g e d r i v e nb e a nm d b ) 也得到开发者的广泛使用。 在力求简单的同时,有必要多留意系统架构的设计,以保证未来能对其进行重构, 使其能应对更加复杂的需求。拥有一个具有良好伸缩性的简单架构是至关重要的 ”1 。这也是本文所提出改进方案的最根本的出发点。 1 江苏大学硕士研究生论文 1 2 国内外研究现状 在j 2 e e 规范方面,j 2 e e 规范是由国际上最权威的j a v a 标准组织j c p ( j a v a c o m m u n i t yp r o c e s s ) 组织倡导制定的。j c p 是由s u n 公司牵头,联合业界多家 软件巨头( 包括i 删、o r a c l e 和b e a 等) 、众多研究机构及众多j a v a 技术研究 人员组成,旨在规范j a v a 技术标准,推动j a v a 技术发展的开放性国际组织。1 。 j 2 e e 规范自推出以来,受到了业界和学术界的广泛支持,获得了巨大成功。 最新版本j a v e e e5 更是在w e b 服务器和应用服务器互操作方面提出了更全面、 更严格的要求,从而引导了j a v a 技术、乃至中间件技术的新走向“。其核心架 构增加了一些增值服务并升级了一些原有服务规范。例如:对w e bs e r v i c e 的支 持( j a x r p c 、s 从j 、j m x r ) 、消息传递的完善( e j b 2 1 ) 部署和管理的增强( j m x 、 m g m t ) ,以及使w e b 应用开发交得更加容易( s e r v l e t 2 4 、j s p 2 0 ) 等。 在j 2 e e 服务器技术方面,i b m 公司一马当先,作为电子商务领域实力最为 雄厚的公司,提供出从应用到后台的一整套服务架构w e b s p h e r e ,以实现运行效 率的最大化,同时做到系统的最佳稳定性1 。另一业界领头的b e a 公司推出 w e b l o g i cs e r v e r 9 0 ,通过交付高可靠性的、永不宕机的、可量测的整合解决方 案,降低管理与运营的整体成本,以解决企业所面临的各种重大挑战、1 ”。在开源 服务器领域,j b o s s 服务器风光无限,其在3 o 版本之前一直是作为e j b 服务器 提供的,它得到大量用户的支持“”。 在国内,j 2 e e 应用服务器产品主要有中创软件的i n f o r w e b 应用服务器、金 蝶软件的a p u s i c 应用服务器,以及目前在开源社区中比较有名的服务器“灰狐” ( j f o x ) 应用服务器。它们均是j 2 e e 规范的优秀实现。 在轻量级框架技术方面,从2 0 0 3 年开始,各种轻量级框架层出不穷,s p r i n g 、 p i c o c o n t a i n e r 、n a n n i n ga s p e c t s 和h i v e m i n d 都来自繁荣的j a v a 开源社群。 s p r i n g 框架是一个强大而又保持轻量级的“控制反转”容器,它同时提供了编 程性的企业服务和( 借助a o p 的) 声明式企业服务“。p i c o c o n t a i n e r 、n a n n i n g a s p e c t s 和h i v e m i n d 等都是轻量级的i o c 容器,在国内,最有名的当数j d o n “” 了,这些框架都与s p r i n g 类似而又各有特点。 正如前一小节说述,现有基于j 2 e e 的轻量级框架技术还很不成熟,每个框 架都各有不足之处,并且它们的目标是完全取代e j b 组件模型,并不能和基于 e j b 的j 2 e e 架构相兼容,毕竟e j b 在组件分布技术以及系统的完整性方面有着 不可比拟的优势,这些优势也令其一直坚守着相当的市场份额。于是,如何改进 基于e j b 组件模型的j 2 e e 平台架构技术,使其兼备轻量级框架技术的众多优点, 成为目前国内外相关领域探索和研究的热点“”。 2 江苏大擘硕士研究生论文 1 3 研究工作介绍以及论文组织 笔者结合在校读研期间参与的项目“某市劳动局办公自动化系统”的实际开 发中的体会和感受,综合上述研究背景和国内外研究现状,展开了本课题的研究 工作。在研究和分析基于e j b 组件模型的平台架构的基础上,借鉴了当前流行的 轻量级容器架构的设计思想,使用a o p 、i o c 等技术改造现有的e j a 组件模型, 进而在该组件模型的基础上提出了j 2 e e 架构的改进方案,并给出基本实现。经 实际项目验证,改进后的架构技术在易用性,可扩展性等指标上均有明显的提升。 考虑到j 2 e e 是个极为复杂的体系架构,在有限的时间里,主要对几个关键 问题进行深入了解和分析研究,并且给出企业级应用系统架构的改进方案。具体 工作如下: 1 ) 深入研究j 2 e e 架构的各组成部分的工作原理和运行机制;对比并总结 其它现有组件框架技术的各自优缺点; 2 ) 对现行的e j b 组件模型进行深入的研究,理解其在j 2 e e 大框架下与其 他技术的协同工作以及自身的特性,寻找现有e j b 组件模型在“容器代 码生成机制”、“e j b 架构的侵入性”、“实体b e a n 在技术上的严重缺 陷”等方面存在不足的深层次原因; 3 ) 深入研究现有的各种轻量级框架的工作原理,理解其优秀的设计思想; 4 ) 基于传统的e j b 组件模型分别在组件装配技术、声明式事务管理、持久 化技术三方面提出了平台架构的改进方案,并基本实现; 5 ) 在实际项目开发中,给出基于传统的e j b 组件模型和基于改进后的e j b 组件模型两套系统架构方案,对比分析了改进后架构的技术优点;论证 了改进后的平台架构技术有较高的可行性。 本文是按照相关基础知识介绍、e j b 组件模型分析、基于e j b 的架构改进方 案、应用实例介绍和趋势预测这样一个循序渐进的过程来展开,具体章节安排如 下: 第一章,简单介绍了论文的研究背景、国内外研究现状以及研究内容和论文 组织。 第二章,简单介绍了所涉及到的相关基础知识,包括软件组件技术的基本概 念、企业级应用系统的架构技术的相关方面:包括平台架构、应用架构以及架构 技术中的分层设计思想、现有的三种常用的组件框架,并着重介绍了e j b 组件框 架所属的j 2 e e 体系的相关基础知识,深入分析了j 2 e e 体系的优势和弱点。 第三章,简单介绍了本文重点研究的e j b 组件模型的相关知识,重点分析了 e j b 组件模型的各个组成部分和技术特点,最后也是最重要的指出了现行e j a 组 件模型的一些不合理的地方。 3 江苏大学硕士研究生论文 第四章,是本文的核心部分,重点介绍了当前十分流行的轻量级容器架构的 基本概念和核心技术,然后详细阐述了改进方案的总体设计思路。在基于传统的 e j i 组件模型分别在组件装配技术、声明式事务管理、持久化技术三方面提出了 改进方案,并给出基本实现。 第五章,在实际项目“某市劳动局办公自动化系统”的开发中,给出基于传 统的e j b 组件模型和基于改进后的e j b 组件模型两套系统架构方案,对比分析了 改进后架构的技术优点。经实际项目验证,改进后的架构技术在易用性、可扩展 性等指标上均有明显的提升。 第六章,对全文进行了总结,包括本文的改进之处和下一步的工作,最后对 e j b 组件模型、h o p 等相关技术的未来发展趋势做了一个预测。 4 江苏大学硕士研究生论文 2 1 软件组件技术 第二章相关基础知识 软件组件技术( s o f t w a r ec o m p o n e n tt e c h n o l o g y ) 是支持基于组件的软件 复用的核心技术。基于组件的软件开发是当前软件开发的发展趋势,利用组件装 配成为一个系统与从头到尾写代码“写”成一个系统相比,它的高效率要高出很 多。软件组件简称为组件,本文所指的组件若无特别说明,均指软件组件。 2 1 1 组件的基本概念 在软件行业中,“组件”这个词是用得最多、含义最模糊的概念之一。比如, 它可以用于a c t i v e x 或j a v a b e a n s 之类的用户界面组件,也可以用于数据库管理 系统之类的重要架构,还可以用于所有可重用的软件。本文所谈的组件,是指某 种自成一体、并有一组清晰接口的软件;同时具有清晰的运行时界面和上线内涵。 即该组件具备可供运行时访问的接口;并且在软件开发生命周期的某个时间点, 该组件可独立交付和安装;另外,还要求一个组件能方便的跟其他组件合并或组 合,从而提供更多的功能“”。 组件应具备以下属性: 复用性( r e u s a b i l i t y ) :复用是组件最基本的性质,只有可以被复用 的组件才有其存在的价值:同时为了提高软件系统的开发速度和质量, 只有容易被复用的组件才有其应用的需求。因此复用应该具有可复用性 和易复用性两层含义; 封装性( e n c a p s u l i z a b i l i t y ) :组件封装可以对外界隐藏设计和实现 细节,仅通过接口交换信息。对于组件,封装应该满足组件内部的功能 实现足紧耦合的,组件之间的关系是松耦合的; 装配性( c o m p o s i t a b i l i t y ) ;组件通过装配可以形成更大的组件,装 配是实施复用的手段。这一点与传统的复用技术有着显著的区别; 定制性( c u s t o m i z a b i l i t y ) :定制指组件在装配过程中随装配环境的 不同而做出自适应调整,其过程大致分为识别装配环境和做出相应的调 整,包括调整内部结构或外部接口的状态,与其它组件或应用框架融合; 粗粒度( c o a r s eg r a n u l a r i t y ) :组件应该代表一定的商业服务功能, 是企业级应用系统的一个有效部件。 随着对软件复用理解的深入,组件的概念已不再局限于源代码组件,而是延 5 江苏大学硕士研究生论文 伸到需求、系统的需求规约、系统的架构、文档、测试计划、测试案例和数据以 及其他对开发活动有用的信息。这些信息都可以称为可复用软件组件。 软件组件技术是支持软件复用的核心技术,是近几年来迅速发展并受到高度 重视的一个学科分支。其主要研究内容包括: 组件获取:有目的的组件生产和从已有系统中挖掘提取组件; 组件模型:研究组件的本质特征及组件间的关系; 组件描述语言:以组件模型为基础,解决组件的精确描述、装配问题: 组件复合装配:在组件模型的基础上研究组件装配机制,包括源代码级 的装配和基于组件对象互操作性的运行级装配; 标准化:组件模型的标准化和组件库系统的标准化。 2 i 2 组件装配技术 组件装配技术是软件组件技术的关键技术之一。基于x m l 和软件体系结构的 组件装配可以用公式表示为“:a p p l i c a t i o n = c o m p o n e n t s + c o m p o s i t i o n l a n g u a g e ,其中,c o m p o s i t i o nl a n g u a g e = c o m p o s i t i o no p e r a t o r s + g l u el o g i c 。 这个公式将组件装配解释为:采用某种装配语言( c o m p o s i t i o nl a n g u a g e ) 实现粘接逻辑( g l u el o g i c ) ,按照某种操作( c o m p o s i t i o no p e r a t o r s ) ,将 组件装配成为一个系统或者更高级别的组件的过程。参与装配的组件称为成员组 件,生成的组件称为复合组件,有些复合组件就是一个软件系统。 按照各个组件之间耦合程度的不同,组件装配类型可以分为以下三种方式: 1 ) 组件之间既没有数据上的耦合,也没有行为上的耦合:组件之间的装配 只是功能上的聚集。这些组件组合到一起,仅仅形成了一个松散的系统。 2 ) 组件之间存在数据上的耦合,但没有行为上的耦合:尽管各组件之间在 行为上不存在联系,相互之间不发送消息,但他们处理的数据是共同的, 因此,在实际装配的时候,要注意组件的先后顺序。 3 ) 组件之间存在行为上的耦合:这是最复杂的,也是最常见的情况,通常 所说的组件装配主要指的就是这种形式的装配。通过这种方式装配起来 的系统,其功能要大于各组件功能的相加。 2 2 开发企业级应用的架构技术 当我们设计或改进系统应用架构时,功能有一种向下移至软件基础设施或支 持环境的趋势“”。这有利于实现组件交互和与上下文无关。也使得组件可能集中 关注业务逻辑,而技术问题由软件基础设施来解决。为组件服务的软件基础设施 可以以组件执行环境的形式获得,这解决了一部分问题,但不是全部。余下的需 6 江苏大学硕士研究生论文 求通常是通过开发一个内部使用的软件基础设施来满足的,或者由第三方产品提 供。 基于这种业务层组件和软件基础设施之间的自然划分,我们可以把对架构技 术的考虑分为两个部分,如图2 - 1 所示。 1 ) 平台架构;定义了技术环境和软件基础设施 2 ) 应用架构:包括了组件开发者和装配者面临的架构问题 应用架构 软件基础设施 蓁龛技术环境 2 2 1 平台架构 用户接口和外核心业务相关 数据访问逻辑 部接口逻辑逻辑 软件基础设射组件框架 t p 监视器组件运行环境通信软件 操作系统 硬件平台 图2 - 1 平台架构和应用架构 正如上图所示,平台架构包括为两个部分: 技术环境,包括组件执行环境、操作系统和硬件平台。 软件基础设施:或组件框架。 2 2 1 1 技术环境 在目前的大多数技术环境中,一定程度上会用到分布式应用,用户可能通过 p c 使用浏览器或g u i 界面来访问。对应用的访问还可以通过其它方式,如b 2 b 通信、e - m a i l 、w a p 等。当需要新的软件时,通常针对一个中间层开发,中间层 基于的平台和现存的后端系统驻留平台可能都不一样,所以技术环境包括:要使 用的硬件环境和相对应的操作系统:要使用的技术( 如t p 监控器、编程语言、 通信软件等) ,这些技术可以与组件执行环境捆绑,或者由它规定。 同时也需要考虑使用不同的技术刨建组件,要运行在不同平台上,如何能较 好的实现透明的互操作。譬如考虑让一个组件尽可能少的意识到另一个组件的技 术特征。为了做到这一点,技术依赖性必须被关注,组件对环境所呈现的方式也 需要标准化。 这些问题中的一部分可以通过确定技术环境来解决,譬如选择使用c o m 或 c o r b a 或e j a ( 纯j a v a 技术) 。软件基础设施负责解决为达到组件上下文无关的 7 江苏大学硕士研究生论丈 其他方面的问题。 2 2 1 2 软件基础设施 为了给组件提供一个支持环境,需要软件基础设旖。即使不用组件,作为一 个好的软件工程实践来说,开发和完善一个软件基础设施,从而促进一致性和减 少工作量,也是值得追求的。 软件基础设施用来包括那些应用中可以被标准化的部分。例如,可以使用一 个标准的用户界面风格。标准化使我们可能把界面代码从处理业务逻辑的组件中 移去,放到一个独立的可复用的软件基础环境中,否则这些代码很可能与处理业 务逻辑的代码交织在一起。软件基础设施可以通过预先构建的组件框架的方式提 供,它处理那些组件行为中已经标准化的方面,同时也可以提供代码生成器,以 标准方式来产生部分应用代码。 软件基础设施的服务可能部分由系统软件提供,部分由第三方提供的软件框 架提供,还有一部分通过自己构建的软件和生成器来提供。 2 2 2 应用架构 平台架构处理那些多个应用中共同出现的问题。而应用架构关注的是特定应 用所需要的应用逻辑。为了创建一个应用架构,有必要准备一份组件类型的选择 清单,以及这些不同类型的组件如何交互的规定。这被成为组件框架。 采用现有的标准的组件框架,这至少满足了一部分的要求。但是在标准组件 框架的基础上增加一些规则和行业接口的做法还是有价值的。这样做实际上就实 现了一个业务组件框架,或称为组件蓝图。它定义了一组满足业务的特定需要的 组件,这些组件是可以广泛的用于业务领域。 2 2 3 核心设计模式的分层设计 企业级应用系统的体系结构遵循分层的设计思想。分层的体系结构是一种良 好的软件架构风格伽1 。 2 2 3 1 三层架构模型的概述 体系架构技术经历过几次重大的、革命性的改进。从单层、主框架型系统到 基于两层的客户端服务器系统的改进导致了将应用层从资源层分离出来的需 要。2 0 世纪9 0 年代早期,传统的企业信息系统供应商就开始响应客户端的需求, 将两层的客户端服务器端应用程序模型转变为更复杂的3 n 层应用程序模型。 8 江苏大学硕士研究生论文 新的模型将企业逻辑从系统服务和用户接口中分离出来,放入一个位于两者 之间的中间层。中间件服务技术的发展事务监视器,面向消息的中间件,请 求中断的对象,和w e b 应用服务器为新的体系结构提供了更多的动力。另外, 企业应用程序对i n t e r n e t 服务日益增长的需求导致了对轻便的、易于部署的、 运行在w e b 浏览器的客户端更多的重视。 多层设计简化了开发、部署和维护企业应用程序。它允许开发者致力于设计 业务逻辑的细节部分,依靠各种后台服务来规定底层结构,以及客户端应用程序 ( 包括独立运行和基于w e b 浏览器的) 来提供用户交互。业务逻辑一旦开发出来, 便可以部署到适用于一个组织现有需求的服务器。 所谓“层”,也就是系统中按照不同的考虑划分的逻辑区间。系统中每个层 都担负独自的职责,每个层与相邻层之间存在松耦合关系,它们之间是一种逻辑 划分。整个系统可以表现为多个层次模块堆叠而成,如图2 2 所示。 用户交互、u l 表现、集中登陆、会话管理、内容创建和传递等 业务逻辑、事务管理、数据处理、系统服务等 遗留系统、数据资源、外部服务、资源适配器等 图2 - 2 核心模式的分层结构 在企业级应用系统中,可以明确的分为以下三层:表现层、业务服务层、数 据访问层,下面就分别简单介绍。 2 2 3 2 表现层 该层最常见的需求,就是通过一个w e b 界面提供业务服务,当然也可能是其 他各种用户界面。在这种三层架构中,有一个强制性的边界:这就是客户端浏览 器和w e b 服务器之间的边界。 一般应用不希望在物理上把业务对象和w e b 层分离开。但确实需要一个逻辑 分隔。逻辑分隔的首要意义,就是拥有严格定义的表现层和业务服务层。同时要 确保这些服务很容易被表现层访问,并且不能让u i 与业务接口之间产生依赖。 表现层封装了服务于系统的客户端的所有表现逻辑。表现层拦截了客户端的 请求,提供了统一的登录入口,构造了会话的管理,控制了对业务服务的访问, 同时也构造了响应,并且把这些响应传给客户端。”。 9 江苏大学硕士研究生论文 2 2 3 3 业务服务屡 一个成熟的架构中必须包含一个严格定义的业务服务层。这个层把业务逻辑 提供给表现层。服务层包含多个接口。每个接口都是一个严格定义的契约。 该层提供了应用客户端需要的各种业务服务。该层中包括业务数据和业务逻 辑。通常,应用系统中的大部分业务处理都集中在该层。 严格定义的服务层应该具有以下特征: 完备性:应该提供表现层所需的所有操作。对于同一种操作,为了适应 不同类型的表现层的需要,可能还要提供的不同的接口: 面向接口定义:这是良好的0 0 设计思想和实践原则; 面向对象实现:对业务对象的限制应该尽可能少。比如:不应该强制业 务对象实现某些特殊的接口、继承某个特别的超类; 不锁定任何特定的底层数据访问技术:数据访问是数据访问层的事情。 业务对象不应该直接于数据访问技术( 如j d b c ) 交互,同样也不应该捕 捉基于特定实现技术的异常; 2 2 3 4 数据访问层 对持久化数据的访问效率往往决定了企业应用系统的整体性能。持久化数据 通常保存在一个关系数据库里,虽然有时还会有多个事务型的数据存储,或者是 遗留应用系统。 2 3 现有的组件框架 组件框架是关于开发可重用组件和组件之间相互通信的一组标准的描述。通 过重用已有的组件,使用组件对象模型的软件开发者可以像搭积木一样快速构造 应用程序。组件框架使得开发者可以通过软件组件的动态组合来建立应用系统。 组件框架由组件与容器构成。组件是具有可重用特性的基本软件部件。容器用于 存放和安排组件,实现组件之间的交互,容器也可以作为另一个容器的组件使用。 有两种类型的组件框架:客户端组件框架和服务器端组件框架。客户端组件 框架( 如j a v a b e a n s ) 是专门用于处理程序的表示及用户界面问题的;服务器端 组件框架( 如e j b ) 则向面向事务的中间件提供基础设施o “。本文所指的组件框 架若无特别说明,均指服务器端组件框架。 目前典型的服务器端组件框架有j 2 e e e j b 、c o r b a 、。n e t c o m + 。 1 0 江苏大学硕士研究生论文 2 3 1j 2 e e ,e j b 为了推动基于j a v a 技术在服务器领域的应用发展,s u n 于1 9 9 9 年底推出了 j a v a 2 技术及相关的j 2 e e 规范,j 2 e e 的目标是:提供平台无关的、可移植的、 支持并发访问和安全的,完全基于j a v a 的开发服务器端中间件的标准。 在j 2 e e 中,s u n 给出了完整的基于j a v a 语言面向企业的分布应用规范,其 中,在分布式相互操作协议中,j 2 e e 同时支持脒i 和1 1 0 p ,而在服务器端分布 式应用的构造形式,则包括j a v as e r v l e t ,j s p ( j a v as e r v e rp a g e ) ,e j b 等 多种形式,以支持不同的业务需求”1 。j a v a 语言本身所具有的“w r i t eo n c e , r u na n y w h e r e ”的特性,使得j 2 e e 技术在发布计算领域得到了快速发展和广泛 应用。 关于j 2 e e e j b 的详细内容,将在下文重点介绍。 2 3 2c o r b a 公共对象请求代理体系结构( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e , c o r b a ) 是由国际对象管理组织( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 提出的应用 软件体系结构和对象技术规范。“,其核心是一套标准的语言、接口和协议,以支 持异构分布应用程序间的互操作及独立于平台和编程语言的对象重用。1 。 1 9 9 0 年1 1 月,o m g 发表对象管理体系指南,初步阐明了c o r b a 的思想。 一年后推出c o r b a1 0 版,其中定义了接口定义语言( i n t e r f a c ed e f i n i t i o n l a n g u a g e ,i d l ) 、对象管理模型以及基于动态请求的a p i 和接口仓库等内容。 随后的十几年,o m g 对c o r b a 不断完善,目前的最新版本为c o r b a3 0 。 3 0 版作为一个全新的标准,它融合了许多新技术,并在充分考虑了互操作 性和可移植性的前提下,完善了原有模型的功能,拓展了应用领域,为推广分布 式应用打下了良好的基础。目前,宣布支持c o r b a3 0 规范的中间件厂商包括 o r a c l e ,s u n ,i b m ,b e as y s t e m 等著名的软件生产商。c o r b a 在经过近十年的发 展之后,己成为目前主流的分布式对象体系结构和技术标准之一,并成功的应用 于国内外的许多大型的软件系统中。 c o r b a 首先是一种编程技术,它是吸收了面向对象的组件技术、分布式计算 技术、多层体系结构技术以及软件接口技术的一种综合技术洲。c o r b a 的最终目 的是为了实现分布式软件集成,它不仅代表一种软件开发模式、一种软件开发标 准,而且提供了许多软件开发必须的服务和可以使用的工具集合。 c o r b a 整体上是由对象请求代理、c o r b a 服务、c o r b a 工具集与符合c o r b a 标准的各种应用程序、对象共同综合形成的。图2 - 3 描述了o m g 组织提出来的对 象管理体系( o b j e c tm a n a g e m e n ta r c h i t e c t u r e ,o m a ) ,这个架构以灵活丰富 1 1 江苏大学硕士研究生论丈 的形式使用于各种分布式系统。 应鬻各】k c o m 3 a3 t j 钒挨一熊 ,i 纵向 医疗、龠融、保障、电信、制造等面向行业的工具羹 c o r b a 对象请求代理( o b j e c tr e q u e s tb r o k e r 。o r b ) c o 陆a 服务 对象生存期,对象命名持续对象、对象外化、事件,属性,对基查询、事务、 并行、许可、对募安辛,对囊洽谈,对囊包彝、对象启动锋各种腿备 图2 - 3c o r b a 的对象管理体系( o m a ) 从上图我们可以看出,0 m 中处于中心地位的是对象请求代理( o b j e c t r e q u e s tb r o k e r ,o r b ) ,无论是应用程序、对象服务,还是不同领域的工具集 都是通过相应的接口来实现与o r b 的连接。正是由于这些有序的分割和连接,才 使得c o r b a 用于实现分布式软件集成和软件即插即用成为可能。 简而言之,o r b 可以帮助c o r b a 对象相互理解对方,可以在c o r b a 对象之间 传递信息和请求,可以有效的管理c o r b a 对象之间的分布和集成。 2 3 3 n e t c o m + 微软的n e t o7 计划是2 0 0 0 年微软公司在其p d c ( p r o f e s s l e n a ld e v e l o p e r s c o n f e r e n c e ) 大会上首次推出的一个非常庞大的战略发展计划。在这个计划 中,n e t 的目标是通过基于w e b 服务提供的分布式服务平台,能够在任何时间 任何地点,把所有信息、设备、系统和用户有机的连接起来,让人们可以随时随 的进行通信和信息交互,而不用考虑是使用何种操作系统、设备或编程语言。 w e b 服务就是这些服务集成的核心,即n e t 的核心。作为第三代i n t e r n e t 平台,n e t 是一项非常庞大而宏伟的计划,其策略就是把i n t e r n e t 本身作为构 建新一代操作系统和应用的基础,把i n t e r n e t 和操作系统进一步延伸,使得开 发人员和用户可以摆脱设备硬件的束缚而轻松实现信息的连接和沟通。 n e t 作为一个服务平台,其主要组成部分从技术上可以划分为三层( 见图 2 - 4 ) 。 1 2 江苏大学项士研究生论文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲方验收合格协议书范本
- 矿泉水客户销售合同范本
- 维修保养合同协议书范本
- 高端会所会员合同协议书
- 驻地企业抗疫协议书模板
- 麻蜥蜴养殖采购合同范本
- 银行与孵化器合作协议书
- 私人租地合同协议书范本
- 机动车抵押担保合同范本
- 电力数据采集协议书模板
- DB33-T 2355-2021 城管驿站建设与管理规范
- 工业机器人维护与保养PPT全套完整课件
- 新华书店读者问卷调查表
- JJG 315-1983直流数字电压表
- GB/T 15088-2009道路车辆牵引销强度试验
- 熠搜家庭户用光伏电站推介
- 特种设备安全监察条例课件
- 高中区域地理:极地地区南极、北极
- 公路建设项目可行性研究报告编制办法讲解课件
- 上海市建设工程竣工验收报告
- 留校安全安全的承诺书
评论
0/150
提交评论