(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf_第1页
(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf_第2页
(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf_第3页
(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf_第4页
(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf_第5页
已阅读5页,还剩97页未读 继续免费阅读

(计算机系统结构专业论文)安全中间件中若干技术研究与实现.pdf.pdf 免费下载

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

文档简介

t l i 丈捕蛭 中文摘要 安全问题是信息化建设过程中不可回避的话题,在现代信息社会中,随着计 算机技术的广泛应用,这一问题也就显得更加迫切。目前安全领域的技术门槛高、 投入代价大、易用性差、互操作能力弱等问题已经成为解决安全问题的瓶颈,在 这种情况下,安全中间件应运而尘。它的没计思想是将信息安全技术和中自j 件技 术结合起来,把安全模块从整个应用系统中分离出来,成为通用的软件,使二者 成为一种松耦合的关系,这样既可以提高软件的可重用性,也可以降低应用软件 开发的难度。 本文对安全中自j 件中若干关键技术进行了研究和实现,主要的内容包含:中 间件技术基础及发展探索、安全中问件体系结构设计、安全中间件中一些关键模 块的设计与实现、多线程动念分级分组优化并发凋度算法研究、软件模块的动念 加找技术及环境适应性研究等。沦义足刈作嚣研究; :f l - 的个山i 总结,儿一l l 的火键 内容包括如下: ( 1 ) 提出了一种安全中间件体系结构模型 提出了一种安全中间件体系结构模型,这足一种层次化体系结构模型,包括 基础模块、安全服务、安全协议、组件服务和安全管理共5 层。然后特别对“通 用安全管理器c s m 模块”和“资源信息服务器r i s 模块”做了深入的研究。 ( 2 ) 对安全中间件中一些关键模块进行了设计和实现 对安全中间件中的c o r b a 安全部分、d c m l 软件的动念配置管理和安全服 务系统原型,这三部分进行了详细的研究和设计,并对其中的部分内容进行了实 现。 ( 3 ) 提出一种多线程并发调度算法 提出一种多线程并发调度算法一多线程动态分级分组优化并发调度算法, 此算法和以往的多线程并发调度算法相比,首次提出了对多线程并发调度的分级 分组思想,这为多线程并发调度算法研究提供了一种新的思考方向。实验表明该 算法在同构多处理系统中对多线程调度的傲率较高、效果较好。 ( 4 ) 研究了软件模块的动态加载技术及环境适应性问题 研究了安全中问件中不同软件模块在不同环境下的动态加载技术,然后主要 以c o r b a 对安全中日j 件适应能力为例,来阐述不同环境的适应性问题。 关键词:安全中间件、体系结构模型、多线程、并发调度算法 a b s t r a c t a b s t r a c t i nm o d e r ni n f o r m a t i o ns o c i e t y , s e c u r i t yp r o b l e mi sau n e v a d a b l es u b j e c ti nt h e c o u r s eo fi n f o r m a t i o nc o n s t r u c t i o n ,a n dt h i sp r o b l e ms e e m sm o r eu r g e n tw i t hw i d e a p p l i c a t i o no f c o m p u t e rt e c h n o l o g y a tp r e s e n t ,d u et oh i g ht e c h n o l o g i c a lt h r e s h o l d ,b i g i n v e s t m e n t ,p o o ru s a b i l i t ya n dw e a kc o o p e r a t i v ea b i l i t yi ns e c u r i t yf i e l d ,t h e s ep r o b l e m s h a v eb e c o m eb o t t l en e c kt os o l v es e c u r i t yp r o b l e m s i ns u c hac a s e ,s e c u r i t ym i d d l e w a r e e m e r g e s a st h er e q u i r e m e n to ft i m e s i t sd e s i g ni d e a sa r et h ec o m b i n a t i o n so f i n f o r m a t i o ns e c u r i t yt e c h n o l o g ya n dm i d d l e w a r et e c h n o l o g y , i tm e a n st h a ts e p a r a t i n g t h es e c u r i t ym o d u l ef r o mt h ew h o l ea p p l i c a t i o ns y s t e mt ob ea sac o m m o ns o f t w a r e , t h e nb o t ho ft h e mb e c o m i n gal o o s ec o u p l i n gr e l a t i o n s h i p t h e r e f o r e , i tc a l lr a i s e r e - u s a b i l i t y o fs o f t w a r ea n da l s or e d u c e d i f f i c u l t y o f a p p l i c a t i o n s o f t w a r e s d e v e l o p m e n t t h i sd i s s e r t a t i o nm a i n l ys t u d i e sa n di m p l e m e n t ss o m ek e yt e c h n o l o g yi ns e c u r i t y m i d d l e w a r e ,i t s m a i nc o n t e n t sc o n t a i n :m i d d l e w a r et e c h n o l o g yb a s ea n di t s d e v e l o p m e n te x p l o r a t i o n ,s y s t e ms t r u c m r ed e s i g no fs e c u d t ym i d d l e w a r e ,s o m ek e y m o d u l e sd e s i g na n dt h er e a l i z a t i o n ,m u l t i t h r e a dd y n a m i cg r a d i n gg r o u p i n go p t i m i z i n g c o n c u r r e n ts c h e d u l i n ga l g o r i t h m ,s o f t w a r em o d u l e sd y n a m i cl o a d i n ga n de n v i r o n m e n t a d a p t a b i l i t yr e s e a r c he t c t h ed i s s e r t a t i o ni sac o m p r e h e n s i v es u m m i n g - u pt oa u t h o r s r e s e a r c hw o r k i t sk e yc o n t e n t si n c l u d ea sf o l l o w s : ( 1 ) p u t t i n gf o r w a r dan e w a r c h i t e c t u r em o d e lo fs e c u r i t ym i d d l e w a r e i th a sp u tf o r w a r dan e ws t r u c t u r a lm o d e lo fs e c u r i t ym i d d l e w a r e t h e r ea r ef i v e l a y e r si n c l u d i n gb a s i cm o d e l ,s e c u r i t ys e r v i c e ,s e c u r i t yp r o t o c o l s ,c o n p o n e ts e r v i c e sa n d s e c u r i t ym a n a g e m e n t t h e nd o n ed e e pr e s e a r c ha n dd c t a i l e de x p l a n a t i o nf o rc s m m o d u l eo fu n i v e r s a ls e c u r i t y m a n a g e m e n td e v i c ea n dr i sm o d u l eo fr e s o u r c e i n f o r m a t i o ns e r v e r ( 2 ) d e s i g n i n ga n di m p l e m e n t i n gs o m ek e ym o d u l e so fs e c u r i t ym i d d l e w a r e d e s i g n i n ga n di m p l e m e n t i n gs o m ek e ym o d u l e so fs e c u r i t ym i d d l e w a r e ,m a i n l y i n c l u d i n gc o r b as e c u r i t yc o m p o n e n t ,t h ed c m ld y n a m i cs o f t w a r ec o n f i g u r a t i o n a b s t r a c t m a n a g e m e n ta n dt h es e c u r i t ys e r v i c e sp r o t o t y p es y s t e m ( 3 ) p u t t i n gf o r w a r dan e wm u l t b t h r e a dc o n c u r r e n ts c h e d u l i n ga l g o r i t h m p u t t i n gf o r w a r d an e wm u l t i t h r e a dc o n c u r r e n t s c h e d u l i n ga l g o r i t h m ,i ti s m u l t i t h r e a d d y n a m i cg r a d i n g a n d g r o u p i n g c o n c u r r e n t s c h e d u l i n ga l g o r i t h m c o m p a r i n gw i t hp r e v e n i e n t m u l t i t h r e a dc o n c u r r e n t s c h e d u l i n ga l g o r i t h m s ,t h i s a l g o r i t h mh a sf i r s tp u tf o r w a r dg r a d i n ga n dg r o u p i n gi d e a sf o rm u l t i t h r e a dc o n c u r r e n t s c h e d u l i n g , s oi t h a sp r o v i d e dan e ws t u d yd i r e c t i o nf o rm u l t i t h r e a dc o n c u r r e n t s c h e d u l i n ga l g o r i t h m i th a sp r o v e dt h a t t h i sa l g o r i t h mh a sh i 【 ;i l e re f f i c i e n c ya n dg o o d e f f e c ti ns a m es t r u c t u r em u l t i p r o c e s s i n gs y s t e mb ym u l t i t h r e a dc o n c u r r e n ts c h e d u l i n g e x p e r i m e n t ( 4 ) r e s e a r c hs o f t w a r em o d u l e sd y n a m i cl o a d i n ga n de n v i r o n m e n ta d a p t a b i l i t y r e s e a r c h e ds o f t w a r em o d u l e sd y n a m i cl o a d i n ga n de n v i r o n m e n t a d a p t a b i l i t y p r o b l e m ,a n dt h e nm a i n l ya n a l y s e dc o r b aa d a p t i v ea b i l i t yi ns e c u r i t ym i d d l e w a r ea s t h ee x a m p l e ,t od e s c r i b et h ed i f f e r e n te n v i r o n m e n t a la d a p t a b i l i t y k e y w o r d s :s e c u r i t ym i d d l e w a r e ,a r c h i t e c t u r em o d e l ,m u l t i - t h r e a dc o n c u r r e n t s c h e d u l i n ga l g o r i t h m 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:i i i i i i :汐铲7 年审月f 日:汐铲年审月f 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位沦文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 导师签名:兰整! 三 i i i i i i :研年月2 ,i ! i :妒年弘月2 ,7 第一章绪论 1 1 安全中间件系统概述 第一章绪论 安全中间件是介于底层操作系统平台和高层应用程序之间的安全平台软件, 它负责适配底层不同操作系统平台和不同厂商产品的差异,承担各种应用程序访 问底层操作的共性任务,屏蔽应用程序一些底层操作任务的艰巨性和复杂性,通 过简单、方便的公共安全应用编程接口( a p i ) 2 7 1 ,向应用客户提供通用的安全服 务。这极大地简化了安全应用系统的建设过程,缩短了安全应用系统的开发周期, 提高了安全应用系统的运行效率,降低了安全应用系统的各种费用。 本质上,安全中自j 件屏蔽了应用软件访问一些底层软硬件资源操作的复杂性, 即这些复杂的访问操作对外界用户来说是透明的,这样就使客户运用非常的简单 和方便。因此,规范化的安全中自j 件必须解决一系列困难的相关技术。当然,安 全中间件的大小规模不同,涉及考虑的相关技术多少和难易也不同,这要视具体 的安全应用实际情况而定,特别是安全中间件的规模可大可小,多大才称为中间 件并没有公认的标准。 然而安全中间件的相关技术起码应该包含体系结构及其关键模块的设计等技 术,因为安全中间件中体系结构及其关键模块是决定该安全中间件是否坚固和正 确的关键。对于综合复杂的实际应用场合下的安全中间件,还应考虑多线程的并 发调度等技术,对于多线程的并发调度,关键是要有好的相应的算法,即研究出 合适的好的多线程并发调度算法。此外,安全中间件还有很多其它的相关技术, 例如软件模块的动态加载、不同0 s 平台和厂商产品的适应性、公共安全服务原 型、硬件安全模块等,在此就不一一分析研究了。 1 2 安全中间件的研究现状 国外对于信息安全产品的研究和开发已有比较长的历史,企业和个人的信息 安全意识比较强,信息安全产品的应用比较广泛。保证信息安全的常用方法是采 用公开密钥和x 5 0 9 证书,而相应的公钥基础设施( p k i ) 的发展越来越快m m 儿柏1 。 国外很多企业提供信息安全产品或服务。其中,e n t r u s t 公司是国外专门从事 电子科技大学硕七学何论文 强信息安全服务的一家有代表性的公司,是世界信息系统领域p k i 方案的卓越提 供者,其e n t r u s t p k i 系列产品在最近几年里已经成为全世界事实上的工业标准。 e n t r u s t 公司采用中间件技术,并结合一些已经提供的信息安全产品,可以设计出 许多可裁减的信息安全体系结构,提供灵活搭配方案,这样就能够以中间件的形 式构建信息安全系统,保证信息安全服务的透明性和连续性。e n t r u s t 公司采用安 全中间件解决信息安全问题的策略,代表了当今世界信息安全产品模块化、通用 化、规模化、产品化的趋势,值得我们深入地分析和探讨。 此外,i e t f 也颁布了通用安全服务应用编程接口g s s a p i ( r f c 2 0 7 8 ) 标准, 这j 下是安全中问件向上层用户提供的窗口。 i n t e l 公司的c d s a 架构也曾经红火一时,许多人将c d s a 看成安全中间件产品。 其实,它只提供了单级结构,与其它安全平台的概念没有太大的区别,只是进行 了某些归纳和衍生。目i j ,i n t e l 公司自己已停止了该项目的开发。 值得注意的另一个方面是s u n 公司的j a s ej a v a 安全体系结构,它代表了未 来组件级应用的安全发展方向,几乎成为电子事务特别是电子商务应用事实上的 标准。 国内对于安全保密技术方面的研究较多,但是尚缺乏能透明支持应用系统的 完整安全解决方案和相应的安全产品,安全产品还远远谈不上模块化、通用化、 规模化。另方面,我国对中间件技术的研究很少,那些少数研究也主要只集中 研究传统的消息中自j 件和交易中间件等。近年来,国内的中间件市场日趋成熟, 但大多集中于传统的消息中间件和交易中间件等,如在国内安全中间件市场有相 当份额的t o n g l i n k t o n g e a s y 产品就是这样。而新一代的中间件产品,例如基于 c o r b a 规范的对象中间件产品和基于j 2 e e 的应用服务器产品则正在开发和完善过 程中,成熟度较差。目f i ,将安全技术与中间件技术相结合进行研究在我国还是 才刚刚斤始起步不久,即安全中间件的研究还有很大的空f 日j 和市场价值。 1 3 本文的主要研究内容和贡献 作者研究了安全中间件中若干关键技术,主要的内容包含:中间件技术基础 及发展探索、安全中白j 件体系结构设计、安全中间件中一些关键模块的设计与实 现、多线程动态分级分组优化并发调度算法研究、软件模块的动态加载技术及环 境适应性研究等。论文是对作者研究工作的全面总结,其中的关键内容包括如下: ( 1 ) 提出了一种安全中间件体系结构模型 2 第一章绪论 提出了一种安全中自j 件体系结构模型,这是一种层次化体系结构模型,包括 基础模块、安全服务、安全协议、组件服务和安全管理共5 层。然后特别对“通 用安全管理器c s m 模块”和“资源信息服务器r i s 模块”做了深入的研究。 ( 2 ) 对安全中间件中一些关键模块进行了设计和实现 对安全中间件中的c o r b a 安全部分、d c m l 软件的动态配置管理和安全服 务系统原型,这三部分进行了详细的研究和设计,并对其中的部分内容进行了实 现。 ( 3 ) 提出一种多线程并发调度算法 提出一种多线程并发调度算法一多线程动态分级分组优化并发调度算法, 此算法和以往的多线程并发调度算法相比,首次提出了对多线程并发调度的分级 分组思想,这为多线程并发调度算法研究提供了一种新的思考方向。实验表明该 算法在同构多处理系统中对多线程调度的效率较高、效果较好。 ( 4 ) 研究了软件模块的动态加载技术及环境适应性问题 研究安全中间件中不同软件模块在不同环境下的动态加载技术,然后主要以 c o r b a 对安全中间件适应能力为例,来阐述不同环境的适应性问题。 1 4 论文结构及内容安排 第一章是绪论部分,主要介绍了安全中间件系统的内容、特点、关键技术, 以及研究现状,然后阐述了作者在本文中主要研究的内容。 第二章对中间件技术基础及发展进行了探索,本章介绍了中间件的定义、分 类、主流中间件技术平台,分析了中间件技术面临的挑战,提出了中间件技术研 究的几个发展趋势。 第三章对安全中间件的体系结构进行设计,本章提出了一种安全中间件体系 结构模型,并对其体系结构和组成做了深入的研究和详细的说明。尔后对安全中 间件中的“通用安全管理器c s m 模块”和“资源信息服务器r i s 模块”,做了深 入的研究。 第四章对安全中间件中一些关键模块进行了设计和实现,本章主要对安全中 白j 件中的c o r b a 安全部分、d c m l 软件的动态配置管理和安全服务系统原型, 这三部分进行了详细的研究和设计,并对其中的部分内容进行了实现。 第五章对多线程的并发调度进行了研究,作者首先介绍了线程的优点及并发 调度的常见策略,然后研究出一种新的多线程并发调度算法多线程动态分级 电子科技大学硕十学位论文 分组优化并发调度算法,最后对该算法模型、算法内容进行了详细的介绍,并做 了仿真实验和复杂性分析。 第六章对软件模块的动态加载技术及环境适应性进行了研究,本章首先介绍 了软件模块的动态加载技术,然后主要以o r b a 对安全中间件适应能力为例,来 阐述不同环境的适应性问题。 第七章是全文的总结,指出了需要继续进行的相关研究工作和未来可能的研 究方向。 4 第二章 中间件技术基础及发展探索 2 1 引言 第二章中间件技术基础及发展探索 计算机系统最初阶段多是单机系统,多个用户是通过联机终端来访问。随着 网络的出现,产生了客户服务器的计算服务模式,多个客户端可以共享数据库 服务器和打印服务器等。随着计算机和网络技术的飞速发展,许多软件需要在不 同厂家的硬件平台、网络协议异构环境下运行,应用的规模从局域网发展到广域 网,应用范围面向三层和多层体系结构的分布式环境,在分布式环境中,无论是 硬件平台还是软件平台都不可能做到统一,而大规模的应用软件通常要求在软硬 件各不相同的分布式网络上运行。中间件产生以前,应用软件直接使用操作系统、 网络协议和数据库等开发,开发者不得不直接面对许多复杂棘手的问题,如操作 系统的多样性、繁杂的网络程序设计和管理、复杂多变的网络环境、数据分散处 理带来的不一致性问题等等,这些与用户的业务没有直接关系,但又必须解决, 耗费了大量的时间和精力,因此开发者迫切需要一种基于标准的、独立于计算机 硬件以及操作系统的开发和运行环境,于是,中间件技术应运而生。 2 2 中间件的概念 在众多关于中间件的定义中,比较普遍接受的是i d c 表述:中问件是一种独 立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享 资源;中自j 件位于客户机服务器的操作系统之上,管理计算资源和网络通信。i d c 对中间件的定义表明,中间件是一类软件,而非一种软件;中间件是介于操作系 统( 包括底层通信协议) 和各种分布式应用程序之间的一个软件层。总的作用是建 立分布式软件模块之间互操作的机制,屏蔽底层分布式环境的复杂性和异构性, 为处于自己上层的应用软件提供运行与开发环境,帮助用户灵活、高效地开发和 集成复杂的应用软件。在具体实现上,中间件是一个用应用程序接口定义的分布 式软件管理框架,具有强大的通信能力和良好的可扩展性。中自j 件在分布式系统 中的位置如图2 - i 所示。 第二章 中间件技术基础及发展探索 2 1 引言 第二章中间件技术基础及发展探索 计算机系统最初阶段多是单机系统,多个用户是通过联机终端来访问。随着 网络的出现,产生了客户服务器的计算服务模式,多个客户端可以共享数据库 服务器和打印服务器等。随着计算机和网络技术的飞速发展,许多软件需要在不 同厂家的硬件平台、网络协议异构环境下运行,应用的规模从局域网发展到广域 网,应用范围面向三层和多层体系结构的分布式环境,在分布式环境中,无论是 硬件平台还是软件平台都不可能做到统一,而大规模的应用软件通常要求在软硬 件各不相同的分布式网络上运行。中间件产生以前,应用软件直接使用操作系统、 网络协议和数据库等开发,开发者不得不直接面对许多复杂棘手的问题,如操作 系统的多样性、繁杂的网络程序设计和管理、复杂多变的网络环境、数据分散处 屯子科技大学硕十学位论文 2 3 中间件的分类 图2 - i中间件在分布式系统中的圣i ) = 置图 随着计算机软件技术的发展,中间件技术也已日渐成熟,并且出现了不同层 次、不同类型的中间件产品。按照i d c 分类方法,中间件可分为以下6 类: 2 3 1 终端仿真屏幕转换 用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间 的互操作。 2 3 2 数据访问中间件 适用于应用程序与数据源之间的互操作模型,客户端使用面向数据库的a p i , 以提请直接访问和更新基于服务器的数据源,数据源可以是关系型、非关系型和 对象型。这类中问件大都基于s o l 语句,采用同步通讯方式。此类中自j 件使应用 开发简单化,但如果透过广域网使用,则会带来严重的效率问题,因为在低速网 上来回交互s q l 语句会使通讯流量过大,同时对数据压缩、加密带来不便。 2 3 3 远程过程调用中间件 第一二章中间件技术基础及发展探索 r p c 机制是早期开发分布式应用时经常采用的一种同步式的请求应答协议。通 过这种协议,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过 程。r p c 扩展了过程语言中的“功能调用结果返回”的机制,使得它可以适用于 一个远程环境。由于r p c 机制是同步方式,因而在工作的时候,要求客户方和服 务方均能正确工作才能很好地运行,有一方不能工作将导致r p c 失败。在网络故 障、机器故障存在的情况下,这一要求是很难保证的。另外,由于大多数r p c 机 制很难建立点到点的关系,因而也很难用在面向对象的编程当中。 2 3 4 消息中间件 越来越多的分布式应用采用消息中间件来构建,通过消息中间件把应用扩展 到不同的操作系统和不同的网络环境。基于消息的机制更多地适用于事件驱动的 应用,当一个事件发生时,消息中恻件通知服务方应该进行何种操作。其核心安 装在需要进行消息传递的系统上,在它们之间建立逻辑通道,由消息中间件实现 消息发送。消息中间件可以支持同步方式和异步方式,实际上是一种点到点的机 制,因而可以很好的适用于面向对象的编程方式。中间件领域目| ; 最热门的技术 是异步的消息中白j 件,异步中间件技术比同步中日j 件技术具有更强的容错性,在 系统故障时可以保证消息的正常传输。 2 3 5 交易中间件 是专门针对联机交易处理系统而设计的,如银行业务系统、定票系统等。联 机交易处理系统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、 编程语言、数据通讯、数据库系统、系统管理、应用软件,交易中间件就是一组 程序模块,用以减少开发一个联机交易处理系统所需的编程量。 2 3 6 对象中间件 传统的面向对象技术通过封装、继承及多态提供了良好的代码重用功能, 但是这些对象只存在一个程序中,外面的世界并不知道它们的存在,也无法访问 它们。面向对象的中间件就是要解决这些问题,面向对象的中间件提供一个标准 的构件框架,能使不同厂家的软件通过不同的地址空问、网络和操作系统交互访 问。该构件的具体实现、位置及所依附的操作系统对客户来说都是透明的。 2 4 主流中间件技术平台 7 电子科技大学硕士学位论文 考察当前主流的分布计算技术平台,主要有o m g 的c o r b a ,s u n 的j 2 e e 和 m i c r o s o f td n a2 0 0 0 ,它们都是支持服务器端中间件技术开发的平台,但都有其 各自特点,将分别阐述如下: 2 4 1o m g 的c o r b a 公共对象请求代理体系结构( c 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 r a r c h i t e c t u r e ) 是对象管理组织( o m g ) 基于众多开放系统平台厂商提交的分布对象 互操作内容基础上制定的分布式应用程序框架的规范。 c o r b a 是由绝大多数分布计算平台厂商所支持和遵循的系统规范,具有模型完整、 先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计 算技术的标准。c o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务和公 共设施。最底层是对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) ,规定了分布对 象的定义( 接口) 和语言映射,实现对象间的通讯和互操作,是分布对象系统中的 “软总线”:在o r b 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、 事务( 交易) 服务、安全服务等各种各样的服务:最上层的公共设施则定义了组件 框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规 则。c o r b a 的优点是大而全,互操作性和开放性非常好,缺点是庞大而复杂,并且 技术和标准的更新相对较慢,在具体的应用中使用不是很多。 2 4 2s u n 的j 2 e e 为了推动基于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 简化了构件可伸缩的、基于构件服 务器端应用的复杂度。在j 2 e e 中,s u n 给出了完整的基于j a v a 语言开发面向企业 分布应用的规范,其中在分布式互操作协议上,j 2 e e 同时支持远程方法调用( r m i , r e m o t em e t h o di n v o c a t i o n ) 和因特网对象请求代理间协议( i i o p ,i n t e m e t i n t e r o r bp r o t o c a l ) ,在服务器端分布式应用的构造形式包括了j a v as c r v l c t 、 j s p ( j a v as e r v e r p a g e ) 、e j b 等多种形式,以支持不同的业务需求。 e j b 是s u n 推出的基于j a v a 的服务器端构件规范j 2 e e 的一部分,在j 2 e e 推出之 后得到了广泛的发展,已经成为应用服务器端的标准技术。s u ne j b 技术是在j a v a b e a n 本地构件基础上,发展的面向服务器端分布应用构件技术。它基于j a v a 语言, 8 第二章中间件技术基础及发展探索 提供了基于j a v a 二进制字节代码的重用方式。e j b 给出了系统的服务器端分布构 件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准 规范内容。e j b 技术的推出,使得用j a v a 基于构件方法开发服务器端分布式应用 成为可能。从企业应用多层结构的角度,e j b 是业务逻辑层的中间件技术,与 j a v a b e a n s 不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也 就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部 分地位。从分布式计算的角度,e j b 像c o r b a 一样,提供了分布式技术的基础,提 供了对象之间的通讯手段。 从i n t e r n e t 技术应用的角度,e j b 和s e r v l c t ,j s p 一起成为新一代应用服 务器的技术标准,e j b 中的b e a n 可以分为会话b e a n 和实体b e a n ,前者维护会话, 后者处理事务,现在s c r v l e t 负责与客户端通信,访问e j b ,并把结果通过j s p 产 生页面传回客户端。 j 2 e e 的优点是技术先进,架构优秀,真正的三层结构,用j a v a 开发构件,能 够做到“w r i t eo n c e ,r u na n y w h e r e ”,开发大型的应用优势明显,可以配置到包 括w i n d o w s 平台在内的任何服务器端环境中去。缺点是缺少一系列的接口支持, 技术进入门槛高,开发起来的难度大。 2 4 3m i c r o s o f td n a2 0 0 0 m i c r o s o f td n a2 0 0 0 ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n s ) 是m i c r o s o f t 在 推出w i n d o w s 2 0 0 0 系列操作系统平台基础上,在扩展了分布计算模型以及改造b a c k o f f i c e 系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。 在服务器端,d n a2 0 0 0 提供了a s p ,c o m 、c l u s t e r 等的应用支持。目前,d n a 2 0 0 0 在技术结构上有着巨大的优越性。一方面,由于m i c r o s o f t 是操作系统平台厂商, 因此o n a2 0 0 0 技术得到了底层操作系统平台的强大支持;另一方面,由于 m i c r o s o f t 的操作系统平台应用广泛,因此在实际应用中,d n a2 0 0 0 得到了众多 应用开发商的采用和支持。 d n a2 0 0 0 融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、 异步消息队列、集群等内容。d n a 使得开发可以基于m i c r o s o f t 平台的服务器构件 应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布 对象系统提供。 以m i c r o s o f t 为首的d c o m c o m c o m + 阵营,从d d e ,o l e 到a c t i v e x 等,提供 了中间件开发的基础,如v c ,v b ,d e l p h i 等都支持d c o m ,包括o l ed b 在内新的 9 电子科技大学硕七学位论文 数据库存取技术,随着w i n d o w s 2 0 0 0 的发布,m i c r o s o f t 的d c o m c o m c o m + 技术, 在d n a 2 0 0 0 分布计算结构基础上,展现了一个全新的分布构件应用模型。首先, d c o m c o m c o m + 的构件仍然采用曾通的c o m ( c o m p o n e n t o b j e c tm o d e l ) 模型。c o m 最初作为m i c r o s o f t 桌面系统的构件技术,主要为本地的o l e 应用服务,但是随 着m i c r o s o f t 服务器操作系统n t 和d c o m 的发布,c o m 通过底层的远程支持使得构 件技术延伸到了分布应用领域。d c o m c o m c o m + 更将其扩充为面向服务器端分布 应用的业务逻辑中蒯件。通过c o m + 的相关服务设施,如负载均衡、内存数据库、 对象池、构件管理与配置等等,d c o m c o m c o m + 将c o m 、d c o m 、m t s 的功能有机 地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且,d n a 2 0 0 0 是 单一厂家提供的分布对象构件模型,开发者使用的是同一厂家提供的系列开发工 具,这比组合多家开发丁具更有吸引力,不足是依赖于m i c r o s o f t 的操作系统平 台,因而在其它开发系统平台如( u n i x 、l i n u x ) 上不能发挥作用。 2 5 中间件技术的发展趋势 2 5 1 网格技术 中间件技术当l ; 所面临的重大挑战是要在互联网这个复杂的分布式系统中构 建应用程序。许多计算机专家认为,将整个互联网的各种资源全部整合在一起, 为用户提供统一的服务,是相当困难甚至难以实现的。当然,对于具体的应用领 域,具体的网络区域,用中间 牛技术将其中的各种资源整合在一起还是相当有前 景的。目i ;i 方兴未艾的网格( g r i d ) 技术实质上即是一个基于互联网的中间件系统。 可同时运用网络中所有的c p u 、存储器、操作系统、应用软件等资源,用户通过 p c 、手机或p d a 可从互联网上获取来自全球的资源,互联网将变成一个虚拟的、 强大的计算平台。网格的重要特征是对资源的共享和管理,包括:( 1 ) 计算资源。 启动程序,监测、控制进程运行;对分配给进程的资源的管理机制;查询功能, 确定硬、软件状态、相关负载信息和队列状态等。( 2 ) 存储资源。上载、下载文件: 对分配给数据传输的资源( 空脚、磁盘带宽、网络带宽、c p u ) 的管理机制,确定可 用空间、带宽使用率等相关负载信息。( 3 ) 网络资源。提供控制分配给网络传输的 资源的管理机制;查询网络状态和负载的功能。( 4 ) 代码库。管理源码和目标码的 机制。另外,网格系统还应包括:网格特有事务所需要的通信和认证协议,通 信协议允许资源之间交换数据,功能包括传输、寻径和名字服务。建立在通信 1 0 第二章中间件技术基础及发展探索 协议之上的认证协议为确认用户和资源的身份提供加密安全机制。管理一组相 关联的资源集合,并负责资源集合之间的交互,包括:目录服务、合作分配资源 任务调度服务、监控诊断服务、数据复制服务、支持网格的编程、软件发现服务、 团体授权服务等。 2 5 2 面向移动计算 移动计算问题可以具体展开为三个方面:用户移动。无论用户处在什么位 置,都能为其提供一致的工作环境,包括用户的配置信息和他所“订阅”的服务。 终端移动。使终端设备无论在任何接入点接入网络,都能正常工作,也就是说 底层网络对终端设备是透明的。服务移动。当前,越来越多的服务依赖于移动 的资源,甚至服务本身就处在不断移动中,必须保证用户及其终端设备可以随时 找到这些服务。据此,移动计算需要一个基础设施将合适的协议、机制、工具集 成起来,提供上述三方面的功能。移动中间件正是这样一种基础软件。它随时对 移动用户和终端进行跟踪和重定位,保证移动实体的相互通信,克服系统的异构 性,并且为开放的网络环境提供安全性。随着网络带宽不断增大,人们对移动设 备的服务质量问题的顾虑渐渐打消,而使用移动设备的方便性日益突出。人们要 求各种服务都可以在移动的情况下( 包括上述三种情况) 获得。因而移动中间件具 有十分广泛的发展前景。泛化计算( u b i q u i t o u sc o m p u t i n g ) 是移动计算的极至, 指从大型机、p c 、到p d a 以至安装有处理器的各种各样的日常生活设备之间能够 相互通信、协调工作。显然,在这个领域,中间件面临更为复杂的异构环境以及 无线通信和动态配置的挑战。 2 5 3 面向服务质量 传统的单一系统,如大型主机、容错系统等,依赖昂贵的配置与设计来实现 高可用性,而高可用中间件主要是在软件层面利用系统的冗余部件( 比如机群系统 有大量这样的部件) 为用户提供高可用功能。这有三个方面的优势:成本低、可扩 展性好、更加灵活方便。为了保证数据的可靠性和一致性,还有必要在中间件中 增加保证q o s 的协议( 在c o r b a 中已经有这样的协议) 以实现数据的备份以及各种 各样的容错功能。另外,还要保证此方法的响应时间尽可能的快( 这里泛指用户响 应时间以及切换时间等一切影响服务质量的时间) 。随着网络技术的发展,越来越 多的用户使用网络提供的服务,这就对服务质量提出了更高的要求,质量低劣的 服务是没有市场的。高可用中闻件、容错中间件在这一背景下将不断完善和发展。 电f 科技大学硕上学位论文 2 5 4 各种技术的发展对中间件技术产生的影响 由于中间件系统的主要目的就是整合各种异构系统中的资源,使其协调工作。 因此,各种异构系统中各种技术的发展都会或者为中间件系统的开发提供便利, 或者设置障碍。w e bs e r v i c e 技术就是在x m l 语言、异步通信机制、以及基于内容 的消息传递机制等各种技术发展基础之上提出并发展起来的。又例如,当前移动 代理( m o b i l ea g e n t ) 技术在中间件的设计和实现过程中发挥越来越重要的作用, 特别是基于互联网的应用以及涉及到移动计算和泛化计算的中问件的设计。移动 代码和移动代理技术可以提高分布式系统的灵活性和适应性。 中间件从本质上是对分布式应用的抽象,抛开了与应用相关的业务逻辑的细节, 保墼了典型的分每交互模式的关键特征,将纷繁复杂的分白式系统以统一的层面 形式呈现给应用。应用在中问件提供的环境中可以更好地集中于业务逻辑上,并 以构件化的形式存在,最终自然而然地在异构环境中实现良好的协同工作。构件 是一种前沿的软件设计思想,对整个软件行业的发展有着至关重要的推动作用。 而中间件作为应用软件系统集成的

温馨提示

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

评论

0/150

提交评论