




已阅读5页,还剩78页未读, 继续免费阅读
(计算机科学与技术专业论文)基于ccm构件实现框架的设计和代码生成研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文摘要 近年来,随着面向对象技术和分布计算技术的迅速发展和逐渐融合,出现了很多面向对象的中间件技术。其中,由o m g 组织制定的企业标准c o r b a ,以 其强大的互操作和集成能力,广泛应用于电信、邮政、金融、保险、制造业以及交通运输等多个领域,成为主流的中间件技术之一。但是,基于c o r b a 开发分布式应用的过程非常复杂。因为对象不仅要实现业务逻辑,还需要实现大量服务支撑逻辑,如事务服务、安全服务以及由c o r b a 提供的实现网络分布特性的服务等,从而使应用开发与底层平台紧密相关, 导致代码量大,应用开发难度大、周期长,易于出错,而且移植性与重用性也相对较差。于是,以简化分布式应用开发, 提高代码重用性、 移植性为目 标的c c m ( c o r b a c o m p o n e n t m o d e l , c o r b a 构件模型) 技术应运而生叫。 本课题的目 标是通过对c c m 规范的研究,在遵循规范的前提条件下,设计并实现构件实现框架的代码生成。从而使基于c o r b a 构件平台的程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性, 将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 本课题所实现的代码生成严格遵循规范要求,并且对接口的处理与规范要求的一致,因此, 能充分保证框架的灵活性,使用户能在已生成的代码上轻松加入自己的业务逻辑。本文的主要工作包括: 1 .剖析c c m 抽象构件模型。 抽象构件模型定义了构件的外观特征和接口定义方式, 包 括s u p p o r t 接口、 刻面、 插接口、事件源、事件槽以 及属性和配置机制。显然, 抽 象构件模型是c i f ( c o m p o n e n t i m p l e m e n t a t i o n f r a m e w o r k ,构件实现框架)设计 和实现的依据。 2 .在深刻理解c c m 技术的基础上,通过对c c m 规范中的构件类型与c i d l ( c o m p o n e n t i m p l e m e n t a t i o n d e f i n i t i o n l a n g u a g e , 构 件实 现定 义 语言 ) 的 分 析, 研究了 c c m 使用c 工 d l 对不同类型构件的实现框架的描述方式。 3 基于前两项工作,本文设计了构件实现框架。通过对工 d u和c 工 d l 编译器的前端开 发模型的分析,完成了编译器后端代码生成的设计,从而实现了对构件实现框架 的设计。生成的代码主要由一些框架文件组成,包括:s e r v a n t 实现文件、对象传 值和事件类型实现文件、用于语言映射的本地接口文件、构件上下文实现文件、 构件描述符文件、属性文件等。 4 .对编译器的前端语法树生成和后端代码生成进行了测试和评估。测试结果表明, 所实现的工 d l 3 和c 工 d l 编译器能成功地生成构件实现所需的框架代码,从而辅助实 现构件在接口中定义的各种机制, 【 关键词】 :分布计算技术、c o r b a 构件模型、构件实现框架、编译器、代码生成 . 本课题得到了8 6 3 重点课题网 络环境的新一代中间件核心技术及运行平台 ( n o .2 0 0 1 a a 1 1 3 0 2 0 ) , 自然科学基金新一代网络中间件的 体系结构、 协议及实 现机制( n o . 9 0 1 0 4 0 2 0 ) 国家重点基础研究发展规划 项目 9 7 3 项目 ) 海量信息系 统的 基础软件结 构与实 现机制的 研究 n o .g 1 9 9 9 0 3 2 7 0 3 ) 的 资助。 i国防 科 学技 术 大 学研 究 生 院 学 位 论 文abs tract wi t h t h e d e v e l o p m e n t a n d m a r r i a g e o f o b j e c t - o r i e n t e d t e c h n o l o g y a n d d i s t r i b u t e dc o m p u t i n g t e c h n o l o g y i n t h e s e d a y s , a l o t o f o b j e c t - o r i e n t e d m i d d l e w a r e c o m e t o b e in g . a s t h ee n t e r p r i s e c r i t e ri a p r o p o s e d b y o m g , c o r b a h a s b e c o m e t h e o n e o f t h e m o s t p o p u l a rm i d d l e w a r e f o r it s g r e a t e i n t e r o p e r a b i l it y a n d s t r o n g s u p p o r t f o r i n t e g r a t i o n . c o n s e q u e n t l y ,c o r b a i s w i d e ly u s e d i n t e l e p h o n e c o m m u n i c a t i o n , p o s t a l s e r v i c e , m a n u f a c t u r e , f in a n c e a n dt r a n s p o r t a t i o n . h o w e v e r , i t s v e ry c o m p l e x t o d e v e l o p t h e d i s t r i b u t e d a p p l i c a t i o n b a s e d o nc o r b a , s i n c e e x c e p t t h e b u s i n e s s lo g i c t h e o b j e c t m u s t i m p l e m e n t l o t s o f s e r v i c e l o g i ci n c l u d in g t r a n s a c t i o n s e r v i c e , s e c u r i t y s e r v i c e a n d t h e s e r v i c e p r o v i d e d b y t h e c o r b a t os u p p o rt d is t r i b u t e d f e a t u r e . o b v i o u s l y , t h e d i s t r ib u t e d a p p l i c a t i o n , w h i c h t i e s c l o s e l y t o t h ep l a t f o r m , w i l l i n v o l v e a l a r g e a m o u n t o f c o d e , a n d w i l l b e d i ff i c u l t a n d e r r o r - p r o n e t o b ed e v e lo p e d , a n d w i l l l o s t t r a n s p o r ta b i l i t y a n d r e u s a b i li ty . a s t h e r e s u l t , o m g p u t s f o r w a r d ac o m p o n e n t m o d e l b a s e d o n c o r b a , c c m , t o s i m p l i f y t h e d e v e l o p i n g o f t h e d i s t r i b u t e da p p l i c a t io n a n d i m p r o v e t h e t r a n s p o r ta b i l i t y a n d r e u s a b i l i ty o f t h e c o d e t h e a i m o f t h i s p r o j e c t i s , t h r o u g h s t u d y i n g t h e c c m c r i t e ri a , u n d e r t h e c o n d i t i o n o fo b s e r v i n g t h e c r i t e ri a , t o d e s i g n a n d im p l e m e n t t h e c o d e g e n e r a t i o n o f c o m p o n e n ti m p l e m e n t a t i o n f r a m e w o r k s o t h a t t h e p r o gr a m d e v e l o p i n g p e r s o n a l s b a s e d o n c o r b ac o m p o n e n t p l a t f o r m c a n c o n f r o n t a s i m p l i f i e d a n d u n i t e d d e v e l o p in g e n v i r o n m e n t , le s s e r t h ec o m p l e x i t y o f p r o g r a m d e s i g n i n g , f o c u s o n t h e i r o w n w o r k a n d g r e a t l y r e d u c e t h e t e c h n o lo g i c a lb u r d e n b e c a u s e t h e y d o n t h a v e t o d o t h e r e p e t it i v e w o r k o f t r a n s p l a n t in g i n d i ff e r e n ts y s t e m a t i c a l s o ft w a r e s . t h e c o d e g e n e r a t i o n o f t h e p r o j e c t a b i d e s b y t h e r e q u i r e m e n t s w i t hw h i c h t h e m a n a g e m e n t o f i n t e r f a c e a g re e s . t h e r e f o r e , t h e fl e x i b i l i ty o f t h e f r a m e w o r k i se n s u r e d ,t h e u s e r s c a n e a s i l y a s s h i s o w n b u s i n e s s l o g i c i n t h e g e n e r a t e d c o d e .t h e p r i m a ry w o r ko f t h i s p a p e r i n c l u d e s : 1 . we a n a l y z e t h e a b s t r a c t c o m p o n e n t m o d e l o f c c m. t h e a b s t r a c t c o m p o n e n t m o d e ld e f i n e s h o w t h e c o r b a c o m p o n e n t s a r e v i e w e d b y o t h e r c o m p o n e n t s a n d c l ie n t s , i n c l u d i n g t h es u p p o rt i n t e r f a c e , f a c e t s , r e c e p t a c l e s , e v e n t s o u r c e s , e v e n t s i n k s , a t t r ib u t e s a n d c o n fi g u r a t i o nm e c h a n i s m . o b v i o u s l y , c i f ( c o m p o n e n t i m p l e m e n t a t i o n f r a m e w o r k ) w i l l b e d e s i g n e d a n di m p l e m e n t e d a c c o r d i n g t o t h e a b s t r a c t c o m p o n e n t m o d e l . 2 . t h r o u g h t h e d e e p s t u d y o f c c m t e c h n o l o g y a n d w it h t h e a n a l y s i s o f t h e c o m p o n e n t t y p ea n d t h e c i d l ( c o m p o n e n t i m p l e m e n t a t i o n d e f in i t i o n l a n g u a g e ) , w e d o s o m e r e s e a r c h o n h o wt o d e s c r ib e i m p le m e n t a t i o n f r a m e w o r k o f d i ff e r e n t c o m p o n e n t u s i n g t h e c i d l 3 . b as e d o n t h e f o r m e r r e s e a r c h w o r k , w e d e s i g n t h e c o m p o n e n t i m p l e m e n t a t i o n fr a m e w o r k .t o i m p l e m e n t t h e c o m p o n e n t i m p l e m e n t a t i o n fr a m e w o r k , t h r o u g h a n a l y z in g t h e fr o n t e n d o f t h ei d l 3 a n d c i d l c o m p i l e r , w e d e s i g n t h e c o d e g e n e r a t io n r u l e s w h i c h re s u l t i n m a n y c o m p o n e n tfr a m e w o r k f i l e s , i n c l u d i n g t h e s e r v a n t i m p l e m e n t a t i o n f i l e , t h ea n d e v e n ti m p l e m e n t a t i o n f i l e , t h e l o c a l i n t e r f a c e f i l e f o r l a n g u a g e m a p p i n g , t h e c o m p o n e n t c o n t e x ti m p l e m e n t a t i o n f i l e , t h e c o m p o n e n t d e s c ri p t o r f i l e a n d t h e p r o p e r t i e s f i l e e t c .1 1国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文 4 . a t l a s t , w e i m p l e m e n t t h e c o m p i l e r o f c c m p l a t f o r m . f u r t h e r m o r e , w e t a k e s o m e t e s ta n d e v a l u a t io n o n t h e f r o n t e n d a n d b a c k e n d o f t h e c o m p i l e r w it h t h e r e s u l t d e m o n s t r a t i n g t h ec o r r e c t n e s s o f t h e i d l 3 a n d c i d l c o m p i l e r s . k e y w o r d s : d i s t r i b u t e d c o m p u t in g t e c h n o lo g y , c o r b a c o m p o n e n t m o d e l , c o m p o n e n t i m p l e m e n t a t i o n f r a m e w o r k , c o m p i l e r , c o d e g e n e r a t i o n. . , , , , , 一 , , 一 i i i独创性声明 本人声明 所呈交的学位论又是我本人在导师指导下进行的研究工作及取得的研究成果。 尽我 所知, 除了 文中特别加以 标注和致谢的 地方外, 论又中 不 包含其他人已经发表和撰写过的研究成果, 也不包含为获得国防科学技术大学或其它教育机构的学位或证书而 使用过的 材料 与我一同工作的同志对本 研究所做的 任何贡 献均已 在论文中作了 明 确的 说明 并表示 谢意 。 学位论文题目: 墓于c c m 构件实现框架的设计和代码生成研究学 位 论 文 作 者 签 名 :柳t a, -日 期 :1 -3年r 之 月8日学位论文版权使用授权书本人完全了 解国防科学技术大学有关保留、 使用学位论又的规定。 本人授权国防 科学技术大学可以 保留并向国家有关部门 或机构送交论文的复印 件和电 子文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存、汇编学位论又。( 保密学位论文在解密后适用本授权书.学位论文题目 :学位论文作者签名:作者指导教师签名:朴二 县-16 -日 期 :; -v 3年r 2 月了日日 期 : -2 邮 年( z ,a夕 日国 防科 学 技 术 大 学 研 究 生 院 学 位 论 文图目录图1 . 1 传 统 的c o r b a 对 象 模型 u q , . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2图1 . 2 c c m 系统设计总图 , , . . . . . . . . . . . . . . . . , . . . 8图2 . 1抽象构件模型 . . . . . . 卜 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2图2 . 2 c c m 构件可以 通过p o r t 机制相互作用2 ) ,二 ,二、 . , ,. , 二1 3图2 . 3构件接口 和构件的 刻面u l , . . . . . . . . . . . . . . , . . 1 4图2 . 4构件插接口 和构件之间的关系 . . . . . . . . . . . . . . 卜 . . , 1 5图2 . 5事件发布者和订阅者之间的交互关系 . . . . . . . . . . . . . . . . . . . . 1 6图2 . 6事件发射者和事件消费者之间的交互关系 . . . . . . ,. . . . . . 1 7图2 . 7事件源和事件槽之间的关系 . . . . . . . . , . . . . . . . . . . . 1 8图2 . 8实例背景一 f i n a n c e二, . . . . . . . . . . . . . . . . . . . . . . . . . . , .2 0图2 . 9 f i n a n c e 的实例建模 . . . , . . . . . , . 卜. . . . . . . . . , 2 1图3 . 1最小组合的结构和组成部分之间关系 l9 1. . . . . . . . . . . . . , . 2 5图3 . 2有 状态管理的 组合的结 构 19 . . . . . . . . , , . . ,. . , 2 6图4 . 1 c c m 容器二, ; . , . . . . . . . . , . , . . . 3 2图4 . 2 c c m 容器接口类图. , , . . . . . . , . , . . . . . . . , . 3 3图4 . 3构件实现的开发过程 , , 二 , , . , . 卜 . . . . . . . . . . . . . 3 4图4 . 4构件与s u p p o r t e d i n t e r f a c 。 之间的关系 . . . . . . . . , . . 3 9图4 . 5构件与 p r o v i d e d f a c e t 之间的关系 . . . . . . . . . . ., 4 0图4 . 6构件与e v e n t c o n s u m e r 之间的关系 . . . . . . . . . . . . . . . . . . . . . . . . 4 1图4 . 7构件h o m e 类图 . , . . . . . . . . . . , . . . 4 2图4 . 8构件c o n t e x t 类图 二, 二。. . . . . . . . . , . . . . . . . . . . 4 3图5 . 1构件的实现框架 . . . . . . . . . . . . . . . . . . . . . , . . , .5 0图5 . 2 i d l 编译器开发模型. . , . . . . . . . . . . . . . . . . . . 5 1图5 . 3编译器的体系结构 . . . . . . . . . . . . . . . . . . . . . . 卜 . . 5 2图5 . 4编译器的工作流程 二, . , . , , .、 . , , . , 二卜 . , . 5 2图5 . 5编译器后端实现流程 . . . . . . , . . , . . . . . . . , 二5 3图5 . 6 i d 1 3 c p p g e n e r a t o r 类部分属性和操作的u m l 定义图. 卜 . . 5 6图5 . 了c i d 1 c p p g e n e r a t o r 类部分属性和操作的u m l 定义图 . . . . . . . . . . . 5 8一一一-一-一一一. 一. 一一一一一一- 一一一-一- l v国 防 科 学 技 术 大 学 研 究 生 院 学 位 论 文表目录表 1 . 1本文所支持的c c m 与 s o u r c e f o r g e . n e t 网站的c 工 f比照 . . , . . 6表2 . 1 基本类型构件. . . . , , 卜 , , , . . 卜 . . 1 1表2 . 2 扩展类型构件. . . . . . . . . . . . . , . . , , . . . . . 1 1表 3 . 1特征代理的类型兼容性 . . . . . . . , . . . . . . , . . . . . . 3 0lt a防 科学 技 术 人 学 研 究 生 院学 位 论 文第一章绪论 随着计算机网络的迅猛发展,通过网络相连的多机计算环境越来越普遍。伴随着这些变化,分布计算技术以不可逆转的势头进入到政治、经济等社会生活领域的各个角落,深刻的影响着我们的生活。 而分布计算环境由各种各样的异构系统组成, 它们之间的通信模式复杂多样, 使分布式系统9 1 中的软件开发比集中式系统更为困 难。 但是各领域的实际需求又强烈的促进了分布计算技术的发展,对分布计算研究者提出了更高的要求。 近年来, 研究分布计算环境的中间件技术4 5 , 4 7 1 目 前几乎成了开发分布式应用的计算机工 作 者 面临 的 突出 课题。 c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e r , 公 共 对 象 请求 代 理 ) 构 件技术正是为研究这种中间件技术而产生的重要课题。 1 1研究背景 目 前,面向i n t e rne t 的大型分布式应用系统普遍采用基于中间件技术的三层客户朋 民 务器计算模式。 在这种模式下, 系统的复杂应用需求集中体现在位于服务器端的业务逻辑功能 实 现 上, 它 使 得 软 件 应 用 调 用 分 布 对 象 操 作 时, 无 需 关 心 对 象 的 位 置 所 使 用 的 编 程 语言、 操作系统平台、底层的网络协议、网 络互联和硬件。 例如, 基于中间件的c o r b a技术。相对于传统操作系统提供的服务, 它解决了异构平台上分布对象的互操作和可移植性问题, 使得分布式系统的开发人员能够摆脱传统的网络编程以及维护分布事务完整性等繁琐局面, 直接针对业务逻辑功能实 现。 这种模式的核心机制是对象请求代理( o b j e c t r e q u e s tb r o k e r ), 简称o r b . 为了 使c o r b a具有高度的可重用性, o m g提出了 一套c o r b a对象服务规范u . 3 1定义了 在使用一般的分布服务时 所采用的 标准接口, 这些c o r b a对象服务诸如名字服务、交易服务和通告服务等,通过使用c o r b a对象服务,系统开发者能够集成不同开发商提供的分布应用。 c o r b a产品开发出的应用具有一定的可重用性,这些优势使得 c o r b a产品在分布式应用开发过程中能极大提高开发效率,减少人力和物力的开销。1 . 1 . 1传统c o r b a对象模型的局限性 尽管传统的c o r b a分布计算4 1, 3 9 1 技术给出了完整的企业应用解决方案, 但在构造企业分布式应用过程中,软件工程师们仍然必须面临大量的应用编程模式、程序设置开关等复杂的内容。这是由于图1 . 1 所示的这种传统c o r b a对象模型具有诸多局限性造成的: . 没有一个配置对象实现的标准方式,如:对象实现的发布、安装、激活等。因此 系统设计人员就不得不使用特别策略来实例化系统中的所有对象; . 缺少对c o r b a s e r v e r 中公共编程术语的支持,期待自 动生成公共用例程序。尽管 p o a 提供了 对象注册、 激活、 去活的标准接口 和足够灵活的 策略来配置服务行为, 但很多应用程序只需要其中部分配置,而且开发人员还要学习这些策略以得到期 望的行为; . 难于扩展对象的功能。在传统的 c o r b a对象模型中,对象只能通过源代码级的重 用来扩展, 应用程序开发人员必须先定义一个 i d 口弓 , 接口,实 现该接口, 并在所碑 一一 - 一-一一一叫 -一一 . 一一. - 一-.一一 第 1页围防科学技术人学研究生院学位论文第一章绪论随着计算机网络的迅猛发展,通过网络相连的多机计算环境越来越普遍。伴随着这些变化,分布计算技术以不可逆转的势头进入到政治、经济等社会生活领域的各个角落,深刻的影响着我们的生活。而分布计算环境由各种各样的异构系统组成,它们之间的通信模式复杂多样,使分布式系统8 1 中的软件开发比集中式系统更为困难。但是各领域的实际需求又强烈的促进了分布计算技术的发展,对分布计算研究者提出了更高的要求。近年来,研究分布计算环境的中间件技术“”1 目前几乎成了开发分布式应用的计算机工作者面临的突出课题。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 ,公共对象请求代理) 构件技术正是为研究这种中间件技术而产生的重要课题。1 1 研究背景目前,面向i n t e m e t 的大型分布式应用系统普遍采用基于中间件技术的三层客户,服务器计算模式。在这种模式下,系统的复杂应用需求集中体现在位于服务器端的业务逻辑功能实现上,它使得软件应用调用分布对象操作时,无需关心对象的位置、所使用的编程语言、操作系统平台、底层的网络协议、网络互联和硬件。例如,基于中间件的c o r b a 技术。相对于传统操作系统提供的服务,它解决了异构平台上分布对象的互操作和可移植性问题,使得分布式系统的开发人员能够摆脱传统的网络编程以及维护分布事务完整性等繁琐局面,直接针对业务逻辑功能实现。这种模式的核一t l , 机制是对象请求代理 o b j e c tr e q u e s tb r o k e r ) ,简称o r b “1 。为了使c o r b a 具有高度的可重用性,o m g 提出了一套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产品在分布式应用开发过程中能极大提高开发效率,减少人力和物力的开销。1 1 1 传统c o r b a 对象模型的局限性尽管传统的c o r b a 分布计算“。技术给出了完整的企业应用解决方案,但在构造企业分稀式应用过程中,软件工程师们仍然必须面临大量的应用编程模式、程序设置开关等复杂的内容。这是由于图1 1 所示的这种传统c o r b a 对象模型具有诸多局限性造成的:没有一个配置对象实现的标准方式,如:对象实现的发布、安装、激活等。因此系统设计人员就不得不使用特别策略来实例化系统中的所有对象;缺少对c o r b , 4s e r v e r 中公共编程术语的支持,期待自动生成公共用例程序。尽管p o a 。1 提供了对象注册、激活、去活的标准接口和足够灵活的策略来配置服务行为,但很多应用程序只需要其中部分配置,而且开发人员还要学习这些箢略以得到期望的行为:难于扩展对象的功能。在传统的c o r b a 对象模型中,对象只能通过源代码级的重用来扩展,应用程序开发人员必须先定义个i d l 。”接口,实现该接口,并在所第l 页国防科学技术人学研究生院学何论文有s e r v e r 中配置该实现。c o r b ai d l 的多重继承是有缺陷的,因为有的语言不支持重载;另外,应用程序可能用同一个i d l 接口多次发布服务的多个实现或多个实例,多重继承使得不可能不止一次的发布同一接口或客户确定哪一个最下层的版本;服务的使用是通过编程实现,复杂度高;没有标准的对象生命周期管理。尽管c o r b a 对象服务定义了生命周期服务,但其使用也不是强制性的。因此,客户需要显式的知识通过特殊的方式来管理对象的生命周期。另外,通过对象生命周期来管理对象,开发人员必须明白这个事实,并必须定义辅助接口来控制对象的生命周期。定义这些辅助接口是比较枯燥的,可能的话,c o r b a 规范应将这一过程自动化。图1 1 传统的o o r b a 对象模型因此,c o r b a 作为一种成熟的中间件技术,虽然具有跨操作系统、跨平台。”、跨语言等强大的互操作性,但其复杂性成为它在企业的分布计算环境中应用的主要障碍。而在另一方面,当今的企业分布式应用必须支持企业应用的通用、易开发、高效灵活、高度可重用等性能,才能满足复杂的应用需求,并适应快速的需求变化,这无疑对面向企业的分布应用的软件体系结构,开发方法及开发质量提出了更迸一步的要求。1 1 2c o r b a 构件技术从抽象程度来看,面向对象技术“”3 已达到了类级重用( 代码重用) ,它以类为单位进行封装。这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现,第2 页国防科学技术人学研究生院学位论文从而使软件像硬件一样,能任人装配定制而成的梦想得以实现。近几年来,构件技术的发展已证明了它的巨大威力。为了克服传统c o r b a 对象模型的局限性和满足分布应用需求,o m g 扩展了传统c o r b a对象模型,在c o r b a 3 0 中提出了c o r b a 构件模型c c m 。i “( c o r b ac o m p o n e n tm o d e l ) ,它遵循c o r b a 理念,面向多种编程语言、操作系统和硬件平台,类似于e j b ”9 。”“1 ,但比e j b 更完整,更规范,它的目标是简化c o r b a 服务器方应用开发过程,增加c o r b a 的易用性,保护已有投资。1 9 9 9 年7 月,o m g 组织发布c c m 规范草案,从1 9 9 9 年到2 0 0 0 年1 2月,c c m 草案经过多次研究和修改,开始进入企业投票阶段,2 0 0 2 年c c m 已经正式成为c o r b a 3 o 标准的一部分。自此,c o r b a 构件技术以降低中间件平台的复杂性为目标,成为了中间件技术的主要发展方向。构件概念的提出主要基于软件重用的思想。虽然对象也是一种可重用的软件实体,但对象实现的逻辑实际包括两部分:实现业务功能的逻辑、实现服务支持的逻辑,如安全事务服务等。前者的实现相对简单,后者则比较复杂,而且后者的实现通常是通过调用底层中间件或应用服务器提供的服务接口来实现的,与底层平台结合紧密。因此,一个对象的开发不仅比较复杂,涉及大量底层实现,代码量大,移植性和重用性也相对比较差。构件技术通过分离服务支持逻辑,将对服务的需求实现为描述性文件,从而使得软件工程师们的编程过程尽量简单:如代码量减小,移植性和重用性高。基于c o r b a 构件技术,一方面,它采用传统分布对象计算模型,支持面向对象的应用系统开发:另方面,和c o r b a 中间件相比又具有以下优点。:支持高度的应用软件重用,使得功能重叠的多个业务系统可用共享或重用相关的功能,从而简化应用的开发;支持系统级的高可用、可伸缩技术,使得建立在其上的分布式应用能够共享底层对高可用、性能等服务质量的支持,从而简化开发人员的难度,提高开发效率和开发质量;提供通用的分布系统集成方案,使得对内部的分布式系统、遗留系统以及外界系统的集成简单、通用和高效;提供方便的应用软件分发和动态维护、升级功能;提供方便的分布式应用管理以及与网管系统的无缝衔接功能,使得能够对分布式应用进行实时的监控和管理。高可重用分布式构件系统的研究结合了分布式构件技术与分布式系统高可重用技术的优点,从而为大型企业的分布式应用需求提供了较为满意的| 生能支持,并弥补了分布计算平台技术在分布构件系统的应用管理、配置管理、负载均衡调度及系统可伸缩等内容研究上的不足。随着企业面临越来越高的负载和容量需求,面向应用服务器集群的分布计算技术应运而生。而基于分布构件技术构造的分布式应用服务器集群,具有显著的易管理、易配置、易开发、易调度等的优点。因此,研究和实现这一部分的内容,具有技术上的先进性和广泛的应用前景。c c m 技术正是在继承和吸收c o r b a 传统规范的基础上制定的服务器端构件应用开发模型。由于o m g 组织的c o r b a 规范一直为广大开放系统平台厂商所支持,使得c o r b a 构件技术具有既不局限于特定系统平台,也不局限于特定开发语言的特点,因此将被众多分布计算厂家支持,具有广阔的市场前景。同时,也为本文研究与实现的成功打下了良好的基础a第3 页国 防 科 学 技 术 人 学 研 究 生 院 学 位 论 文 1 . 2研究现状c o r b a分布构件技术在现有分布计算技术基础上,建立了新的面向构件的分布计算软件工程方法,并提供了辅助用户开发分布式应用的有效工具,对服务器端事务、安全、事件等机制进行了高度集成。因此,可以说分布构件技术集成了许多相关分布计算领域。本节将对一些主要的分布计算厂商和科研机构在分布构件及其相关领域的产品和研究现状做一简要的介绍和分析比较;同时,对正在研究c c m 的机构和小组的产品也进行了认真的分析。因为,只有广泛地了解和研究它们,才能正确理解和掌握c o r b a 构件技术的内涵,并成功设计c o r b a 构件实现框架o , 2 . 6 和合理生成实现框架的代码。1 . 2 . 1分布构件技术目 前,在主流分布计算平台上, 有三种服务器端构件模型技术,如s u n 的e j b 技术、m i c r o s o f t 的c o m / d c o m / c o m + 技术, . s u n e j b s u n e j b 0 2 2 2 , , 技术是在j a v a和c o r b a的c c m 技术。b e a n 构件26 基础上发展的面向服务器端分布应用的构件技术。 它支持j a v a 语言,提供了基于j a v a二进制字节代码的重用方式。e j b 给出了系统的服务器端分布构件规范,件配置等的标准规范内 容。式应用成为可能。这包括了构件的结构、构件容器的接口规范以及构件打包、构e j b 技术的 推出, 使得 基于构 件 方法开发j a v 扩 。 , 服 务器端 分布. m i c r o s o f t c o m / d c o m / c o m + 0 微 软的c o m / d c o m / c o m + 的 构件采用普通的c o m ( c o m p o n e n t o b j e c t m o d e l ) 模型。 c o m最初作 为微软桌面系统的构件技术,主要应用于本地的o l e 应用服务,随着微软服务器操作系统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 , d c o m , m i s的功能有机地统一起来,形成一个概念新、功能强的构件应用体系结构。 .c o r b a c c m c o r b a c c m ( c o r b a c o m p o n e n t m o d e l ) 技术,是 在支持p o a c 25 . 4 9 的c o r b a 规范基础上,结合e j b当前规范的基础上发展起来的。c o r b a发和配置分布式应用的服务器端构件模型规范。构件模型,是o m g 组织制定的一个用于开它包括如下主要内容:抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构。该模型引入构件实现定义语言 c i d l t2 .6 .6 2 1( c o m p o n e n t i m p l e m e n t a t i o n d e f i n e l a n g u a g e ) ,用于定义服务器端构件的代码生成方式。与c o r b a 的i d l 编译工具17 .1 2 不同的是, c o r b a 构件接口 编译工具生成的代码将不仅仅是客户方s t u b s 和服务器方 s k e l e t o n s ,而包括了几乎是完整的服务器端应用框架。构件容器结构, 用以提供通用的构件运行和管理环境,并支持对安全、事务、 持久状态等系统服务的集成。构件的配置和打包规范,c c m使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于x m l 的文档内容标准。一一一一一一-一一一 第 4页国 防 科 学 技 术 大 学 研 究 生 院 学 位 沦 文二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 . 相关性分析 上 述 三 种 分 布 构 件 技 术, 均 是 在 底 层 分 布 计 算 平 台 技 术 基 础 上 发 展 起 来 的 , 因 此 也 这些 底 层 平台 所固 有 的 特 征 由 于 底 层 计 算 平台 的 差 异 , 它 们 在 系 统 建 模 上 不 尽 相 同 。 其 中 ,微 软 采 用 的c o m 模 型 , 其 相 关 构 件 类 工 厂 ( c l a s s f a c t o r y ) 由 底 层 操 作 系 统 支 持 的 系统a p i 进 行 创 建; 对 于e j b 和c c m , 则 是 通 过 引 入 相 应的 构 件h o m e 对 象 来 完 成 构 件 的 管 理工 作 的 。 随 着 技 术 的 发 展 , 一 方 面 , 从 技 术 角 度, e j b 与c c m 将 趋 于 兼 容 和 融 合 ; 另 一 方面, 在 分 布 计 算 互 操 作 协 议 上, 目 前 微 软、 s u n 与o m g 等 公 司 或 组 织 正 在 为s o a p ( s i m p l eo b j e c t a c c e s s p r o t o c o l ) 交 换 共同 发 展的 意 见, 不久 的 将来 , 这 三 种 主 流 的 构 件 技术 将达到一定程度的互操作支持。1 . 2 . 2 c c m 研究现状 目 前的c c m 平台有, 法国里尔大学的o p e n c c m - 0 . 2 , e x o l a b e 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关注考试细节的证券从业资格证试题及答案
- 微生物检验行业的科学进展试题及答案
- 微生物检验技术的挑战试题及答案
- 微生物检验人员的培训与技能提升试题及答案
- 高效复习方法分享行政管理师试题及答案
- 新兴传染病对微生物检验的挑战试题及答案
- 财务述职报告个人范文(范本10篇)
- 个人销售总结600字(9篇)
- 2025市场年度工作计划
- 乡镇教育工作会议上的讲话稿范文(3篇)
- 销售销售数据分析培训讲义
- 超密集组网技术及其应用
- 两位数除以一位数(有余数)计算题200道
- 产后早开奶好处健康宣教
- 人效分析报告
- 幼儿园大班班本课程《大蒜的秘密》
- 2024届江苏省期无锡市天一实验校中考联考英语试题含答案
- 内镜室院感培训知识
- 北师大版数学三年级下册《长方形的面积》
- 八年级黄金矩形(公开课)
- 第7课《珍视亲情+学会感恩》第1框《浓浓亲情+相伴一生》【中职专用】《心理健康与职业生涯》(高教版2023基础模块)
评论
0/150
提交评论