(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf_第1页
(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf_第2页
(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf_第3页
(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf_第4页
(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于中间件技术的访问控制方法及应用研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着公共对象请求代理体系结构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 ra r c h i t e c t u r e ) 的广泛应用,c o r b a 安全面临前所未有的挑战。特别是c o r b a 系统中众多对象的访问控制问 题,一直是构建高性能安全环境的瓶颈。基于角色访问控制r b a c ( r o l e - b a s e da c c e s s c o n t r 0 1 ) 技术作为一种先进的访问控制手段,其优势在于:根据安全需求划分出不同的角色 执行特定的任务,从而实现用户与权限的分离,因此可以作为c o r b a 安全中复杂访问控制的 解决之道。 在分析r b a c 与c o r b a 融合可行性的基础之上,结合c o r b a 本身安全服务提供的支持, 给出了c o r b a 基于角色访问控制系统r i c s ( r b a ci nc o r b as y s t e m ) 模型,并针对其中的核 心部分展开详细设计:借鉴基于x 5 0 9 标准的公钥基础设施p l ( i x ( p u b l i ck e y i n f r a s t r u c t u r eb a s e do nx 5 0 9 ) 身份认证模型来完成访问控制前的主体身份认证功能:采 用c o r b a 拦截器技术来保证r b a c 与c o r b a 融合之后实施访问控制的安全性;通过策略工厂 管理策略对象和r b a c 配置实现了c o r b a 中访问控制策略的集中化管理:依靠定制的对象调 用关系图与策略工厂,优化了访问决策器进行决策时所需的步骤。总之,r i c s 的设计充分 考虑到了访问控制过程中的可配置性和可扩展性 基于r i c s 的总体设计,通过选择恰当的拦截点,论述了访问控制拦截器实现访问控制 的三个基本阶段:创建凭证、绑定和访问决策,并给出了一个c o r b a 应用实例一检测实验室 信息管理系统t l i m s ( t e s t i n gl a b o r a t o r yi n f o r m a t i o nm a n a g e m e n ts y s t e m ) 。访问控制 拦截器能够保证调用请求在对目标对象调用操作之前进行拦截并执行访问控制策略。 t l i m s 应用结果表明,借助c o r b a 的对象通信机制,r i c s 实现了主体角色的自动更新, 使得访问控制策略更加灵活有效,能够适应随时发生变化的r b a c 配置。 【关键词l 访问控制,c o i m a ,角色,拦截器,访问决策,策略工厂 摘要 a b s t r a c t w i t ht h ew i d eu s eo fc 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 ) 0 0 船a s e c u r i t yi sc o n f r o n t e dw i t har e a lc h a l l e n g e e s p e c i a l l yt h ea c c e s sc o n t r o lo f n u m e r o u so b j e c t si n0 0 r b ai st h eb o t t l e n e c kt oc o n s t r u c tt h eh i g h p o w e r e d e n v i r o n m e n to fs e c u r i t y a sa na d v a n c e dm e a n so fa c c e s sc o n t r o l 。t h es t r o n g p o i n t o fr b a c ( r 0 1 e b a s e da c c e s sc o n t r 0 1 ) i sm a k i n go f ft h er o l e sw h i c hs e p a r a t e st h eu s e r s f r o mt h ep e r m i s s i o n s8 c c o r d i n gt o t h es e c u r i t yr e q u i r e m e n t sf o rt h er e l e v a n t a s s i g n m e n t s t h q r e f o r er b a cc a nb eu s e dt os o l v et h ec o m p l i c a t e da c c e s sc o n t r o li n c o r b s e c u r i t y b a s e do na n a l y z i n gt h ef e a s i b i l i t yo fi m p l e m e n t i n gr b a ci n t oc 0 髓a t h es y s t e m a r c h i t e c t u r eo fr l c s ( r b a ci n0 0 r b as y s t e m ) i sp r o p o s e dw i t ht h es u p p o r to f f e r e db y c 0 船as e c u r i t ys e r v i c e s a n dt h ed e t a i ld e s i g n sf o rt h ek e yc o m p o n e n t sa r ef o l l o w e d t h ef r a m eo fp k i x ( p u b l i ck e yi n f r a s t r u c t u r eb a s e do nx 5 0 9 ) f o ri d e n t i t y a u t h e n t i c a t i o ni sa u t h e n t i c a t i o n t h ei n t e r c e p t o r si m p l e m e n t i n gi n c o r b a r e s p o n s i b l e f o rt h e p r i n c i p a lg u a r a n t e e t h e s e c u r i t y t ot h ea c c e s s c o n t r o la f t e rr b ci n t oc 0 l i b a p o l i c yf a c t o r yi sd e s i g n e dt bm a n a g et h ep o l i c y o b j e c t sa n dt h ec o n f i g u r a t i o n so f 硪 a c v h i c ha c h i e v e st h ec e n t r a lm a n a g e m e n to f a c c e s sc o n t r o lp o l i c i e s t h es t e p sf o ra c c e s sd e c i s i o na r eo p t i m i z e db yp o l i c y f a c t o r ya n dt h et a i l o r e df i g u r eo fi n v o k i n go b j e c t s i nc o n c l u s i o n , t h ed e s i g no f r i c si s i nv i e wo fb e i n gc o n f i g u r a b l ea n de x t e n s i b l e t h ep r o c e s so fa c c e s sc o n t r o la c t u a l i z e db yt h ei n t e r c e p t o r sf a l l si n t ot h r e e s u c c e s s i v ep h a s e so fc r e a t i n gt h ec r e d e n t i a l ,b i n d i n ga n da c c e s sd e c i s i o nb a s e do n r i c sa n dt h es u i t a b l ep o i n t st oi n t e r c e p t t h e nt h ec o i m aa p p l i c a t i o ne x a m p l eo f t l i - 略( t e s t i n gl a b o r a t o r y i n f o r m a t i o n m a n a g e m e n ts y s t e m ) i sp r e s e n t e d t h e i n t e r c e p t o rc a ne n s u r et h a ta c c e s sc o n t r o lw i l lo c c u rb e f o r ea n yr e q u e s tg e t st o t h es e r v e ro p e r a t i o n t h er e s u l to fi m p l e m e n t i n gt l i m sp r o v e st h a tr i c sr e a l i z e st h ea u t o m a t i cr o l e a c t i v a t i o nb yt h eo b j e c t sc o m m u n i c a t i o n t h a tm a k e st h ea c c e s sc o n t r o lp o l i c i e sm o r e f l e x i b l ea n de f f e c t i v e t h ew h o l es y s t e mi sa d a p t a b l et ot h ef r e q u e n t l yc h a n g e d c o n f i g u r a t i o no fr b a c k e y | o r d s ia c c e s sc o n t r o l ,c o r b a ,r b a c , i n t e r c e p t o r ,a c c e s sd e c i s i o n ,p o l i c y f a c t o r y 目录 论文插图索引 图1 1 中问件逻辑l 图2 1 采用中间件的分布式体系结构4 图2 20 m a 参考模型接口分类5 图2 3o 醛参考模型;接口用途6 图2 4 公共对象请求代理体系结构c o r b a 7 图2 50 啪i d l 类型层次8 图2 6 对象适配器的作用1 2 图2 7 基于角色访问控制的主要思想1 5 图2 8 ( a ) r b a c 9 6 模型结构1 5 图2 8 ( b ) 模型船a g 一1 6 图2 9 角色继承1 7 图3 1c o r b a 访问控制模型2 0 图3 2c o r b a 安全服务对象模型结构2 l 图3 3r i c s 横型2 4 图3 4p k i x 身份认证模型2 5 图3 5 主体身份认证模型2 5 图3 6 拦截器示意图2 6 图3 7a d o 访问决策过程2 9 图3 8p f o 访问决策过程3 0 图4 1 拦截点示意图3 2 图4 2t l i m s 的组合拦截点示意图3 3 图4 3 第一阶段流程3 4 图4 4 第二阶段流程3 5 图5 1 测试环境示意4 0 图5 2 服务器端拦截器拦截情况( 1 ) 4 3 图5 3 服务器端拦截器拦截情况( 2 ) 4 3 图5 4 平均响应时间性能图4 4 图5 5 多线程并发性能图4 5 i v 目录 论文表格索引 表3 - 1 主体到属性的映射关系示例2 1 表3 - 2 属性到权限的映射关系示例2 2 表3 - 3 目标对象的所需权限示例2 2 表3 - 4 属性到方法的映射关系示倒2 2 表3 - 5p r o 示例2 8 表3 - 6 p o 示例2 8 表4 - 1 位于策略工厂的基本配置一览表( a ) d o d 表3 6 表4 - i 位于策略工厂的基本配置一览表( b ) u a 表3 6 表4 1 位于策略工厂的基本配置一览表( c ) 访问策略表3 6 表4 - 1 位于策略工厂的基本配置一览表( d ) 所需权限表3 6 表4 2 主体王非获得的初始凭证3 7 表4 3 执行第二步之后的访问控制对象一览表( a ) c 0 3 7 表4 - 3 执行第二步之后的访问控制对象一览表( b ) a p 0 3 8 表4 - 3 执行第二步之后的访问控制对象一览表( c ) p r o 骝 表4 - 4 执行第四步之后的访问控制对象一览表( a ) c o 3 8 表4 - - 4 执行第四步之后的访问控制对象一览表( b ) a p o 3 8 表4 - 4 执行第四步之后的访问控制对象一览表( c ) r r o 3 9 表4 - 5 本地角色集3 9 表5 - 1 r i c s 系统的测试环境一览表4 0 表5 - 2 系统响应时间测试数据4 4 表5 - 3 并发性能测试结果4 5 v 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他入已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:疃日期:删 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名:至隧导师签名:卑日 期:趔 第一章绪论 1 1 引言 第一章绪论 近年来。随着全球网络的日益发展,分布式系统被广泛地应用到社会生活的各个方面。 中间件技术因具有屏蔽网络硬件平台、系统软件和网络协议的异构性,易于系统集成、扩展 升级和维护,容易实现负载平衡、连接管理和调度功能等优点,基于中间件技术的应用系统 得到快速发展。 然而,随着分布式应用系统的发展,网络中大量信息的安全问题己越来越引起人们的关 注,信息安全在企业,商业、电子政务、金融和国防等社会各个领域中扮演着越来越重要的 角色。为此,国际化标准组织i s o 在网络安全体系的设计标准i s 0 7 4 9 8 2 中,提出了层次安 全体系结构。并定义了五大安全服务功能:身份认证服务、访问控制服务、数据保密服务、 数据完整性服务和不可否认服务。访问控制服务作为五大服务之一,在网络安全体系中具有 不可替代的作用。 安全信息系统由身份验证、访问控制、加密及审计等部分组成,而访问控制是其中重要 的一环。研究基于中间件技术的访问控制方法是实现信息安全、系统集成、扩展升级、易于 维护和降低开发成本的有效途径。 1 2 研究背景 检测实验室是检验检疫行业的重要组成部分,它担负着我国出入境人员、货物和交通工具的 样品检测和结果报告,为检验检疫行政执法提供依据。计算机信息系统具有结果准确,统计方便、 管理高效资源消耗低,自动化程度高的优点t l i 晒( t e s t i n gl a b o r a t o r yi n f o r m a t i o n m a n a g e m e n ts y s t e m ) 在各类检测实验室中已被广泛应用。然而这些系统绝大部分是基于局域网 环境。这一局面也带来了输入和获取信息的局限性。为实现信息系统的英特网上共享和使用,访 f 目控制是其中的关键问题。 中间件技术的出现,为解决不同硬件平台和网络环境、不同数据库间的互操作,传输不可靠。 软件开发期过长等创造了条件,基于w e b 的应用系统得到迅速发展。然而在i n t e r n e t 环境下运 行信息系统,实现信息的安全访问是其中的关键问题。因此基于中间件技术的安全访问控制方法 及应用研究能促进检验检疫部门信息安全访问。优化检测实验室管理和服务,提高检验检疫效率; 同时使系统在保持原有功能的基础上可方便地进行扩展和集成,降低开发和维护成本方面都具有 现实意义。 中间件( m i d d l e v a r e ) 是一类软件,它处于系统软件与应用软件的中间。属于可复用软 件的范畴。具体地说,中间件位于操作系统、网 络和数据库之上,应用软件之下,为上层的应用 系统提供运行与开发的环境,帮助用户灵活、高 效地开发和集成复杂的应用软件。如图1 1 所示。 访问控制就是通过某种途径准许或限制访问 权力及范围的种方法。通过访问控制服务使得 用户只能访问经过授权的信息资源,从而可以限 制对关键资源的访问,防止非法用户的侵入或者 因合法用户的不慎操作所造成信息资源的破坏。 中间件分布式系统服务 图1 1 中间件逻辑 第一章绪论 在传统的访问控制模式中,有两种典型的模式:分权管理模式和集中管理模式。以分权 管理模式为代表的是自主访问控制。所谓自主访问控制,就是把访问控制权留给了产生信息 的信息主,从而使信息对象的拥有者有权自主决定哪些用户拥有对该信息对象的访问权限, 并将信息对象访问的管理权限授予给这些用户,使得访问控制的权限管理分布在各个用户之 问。以集中管理模式为代表的是强制访问控制,所谓强制访问控制,就是要求所有用户遵守 系统安全管理员建立的规则,实现对信息资源访问的严格控制。近年来,基于角色访问控制 得到广泛关注,从某种意义上来说它是一个集中管理模式的典型代表。在基于角色的访问控 制中,由系统安全管理员负责生成角色,为角色分配访问权限,为用户分配角色,用户通过 角色而拥有信息对象的访问权限。 c o r b a 无疑是最有发展前景的中间件技术,近年来在国内已得到了广泛的应用。c o r b a 由于安全机制简单,造成在特定信息系统中访问控制管理复杂和维护成本高。角色访问控制 由于引入了角色,将主体和权限间通过角色有机的联系起来,实现主体和权限的分离,使访 问控制机制更加灵活,系统维护简单,控制粒度更细。如何实现c o r b a 和角色访问控制的有 机结合,研究基于c o r b a 技术的角色访问控制方法是解决分布式系统信息安全的有效途径。 特别是信息系统由局域网向i n t e r n e t 快速发展的今天,更具有现实意义 1 3 主要研究工作 本文围绕基于中间件技术的访问控制方法及应用研究。分析c 0 r b 核心技术的原理与体系结 构。在研究麟c 与c o r b a 融合可行性的基础之上,结合c 0 船a 本身安全服务提供的支持,给出 了c 0 r b a 基于角色访问控制系统r i c s ( r b a ci nc o r b as y s t e m ) 模型。并针对其中的杨凸部分展 开详细设计。借鉴基于x 5 0 9 标准的公钥基础设施h ( i x ( p u b l i ck e yi n f r a s t r u c t u r eb a s e do i l x 5 0 9 ) 身份认证模型来完成访闯控制前豹主体身份认证功能。采用c 0 船a 拦截器技术来保证i 理i a c 与c 0 嗽融合之后实施访问控制的安全性。通过策略工厂管理策略对象和r b a c 配置,实现了c o p j 甜k 中访问控制策略的集中化管理。 r i c s 原型系统实现基于w e b 环境,采用b s r o w s e r s e r v e r ) 多层体系结构,通过策略 代理将全局策略映射到局部安全机制中,实现对信息系统的访问控制,具有良好的可移植性和互 操作性。 1 4 本文结构 本论文由六部分组成: 第一章是绪论。提出研究问题与背景,说明研究工作的目的、范围、意义和存在问题, 研究的内容、方法以及全文的组织结构。 第二章基础理论。主要介绍中间件和访问控制技术的基础理论 介绍中间件技术、构件技术和对象管理体系结构o m a 。围绕c o r b a 技术作了较为详细的 讨论,c o p r a 为分布式异构计算环境提供了一种灵活的通信机制和实用的软件集成提供了良 好的技术规范。 分析比较自主访问控制和强制访问控制技术,阐述基于角色访问控制技术的核心思想 和参考模型。通过分析r b a c 特点与优势,r s a c 不仅克服传统访问控制技术不足,还引入新 的特性,非常适合分布式对象系统中的方法级访问控制。 第三章基于c o r b a 角色访问控制模型。讨论c o r b a 基于角色访问控制r i c s 的设计思路 和模型。给出c o r b a 安全的层次,阐述c o r b a 访问控制模型及安全对象服务,结合模型和 相关对象,讨论r i c s 系统设计原则和重要部分的细化设计,使得r i c s 更加合理和实用。 2 第一章绪论 第四章r i c s 原型系统实现根据c o r b a 拦截器技术给出访问控制拦截器的实现和拦截 点的详细论述。访问控制拦截器实现了r i c s 访问控制过程,达到客户端主体角色自动更新 和整个过程的阶段性描述。最后以c o r b a 应用系统t l i m s 为例,阐述了r i c s 在此c o r b a 系 统中实现基于角色访问控制过程。 第五章测试与分析。测试包括r i c $ 拦截器对调用请求服务的拦截情况,分析拦截器性 能。测试p d c s 的平均响应时问和线程池的并发性能,并对所测结果进行分析,提出影响系 统性能的因素。 第六章论文总结总结所做的工作,提出尚需完善的工作和问题。 3 第二章基础理论 2 1 中间件技术 2 1 1 引言 第二章基础理论 今天的信息系统的显著特征是使用分布式计算和构件技术。分布式计算技术采用由多台 计算机透过网络组成的计算资源,改善了计算能力而逐步取代了集中式计算:构件技术使得 系统可由相互通信的可复用构件集成。构件本身提供了系统所需的服务,不仅减少了开发代 价,且提高了健壮性和可扩充性,成为今天软件开发技术的主流。 然而,开发利用构件技术的分布式信息系统并非易事。其一,分布在不同主机上的构件 需要有一致的通信接口,而计算机网络的一个显著特征是异构性。分布式系统中通常使用了 不同的操作系统平台( 如u n i x ,w i n d o wn t 以及o s 2 等) 、各种通信协议和网络标准( 如 t c p ip i p x ,e t h e r n e t ,f d d i , t 地x 2 5 等) ,许多标准的网络程序设计接口( 如b s d s o c k e t 套接字) 和可复用库( 如s u nr p c 远程过程调用) “。一般只能对单一的操作系统和 协议提供支持,缺乏对分布式异构环境下构件通信所需的支持。其二,构件的接口需和实现 分离,因异构性使得构件可在不同的地址空间和语言环境中实现,故要求有中性的构件接口 标准以支持可移植性和互操作性。 研究表明,对于上述问题的一个有效解是使用分布式对象计算技术。其核心之一是采 用中间件( m i d d l e w a r e ) 技术。中间件是建立在分布式异构环境之上的软件,定义了构件间 的一个标准通信机制。隐藏底层操作系统和网络的区别以简化分布式构件的集成( 图2 1 ) 如开放组织o g ( o p e n g r o u p ) 的分布式计算环境d c e ( d i s t r i b u t e d c o m p u t i n g e n v i r o n m e n t ) ,但它提供的构件访问接口是面向过程的,并不支持和实现的分离。 其核心之二是采用面向对象的软件构件技术构造分布式构件( 对象) ,以提供各种服务。 面向对象通过抽象( 封装、继承及消息等机制) 有效减少了构件的构造复杂度并使得对象 的接口和实现分离。一旦定义了一致的接口,应用便可访问其它本地或远程对象提供的服务, 而毋须了解这些对象的实现和运行环境。面向对象系统的关键能力在于可扩充性,系统的功 能可通过存在构件的扩充和增加新的对象得以增强。 如图2 1 所示,在分布式对象 计算环境中,一个分布式应用一般 由请求服务的客户( c l i e n t ) 构 件和提供服务的对象( o b j e c t ) 构件构成。请求和服务也可以发生 在对象之间。中问件,或称为对象 请求代理o r b ( o b j e c tr e q u e s t b r o k e r ) 在异构分布式环境下支 持构件问可靠、透明的访问和不同 系统上构件之间的互操作。分布式 对象计算领域中的核心问题是缺 少构件和中间件的开发标准即满 ;m i d d l e w a r d ( o b j e c tr e q u c s tb r o k e 0 圊囤 阿 翮陆捌。赢硎 ; n e t w o r k 臣丑一; 图2 1 采用中间件的分布式体系结构 足异构环境的要求,又可利用和兼顾已有的对象技术和产品如微软的分布式构件对象模型 d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 嘲虽然支持w i n 3 2c o m 对象问的通信,但 缺少对异构环境互操作的支持 第二章基础理论 为了促进分布式异构环境下应用开发标准的建立,成立于1 9 8 9 年的对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 定义了一系列基于面向对象技术的中间件技术标准和规范。o m g 目前拥有7 5 0 多个成员,这些成员通过提供技术和思想来响应o m g 提出的建议请求r f p ( r e q u e s tf o rp r o p o s a l s ) 。通过成员的响应,o 懈采纳基于成熟技术,且在商业上可行的 规范。 本节在描述o m g 提出的对象管理体系结构o m a ( 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 的关键组成部分公共对象请求代理体系结构规范c o r b a ( c o m o n o b j e c tr e q u e s tb r o k e ra r e h i t e c t u r e ) 伽。 2 1 2 对象管理体系结构o m a 存在的各种分布式计算技术所面临的主要闯胚是软件构件集成,因为缺乏一种商业上可 行的、被广泛接受的标准方法和框架,能够支持分布式构件的可移植性和互操作性。为此, o m g 提出了对象管理体系结构呲,其目的是在基于分布式互操作对象的前提下,定义一个。 分布式构件体系结构的接口和协议,以支持互操作应用的设计和开发。 o m a 由对象模型( o b j e c tm o d e l ) 和参考模型( r e f e r e n c em o d e l ) 组成。其中,对象 模型定义如何描述一个分布式构件,参考模型定义构件之阀如何在分布式异构环境中交互。 o m a 是一个一般的体系结构模型,本身并不定义对象或中间件的内部结构和实现技术。这样 利于包容已有的技术和遗产软件,给予实现者更多的选择空问 o m a 对象模型用一种与实现无关的方式来定义对象外部可见特征的一般语义,这些特 征主要用于描述对象的操作接口和客户请求协议。该模型将对象系统定义为对象的集合,其 中每个对象都是一个具有类型的封装体,其提供的服务只能通过良定义的接口来访问。客户 向对象发出请求来执行所需的服务,而提供服务的对象的实现和所处的位置对客户是透明 的。在0 姒中,接口是对象操作的抽象,等同与传统的类( c l a s s ) 说明概念。接口采用与平 台无关的方式描述,使对象可实现在任何平台上,其操作可通过一致的接口被访问。 图2 2o m a 参考模型接口分类 o m a 参考模型用于刻划组成o m a 的构件、接口和协议的特征“1 。图2 2 表示了该模型的 构件和接口分类。对象请求代理o r b 是0 姒的核心构件,是实现分布式异构环境下应用互操 作的基础,主要作用是负责客户、以及对象的接口间透明、可靠的透信。利用o r b 相互通信 的对象接口有如下四类; ( 1 ) 对象服务( o b j e c ts e r v i c e ) :提供使用和实现对象的基本功能服务的接口集。这些基本 服务可能是多数分布式应用所需要的,因此与任何应用领域无关。例如任何应用领域几乎都 需要发现其它可用服务的服务,如命名服务( n a m i n gs e r v i c e ) 使客户程序能基于对象名字 发现该对象,而交易服务( t r a d i n gs e r v i c e ) 使客户程序能基于对象属性发现该对象0 姒 的公共对象服务规范“定义了各种重要的服务接口,如对象周期管理、安全性、事务、事件 等服务 5 第二章基础理论 ( 2 ) 公共设施( c o m d nf a c i l i t i e s ) :与对象服务不同,公共设旄提供直接面向最终用户应 用的服务,本身是建立在对象服务基础上的。例如分布式文档构件设施( d d c f ) 为基于 o p e n d o c 的复合文档设施,用于支持基于文档模型的对象表示和交换,如方便将表格对象链 入报告文档。o m a 的公共设施规范”定义了各种公共设施接口,如用户界面、信息管理、系 统管理和任务管理属于所谓的水平公共设施,即可由多数应用所共享的设施,而垂直市场设 施为支持与领域相关的服务设施。 ( 3 ) 领域接口( d o m a i ni n t e r f a c e s ) :与上述两类接口不同,该接口是直接面向特殊应用领 域的,如财经、卫生、制造业、电信和商务等图2 2 强调了领域接口是由应用领域组成 的接口集。 ( 4 ) 应用接口( a p p l i c a t i o ni n t e r f a c e s ) :该接口是为已有的应用特殊定义的。因为其是应 用相关的。且o m g 只定义规范,而不开发应用,故此类接口并未标准化。事实上,o m g 目前 并未给出此类接口的规范。然而,若随着时间的推移,从某些特殊应用中出现一些广泛有用 的服务,则它们可能成为将来o m g 标准化的候选 图2 3 表示了o m a 参考模型的另一部分,对 象框架( o b j e c tf r a m e w o r k s ) 。与上述直接面向 基础o r b 结构的接口不同,对象框架是面向特殊 领域的,本身由应用、领域、设施和服务对象组 成的协作构件集。对象框架从概念上对分布式 软件构件集成提供了支持。在图2 3 中,每个对 象均表示了一个使用o r b 与其它构件通信的构 件。内圈表示该构件的实现内核,而外圈为它所 支持的接口。这样,某些构件支持应用、领域、 设施和服务接口,而另一些只支持这些接口的一 个子集。构件问的通信建立在对等( p e e rt o p e e r ) 基础上,即一个构件即可是其它服务构件 的客户,又可是其它构件的服务器。在c o r b a 中,客户和服务器的概念是以一次请求为基础 的。 a p g 。p b 哆j l i c e a d t i s 。nd o e 哆n 。t c i b nf o a h c i l c i o b , a i = a p p l l c a t i o n i n 把f f a c ec f = c o m m o n f w - i l i t i 嚣 d i = d o m a i n i n u x f i l c c s o s = o b j e c t s c r v i c 自 图2 30 m a 参考模型:接口用途 o m g 将对对象框架的规范作出明确定义,但目前o 粥的主要努力集中于0 m a 的o r b 构件, 因为毕竟o m a 中的任何构件均有赖于o r b 。 2 1 3 公共对象请求代理体系结构c o r b a 公共对象请求代理体系结构c o r b a 是0 懈最早采纳的规范之一,该规范描述和定义了 o m a 的o r b 接口和特征。0 m g 于1 9 9 8 年释放了最新的c o r b a 2 2 规范“1 ,其主要内容有:1 o r b 内核( c o r e ) ;2 o m g 接口定义语言i d l ;3 接口池( i n t e r f a c er e p o s i t o r y ) ;4 语言映射 ( l a n g u a g em a p p i n g ) ;5 接口存根与骨架( s t u ba n ds k e l e t o n ) ;6 动态调用与分布( d y n a m i c i n v o c a t i o na n dd i s p a t c h ) ;7 对象适配器( o b j e c ta d a p t e r ) :8 o r b 互操作协议( i n t e r _ o r b p r o t o c 0 1 ) 。其中大部分内容如图2 4 所示,图2 4 同时表示了c o r b a 构件之间的关系。以 下我们分别讨论这些构件。 2 1 3 1o r b 内核 如上所述,o r b 的作用是将客户的请求发送给对象,并将任何回应返回至发出请求的客 户。客户欲让o r b 发送请求的对象称为目标对象。o r b 的关键特征是客户与对象之间通信的 透明性在通信过程中,o r b 一般隐蔽了以下内容: ( 1 ) 对象位置:客户毋须了解具体目标对象所在的地址。目标对象可在网络上某主机的不同 6 第二章基础理论 进程中,或在同一机器的不同进程中,或在同一机器的相同进程中。 ( 2 ) 对象实现:客户毋须了解具体目标对象是如何实现的,抑或用何种语言写成,也毋须了 解该对象所在的操作系统和硬件环境。 ( 3 ) 对象执行状态:当客户发送请求时,它毋须了解目标对象当前是否处于激活状态,( 即是 否处于一个执行进程中) 并可以接收请求。若有必要o r b 可透明地激活该对象。 c i l e n t o b j e c ti m p l e m e n t a t i o n 刍黼斛 o r b c o r e 目s a m ef o ra l lo r b s闷l 1 l a t em a yb em m i p l e 二一o b j e c t a d a p u z s 因脚哪卿蛐。io r b - p r i v a t ei nterfacesstubs a n ds k e l e t o n s ”“ 图2 4 公共对象请求代理体系结构c o r b a ( 4 ) 对象通信机制:客户毋须了解o r b 使用何种底层通信机制( 如t c p i p ,分享存储器,及 本地方法调用等) 来发送请求和响应回答。 o r b 的通信透明性使得应用开发者可较少考虑低级分布式系统的程序设计问题,面更多 地关心应用领域问题。 为构造和发送一个请求,客户仅需使用一个对象引用( o b j e c tr e f e r e n c e ) 。当一个c o r b a 对象被建立时,该对象的引用同时被建立。在客户使用对象的引用时,只要该对象依然存在, 则该引用指定同一个对象,即一个对象引用仅指向单一对象。对象引用只能由o r b 处理,本 身具有不变性和不透明性。这意味客户不能改变对象引用,也不能通过它直接引用对象的实 现。对象引用的实现可有不同形式,它即可以是满足o m g 互联网o r b 互操作协议( i n t e r n e t i n t e r _ _ o r bp r o t o c 0 1 ) 的形式,也可为o r b 实现的专有形式。 客户在发送请求前,可以用几种不同的方式获取目标对象的引用。其一是通过建立对象 来获取引用,c o r b a 并未定义特殊的客户操作来建立对象,建立对象是通过向所谓。工厂 ( f a c t o r y ) ”对象( 即用于建立对象的对象) 发送通常的请求完成的。建立对象请求返回被 建立对象的引用至客户程序。其二是通过目录服务,即客户可对某种类型的查询服务发送请 求以获得对象的引用。如上述的名字服务和交易服务,使客户可通过对象的名字或属性获得 该对象的引用。但与工厂对象不同,这些服务并不建立新的对象,它们只是存储已存在对象 的引用及其相应属性。因此,目标对象在建立时,需对这类服务发送请求以登记自己的名字 或属性其三是通过使用字符串,客户可让o r b 将一个目标对象引用转换为字符串返回,该 串可由客户存放在文件或数据库中以备后用。只要该目标对象存在,则客户可使用o r b 的操 作将串转换为该对象的引用。 c o r b a 不设立特殊的对象建立操作的原因是尽量保持o r b 的简单化。然而,这将引起应 用如何自举并获得最初的对象引用( 如名字或交易服务对象引用) 的问题。为此,c o r b a 规 范指定o r b 本身提供了一个初等的“名字”服务,使应用能够请求更为一般的目录服务。例 如应用可将c o r b a 预定义名“n a m es e r v i c e ”作为参数引用o r b 的 r e s o l v e _ i n i t i a l _ r e f e r e n c e 操作来获得o r b 已知的名字服务对象引用 事实上,c o r b a 不可能使用一个单接口对不同的对象粒度、机制及其实现提供方便、 有效的通信支持因而,c o r b a 构造建立在o r b 内核之上的构件( 如对象服务和公共设施) 7 第二章基础理论 来提供必要的接口”。 2 1 3 2o m g 接口定义语言m l 删g 接口定义语言i d l 用于定义对象的接口。一个对象的接口指定该对象所支持的类型 和操作,因而唯一定义了可用于该对象的请求形式。客户在构造请求时,必须了解对象的接 口接口在形式上类似于c + + 中的类和j a v a 中的接口,如以下说明了一个简单的0 惦i d l 接口定义: 镪醛i d l i n t e r n e ef a c t o r y j e c tc r e a t e 0 ; ; 该定义指定名为f a c t o r y 的接口,该接口支持一个无参数操作c r e a t e ,其返回一个 o b j e c t 类型的对象引用若已知f 8 c t o r y 类型对象的引用则客户可引用该操作建立新的 c 0 船a 对象。 i d l 的一个重要特征是其语言无关性。因为i d l 本身是说明式语言,而不是程序设计语 言,故它强调接口定义与对象实现分离。这使得对象可用不同的程序设计语言构造,且依然 可相互通信。语言无关性对分布式异构环境的重要性在于并非所有的语言和软件工具在任意 平台上是可行的。 i d l 提供了类似存在于多数程序设计语言中的类型系统类型用于指定对象接口操作的 参数和返回值类型。为定义操作中可能

温馨提示

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

评论

0/150

提交评论