(系统分析与集成专业论文)分布式消息队列的理论、实现与应用.pdf_第1页
(系统分析与集成专业论文)分布式消息队列的理论、实现与应用.pdf_第2页
(系统分析与集成专业论文)分布式消息队列的理论、实现与应用.pdf_第3页
(系统分析与集成专业论文)分布式消息队列的理论、实现与应用.pdf_第4页
(系统分析与集成专业论文)分布式消息队列的理论、实现与应用.pdf_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

华 中 科 技 大 学 博 士 学 位 论 文 摘要 消 息队 列是由s y s t e m v引 入的 进程间 通讯( i p c ) 的 一 种机 制, 在1 9 9 3 年由i e e e 在标准i e e e s t d 1 0 0 3 . 1 中 进行了标准化而成为p o s i x标准的一部分。 p o s i x消息队 列在单机范围内已 成为通用的 通讯标准。 本文对p o s i x消息队列进行了 有效的扩展, 使其分布在网络上作为一种基础中间件平台为分布式计算提供服务。 本文做了一些卓 有成效的工作以对现行的p o s i x消息队列进行了实质性的改进: 1 . 成功地把消息队列从单机拓展到网络 ( 局域网甚至是广域网) , 深入分析了分 布式环境下消息队列的宏观架构和微观特征, 进而提出了分布式消息队列的概念, 并 且设计了一套完整可行的实现方案。 2 . 提出了用描述字的方式引用分布式消息队列的方法并成功地实现。从而突破 了 在p o s i x和s y s te m v体系下,消息队列作为一个独立的 特别的 实体而存在所造成 的局限性。这意味着分布式消息队列与其他的标准的f o通道完全一致,给客户进程 的编程模型带来极大的方便。 3 . 成功实现了对分布式消息队列异步的操作方式, 消除了p o s i x消息队列只能 够进行同步访问的缺陷。 异步的v 0方式给了应用程序更大的灵活性和更好的响应特 性。 4 . 提出了以x ml 和x s d的方式来包装和描述消息的方法, 队列内部提供对x m l 进行解析和串行化的功能。 这种方法进一步地扩展了分布式消息队列与其他中间件的 兼容性和互操作性。 5 . 在分布式消息队列的基础上首次提出了“ 软件总线”的概念。 本文深入探讨 了在分布式消息队列的平台基础上传递s o a p 消息,从而实现松散祸合的远程调用, 以构造一种简单灵活、 易于扩充、 跨平台的、 松散祸合的总线结构的分布式软件平台。 这个平台类似于硬件总线在机器内部各部件之间的通讯作用,我们称之为 “ 软件总 线” 。 比 较d c o m 或c o r b a 等传统的 组件技术, 软件总线具有更合理的 通讯模式, 更好 的兼容性和互操作性。 在软件总线支持下, 客户和服务器并不是紧密藕合的点到点的 通讯, 当 客户向 总线请求服务时, 由 总线定位服务器, 并且在服务器之间 提供负荷平 衡功能。 软件总线在网络环境下作为一个虚拟的通讯通道为总线上的各节点提供松散 祸合的远程调用服务, 它为分布式计算提供了一个新的思路和解决方案, 在软件工程 户种种种.,种种种种 i 华 中 科 技 大 学 博 士 学 位 论 文 领域具有广阔的应用前景。 另外,本文所实现的分布式消息队列提供多种响应和通告机制,以及数据加密、 日 志等附加可选的服务功能。 分布式消息队列服务与现有的目 录管理服务兼容,队列 实例纳入目 录管理之中,为客户提供快速的全局查询能力。 本文从软件工程理论和实际应用案例两个方面深入探讨了分布式消息队列的应 用: i , 提出了在分布式消息队列的基础上构建具有动态路由功能的松散祸合的工作 流管理系统的实现方式。 在分布式消息队 列的支持下, 工作流管理系统具有更高的可 靠性和稳定性, 更易于实现路由配置和松散祸合的集成。 这种构建方案对其他的电子 商务应用也十分具有推广和应用价值。 2 . 在三峡梯级调度中心对 三峡数字梯级调度决策支持系统与 三峡梯级水 电联合调度以及其他的相关系统使用分布式消息队列进行系统集成。 在分布式消息 队列的支持下, 分布式计算方便地跨越了不同的操作系统与编程环境, 降低了应用系 统群的藕合度和依赖性, 减少了 重复开发, 增强了 模块的 重用, 各子系统与模块能够 顺利地链接、 协作, 相互关系清晰, 调用方式灵活, 数据传递路由 动态配置, 系统扩 充性好, 极大地提高系统群的兼容性和互操作性, 为以 后的维护、 升级改造、 系统扩 展留下足够的空间。 本文所提出的分布式消息队列体系在软件理论上有所突破和创新, 在实际工程中 得到成功的应用,具有广阔的发展潜力和推广价值。 关键词:分布式消息队列 p o s i x标准 决策支持系统自 动发电控制 x ml s o a p 软件总线工作流 系统集成 -一-. . . 目 . . . 一. , , .一. 甲 钾曰 . . . 抽. . . . . . . . . . . 1 1 华 中 科 技 大 学 博 士 学 位 论 文 a b s t r a c t m e s s a g e q u e u e i s m e c h a n i s m s o f i n t e r p r o c e s s c o m m u n i c a t io n l e d b y s y s t e m v , w h i c h i s s t a n d a r d i z e d i n t h e s t a n d a r d i e e e s t d 1 0 0 3 . 1 勿 i e e e in 1 9 9 3 a n d b e c o m e s a p a rt o f p o s i x s t a n d a r d w h o s e m e s s a g e q u e u e h a s b e c o m e a c o m m o n c o m m u n i c a t i o n s t a n d a r d i n t h e s t a n d - a l o n e a r e a . t h i s d i s s e rt a t i o n h a s m a d e e ff i c i e n t e n l a r g e m e n t a n d e x p a n s i o n o f p o s i x m e s s a g e q u e u e , w h i c h i s d i s t r i b u t e d o n n e t w o r k a s b a s i c c o m m u n i c a t in g m i d d l e w a r e p l a t f o r m o n n e t w o r k a n d a l s o p r o v i d e s s e r v i c e w i t h d i s t r i b u t e d c o m p u t a t i o n . t h e r e a r e s o m e r e m a r k a b l e w o r k s o n i m p r o v i n g t h e a c t i v e p o s i x m e s s a g e q u e u e e s s e n t i a l l y : 1 . s u c c e s s f u l l y e x p a n d s t h e m e s s a g e q u e u e fr o m s t a n d - a l o n e t o n e t w o r k ( l o c a l a re a n e t w o r k e v e n w i d e a r e a n e t w o r k ) , w h a t s m o r e , a n a l y z e s t h e m a c r o s c o p i c a l l y s t r u c t u r e a n d m i c r o s c o p i c a l l y c h a r a c t e r i s t i c u n d e r t h e d i s t r i b u t e d e n v i r o n m e n t d e e p l y a n d a l s o d e s i g n e d a s e t o f in t e g r a l a n d f e as i b l e a c t u a l i z e s o l u t i o n . 2 . b r i n g s f o r w a r d t h e m e t h o d o f c it i n g m e s s a g e q u e u e 妙d e s c r ip t o r a n d c a r r i e s i t o u t s u c c e s s f u l l y i n t h e a p p l i c a n t s y s t e m . t h e r e f o r e , b r e a k s t h r o u g h t h e l i m i t s o f t h e i n e s s a g e q u e u e e x i s t e d a s a n a b s o lu t e a n d s p e c i a l e n t i ty u n d e r t h e p o s d c s y s t e m v s t a n d a r d . i t m e a n s t h a t t h e m e s s a g e q u e u e i s w e l l c o n s i s t e n t w i t h o t h e r s t a n d a r d i z e d i / 0 c h a n n e l s , w h i c h b r i n g s o u t g r e a t c o n v e n i e n c e t o t h e p r o g r a m m e d m o d e l s o f p r o c e s s . 3 . s u c c e s s f u l l y i m p l e m e n t s t h e o p e r a t i o n m e t h o d t o t h e as y n c h r o n i e s o f t h e m e s s a g e q u e u e a n d d i m i n i s h e s t h e d e f a u l t o f p o s i x m e s s a g e q u e u e b y s y n c h r o n i s t i c v i s i t in g o n l y . f u r th e r m o re , t h e as y n c h r o n y i / 0 m e t h o d p r o v i d e s t h e a p p l i c a n t p r o g r a m w i t h m o r e fl e x i b l e a n d r e s p o n s e c h a r a c t e r i s t i c . 4 . r a i s e s t h e m e t h o d s o f p a c k a g i n g a n d d e s c r i b i n g m e s s a g e u s i n g x m l a n d x s d a n d p r o v i d e s w i t h t h e f u n c t i o n s o f a n a l y s i s a n d s e r i a l s f o r x ml in t h e in n e r q u e u e . t h i s k i n d o f m e t h o d , m o r e o v e r , e x p a n d s t h e c o m p a t i b i l i ty a n d a l t e r o p e r a t i o n . 5 . p u t s f o r w a r d t h e c o n c e p t o f s o f t w a r e b u s a t t h e f i r s t t i m e o n t h e b as i s o f m e s s a g e q u e u e . t h i s d i s s e r ta t i o n d e e p l y d i s c u s s e s t h e p as s i n g s o a p m e s s a g e o n t h e b as i s o f d i s t r i b u t i n g m e s s a g e q u e u e . a n d , o n t h i s a c c o u n t , i m p l e m e n t s a w a y o f l o n g - d i s t a n c e t r a n s f e r o f l o o s i n g c o u p l i n g f o r c o n s t r u c t i n g a d i s t r i b u t i n g s o ft w a r e p la t f o r m w i t h s i m p l e , fl e x i b l e , e as y - e x p a n d , h e t e r o g e n e o u s p l a t f o r m a n d l o o s e l y c o u p l e d b u s s t r u c t u r e . t h e f u n c t i o n o f t h e p l a t f o r m r e s e m b l e s t h e c o m m u n i c a t i o n e ff e c t o f h a r d w a r e b u s i n s i d e t h e m a c h i n e a m o n g e a c h c o m p o n e n t , w h i c h w e c a l l it s o ft w a r e b u s . g e n e r a l l y s p e a k i n g , s o f t w a re b u s h as m o re c o m p a t i b i l i ty a n d a l t e r o p e r a t i o n t h a n c o n v e n t i o n a l g r o u p w a r e s u c h as d c o m , c o r b a a n d s o o n . i n a d d i t i o n , i t c a n o ff e r c o mm u n i c a t i o n s e r v i c e f o r e a c h b u s ni 华 中 科 技 大 学 博 士 学 位 论 文 s it e a s a s u p p o s i t i o n a l c o m m u n i c a t i o n p a s s a g e u n d e r t h e n e t w o r k e n v i r o n m e n t a n d b e c o m e a m o r e u n i v e r s a l m i d d l e w a r e . l a s t b u t n o t t h e l e a s t , i t a l s o a ff o r d s a n e w i d e a a n d s o l u t i o n w a y f o r d i s t r ib u t i n g c o m p u t a t i o n a n d h a s w i d e a p p l i c a t i o n f o r e s i g h t i n t h e s o ft e n g i n e e r i n g d o ma i n d i s t r i b u t e d m e s s a g e q u e u e p u t f o r w a r d i n t h i s d i s s e r t a t i o n p r o v i d e s s e v e r a l k i n d s o f re s p o n d i n g a n d n o t if y i n g m e c h a n i s m , a n d i t o ff e r s o p t i o n a l s e r v i c e s s u c h a s d a t a e n c r y p t i o n a n d lo g fi l e . me s s a g e q u e u e s e r v i c e i s c o m p a t i b l e w it h t h e c u r r e n t d i re c t o ry m a n a g e m e n t s e r v i c e . q u e u e i n s t a n c e s a re i n c l u d e d i n d i r e c t o ry m a n a g e m e n t , w h i c h e n d o w s u s e r s w i t h t h e a b i l i ty o f r a p i d g lo b a l s e a r c h . t h i s d i s s e r ta t i o n d i s c u s s e s t h o r o u g h l y w i t h t h e a p p l i c a t i o n s o f d i s t r i b u t e d m e s s a g e q u e u e i n t h e f i e l d o f s o f t w a r e e n g i n e e r i n g t h e o ry a n d p r a c t i c a l a p p l i c a t i o n c a s e s : 1 . i t p r e s e n t s t h e s o l u t i o n o f h o w t o c o n s t r u c t l o o s e c o u p l i n g w o r k fl o w m a n a g e m e n t s y s t e m w i t h t h e a b i l i ty o f d y n a m i c r o u t e b as e d o n d i s t r i b u t e d m e s s a g e q u e u e . wit h t h e s u p p o r t o f m i d d l e - w a r e s o f d i s t r i b u t e d m e s s a g e q u e u e , w o r k fl o w m a n a g e m e n t s y s t e m b e c o m e s m o re r e l i a b l e a n d r o b u s t , w h i c h m a k e s t h e i n t e g r a t i o n o f r o u t e c o n fi g u r a t i o n a n d l o o s e c o u p l i n g e as i e r . a n d t h i s k i n d o f s o l u t i o n i s v e ry p r o m i s i n g i n t h e fi l e d o f o t h e r e - c o m m e r c i a l a p p l i c a t i o n . 2 . f u r th e r m o re , i t u s e s d i s t r i b u t i n g m e s s a g e q u e u e t o i n t e g r a t e s y s t e m in t h e s c h e d u l i n g c e n t e r o f t h r e e g o r g e s c as c a d e a n d o t h e r c o r r e s p o n d i n g s y s t e m s . w i t h t h e s u p p o r t o f d i s t r i b u t e d m e s s a g e q u e u e , d i s t r i b u t e d c o m p u t a t i o n c a n c o v e r d i ff e r e n t o p e r a t i o n s y s t e m s a n d p r o g r a m m i n g e n v i r o n m e n t s , w h i c h l o w e r s t h e c o u p l i n g d e g r e e a n d d e p e n d e n c y o f a p p l i c a t i o n s y s t e m c l u s t e r s , l e s s e n s t h e re p e t i t i o n o f d e v e l o p m e n t , in c r e as e s t h e r e u s a b i l i ty o f m o d u l e s . e a c h s u b s y s t e m a n d m o d u l e i n t e r c o n n e c t s a n d c o o p e r a t e s s m o o t h l y w i t h c l e a r r e l a t i o n s h i p s a n d fl e x i b l e w a y s o f t r a n s f e r . wi t h d a t a t r a n s f e r r o u t e d y n a m i c c o n fi g u r a t i o n a n d h i g h e x p a n d a b i l i ty o f t h e s y s te m ; t h e s y s t e m c l u s t e r s i n c re as e t h e c o m p a t i b i l i ty a n d c o o p e r a t i o n a b i li ty g re a t l y , w h i c h p r o v i d e s e n o u g h s p a c e f o r t h e ma i n t e n a n c e a n d a l t e r a t i o n i n t h e f u t u re. d i s t r i b u t e d m e s s a g e b r e a k t h r o u g h i n s o f t w a re q u e u e t h e o ry . p u tf o r wa r d i n t h i s d i - n a t i o n i s a n i n n o v a t i o n a n d i t h a s a c h i e v e d s u c c e s s f u l a p p l i c a t i o n i n p r a c t i c a l e n g ine e ri n g ,w h i c h p r o v e s it h a s a h i g h v a l u e f o r f u r th e r d e v e l o p m e n t s . k e y w o r d s : d i s t r i b u t e d m e s s a g e q u e u e , p o s d x s t a n d a r d s , x m l , s o a 只s o ft w a r e b u s , wo r k fl o w ma n a g e m e n t , d e c i s i o n s u p p o r t s s y t e m , a u t o g e n e r a t i o n c o n t r o l , s y s t e m i n t e g r a t i o n 一. . . 一. . , . . , . , 喇 . . 一电 , 州 一. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 口 口 口 . . . . . . . . . . . . . . . . . . . . . . . . . . 曰 . . 叫 口 . . . . . . . . . . . . . . . . . . 曰口 目 . 门 口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .门. 心日 月. . . . . . . w 独 创 性 声 明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除文中已 经标明引用的内容外,本 论文不包含任何其他个人或集体已 经发表或撰写过的研究成果。对本 文的研究做出贡献的个人和集体,均己 在文中以明确方式标明。本人 完全意识到本声明的法律结果由本人承担。 学 位 论 文 作 者 签 “ :广本 ;走 公o u 乙年 1 2 月 2 犷日 学位论文版权使用授权书 本学位论文作者完全了 解学校有关保留、 使用学位论文的规定, 即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密 口,在 本论文属于 不保密 口。 ( 请在以上方框内打 “j 1 1 ) 年解密后适用本授权书。 学 位 论 文 作 者 签 名 :广 本 4t指 教 师 签 名 : a la ) o o -3 年 , a 月.is日z o 吟年 i z月多 日 华 中 科 技 大 学 博 士 学 位 论 文 1 绪论 回 顾了 分布式计算的发展过 程, 评述了当 前主要的分布式计算的技术与产品, 指 出了 这些方案存在的问 题,介绍了 本文的技术背景,简 要阐述了 本文的主要内 容. 1 . 1分布式计算及其相关研究 1 . 1 . 1 分布式计算 计算机的计算能力与计算方式是随着操作系统的发展而发展的。 在操作系统诞生 之前( 1 9 4 5 年到5 0 年代中 期) , 计算工作是通过在插板上的硬连线来控制的, 繁琐而 且可靠性低。随着第二代计算机的出现,程序的 采用穿孔计制成卡片,输入、处理、 输出工作只能以串行的方式进行, 而且必须由 人工负责计算机的调度和作业的编排。 随后操作系统发展为简单的批处理形式, 通过一个监控程序软件来管理控制多个作 业。 6 0 年代中后期, 操作系统逐渐成熟, 多道成批处理系统充分发挥系统设备的并行 性, 第一次引进了多任务的概念. 而分时系统又引进了多用户的概念, 提供了 对用户 的快速响应能力。 从上世纪 8 0 年代到现在,随着大规模集成电 路的发展,个人计算 机以极快的速度得到普及。m s - d o s , w i n d o w s , u n i x 在个人计算机平台上非常流行, 计算机的计算能力深入到了个人领域。另一方面,从 8 0年代中期开始出现新的发展 趋势, 运行网 络操作系统( n e t w o r k o p e r a t i n g s y s t e m ) 和分布式操作系统( d i s t r i b u t e o p e r a t i n g s y s t e m )的计算机网 络开始崛起。计算机的 计算能力得到进一步加强。同 时计算的含义也进一步拓宽。 最初, 计算只指科学计算, 例如解微分方程等。 现在计 算的内 容已 经包括数据处理,商务政务处理,实时监测,数据保存、查询、备份等。 为了 满足日 益增长的对信息处理和科学计算的要求, 进行更大规模的科学计算, 计算 方式在朝着几个不同的方向 继续发展1 4 81 1 : ( 1 ) 超级计算机;( 2 ) 集群系统、 分布式 操作系统; ( 3 ) 在通过网络互联的具有独立操作系统的计算机之间进行的分布式计算。 第三种是本文将要研究的计算方式. 很自 然地, 最初的分布式计算将一个计算任务放在两台计算机中完成, 其中最典 型的 应用形式是数据库应用程序。 数据库服务器处于一台独立的机器, 为所有的客户 提供数据服务, 这是最简单最直接的分布式计算的例子。 为了减轻数据库服务器的负 荷, 将其中的业务计算部分提炼出 来单独作为一个独立的服务器在最终客户和最终服 华 中 科 技 大 学 博 士 学 位 论 文 务器之间进行中转, 这就是流行的3 层结构。 事实上中间层可以不止一层。它也可以 是多 层的 2 1 。 一 个典 型的w e b 应用就 是多 层的 分 布式 计 算的 例子。 2 6 . 1 0 6 1 因 为客户/ 服务器应用程序跨越了多台计算机, 所以 需要一种象 t c p / i p 1 1 s 或者 r p c 这样的网络基础设施来连接应用程序的各个节点。 直接使用底层协议来完成分布 式计算是可行的, 但是效率很低, 没有必要让每个系统都重复编写通讯代码。中间件 技 术由 此 应 运 而生 3 11 。 从 上 世 纪9 0 年 代开 始, 中 间 件 技 术得 到了 极 为 迅 速的 发 展, 各大厂商纷纷推出自己的产品,并且逐渐形成了一些行业标准、国际标准。 1 . 1 .2相关研究 1 . 1 .2 . 1 r p c 第一个获得广泛认可的中间件技术是远程过程调用3 1 ( r e m o t e p r o c e s s c a l l r p c ) 。 使用r p c ,客户应用程序可以调用在远程计算机上实现的c 语言函数。对于远 程过程调用的体系结构来说, o n c r p c ( o p e n n e t w o r k c o m p u t i n g r p c ) 和d c e ( o p e n g r o u p s 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 ) 是主流标准。 在r p c 抓制下, 为了 实 现跨进 程甚 至跨机 器的 通讯, 它采 用了 一 种称为 列集 ( m a r s h a l i n g )的方法, 数据传输之前, 先进行列集, 然后通过网络协议传到通讯的 另一端,读取数据时,先对数据进行散集 ( u n m a r s h a l i n g ) ,它是列集的相反过程。 s u n 公司于1 9 8 5 年发行了它的r p c 软件包的第一个版本。 使用s u n r p c 最广泛流行的 是n f s ,即s u n 的网络文件系统。 在分布式计算领域, r p c 更多地被用作其他高层的 中间 件技术的通讯基础,而不是单独地使用,但是,r p c 所提出的一些概念,比 如数 据的 列集 与散 集、 认证与加 密 等, 都 被其 他的 技 术所继 承和发 展 4 1 1 . 1 . 2 . 2 c or b a 随着o o p 的编程思想逐渐被人接受, 象c 十+这样的面向对象编程语言日 渐流行, 分布式中间件也受到了 极大的影响, 朝着面向 对象的 方向 演化。 对象管理组织( o b j e c t m a n a g e m e n t g r o u p o m g ) 是一 个由 许多计算机软件和硬件开发商组成的 组织, 它提 出7公 共对象请求代理体系结构 ( 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 a r c h i t e c t u r e, c o r b a ) ,改规范描述了 跨语言、进程和机器边界的分布式对象体系结构。1 9 9 1 年 对 象 管 理 组 织o b j e c t m a n a g e m e n t g r o u p ( o m g ) 发 布了c o r b a l . 1,1o1, 其中 引 入t 接口 定义语言 ( i d l ) 6 1 和应用编程接口( a p i ) ,允许客户/ 服务器 对象与指定的 对象请 求代理 ( o b j e c t r e q u e s t b r o k e r ) 进行交互 o r b 是分布对象的中 介, 它为他们的 交 互建立一种请求者和提供者的关系,1 9 9 4 年出现了c o r b a 2 . 0主要定义了 o r b 如何 华 中 科 技 大 学 博 士 学 位 论 文 让来自 不同服务的提供商进行交互。 在c o r b a中,一个对象用一个接口 表示,而接口 中 包含方法, 对象的 特定实例通 过对象引用进行标识。c o r b a 对象的客户首先获得对象的引用,然后用它作为句柄调 用对象的方法, 对象位于客户的地址空间中。在这个过程中,o r b 负责查找对象的实 现, 让它准备接受客户的请求,并把请求传送给它, 最后将结果返回给客户。c o r b a 逻辑结构示意图如下: 图1 . 1 c o r b a逻辑结构图 c o r b a 规范定义了客户程序与服务器程序中的对象通讯的机制。处理通讯的对象 分别成为存根 ( s t u b )和架构 ( s k e l e t o n ) 。存根在客户端,架构在服务器端。在客 户端, 存根对象担当c o r b a 对象的代理,当客户应用程序调用c o r b a 对象的方法时, 存根把调用传给o r b , o r b使用s m a r t a g e n t( 聪明 代理) 程序定位c o r b a 服务器, 在c o r b a 服务器上, o r b 把调用传递给架构,而架构与o r b 之间的通讯需要经过b o a ( 基 本 对象 适配器) , 或p o a 7 3 1 ( 可移植 对 象 适配 器) 。 服务 器运行指定的 过程, 然后 由 相反的路径返回结果。 1 . 1 .2 . 3 dc o m d c o m ( d i s t r i b u t e d c o m p o n e n t o b j e c t m o d e l ) 是微软的c o m 技术针对分 布式环 境的 扩展6 7 1 ,为了支持远程对象,它在 d c e - r p c之上建立了一个对象远过程调用 ( o r p c ) 层。 一个c o m 服务器可以创建多个对象类的对象实例, 而一个c o m 对象可以 支持 多 个接口 , 每个 接口 都可以 有一 系 列的 相 关的 方法 门 。 c o m 客 户 和c o m 对象交 互 时, 首先获得指向 对象某个接口的 指针, 然后通过这个指针调用接口的方法。 就好象 对象位于客户的地址空间一样。 c o m要求所有的接口 必须遵循类似c + + 虚函数表的标 准内 存布局,由于它是二进制级的规范,因此使用不同程序语言编写 的二进制模块 可以 方便地进行集成6 9 .7 0 1 . d c o m 逻辑结构示意图如下: 华 中 科 技 大 学 博 士 学 位 论 文 图 1 . 2 d c o m 逻辑结构图 d c o m 和c o r b a 在各自 的 领域非常 流 行, 但也 有一 些不足之处 i . c o r b a 和d c o m 系统中, 客户和服务器有紧密祸合的联系。 都要求对运行环境进行严格的管理和配置. 程序员在处理c o r b a或d c o m 消息时,必须按照他们各自 的规则安排数据结构,确定 数据类型,客户和服务器必须对对方有充足的了解,客户和服务器才能相互通讯。 d c o m 需要有w i n d o w s 系统的 支持, 它声称要、 但从未在其他的 系统上实 现。 而 c o r b a 虽然在多个不同的平台实现了, 但使用他们的 解决方案必须依靠于某个特定的 实现提供商。 ,c o r b a应用需要整个环境中都使用同一种 o r b产品。虽然有些来自 于 不同 提 供商的c o r b a o r b能 够相互交 互9 ,3 5 1 , 但还 没有上升到比 较高的 层次,比 如安 全性和事务管理。 由 于以 上两个原因,d c o m和 c o r b a的扩展性都不太好。它只能在一个比较小的 范围内运转。而且他们的结构也不容易扩展,只能是简单的星型结构或者稍作改进。 另外, 使用c o r b a和d c o m编程是一件技巧性很高的工作, 它要求程序员有熟练的c 什 能力, 而且对d c o m 或c o r b a规范有深入的理解, 这往往不是一件容易的的事情。 编程 难度在很大程度上阻碍了他们的应用。 1 . 1 . 2 . 4 e j b e j b 的 全 称是e n t e r p r i s e j a v a b e a n s , 它是 开发 和部署基于组件的 分布式 商务 应 用程序的 一种组件结构. 利用e j b结构开发的 应用程序是可伸缩的, 事务性的, 多用户 安全的. 这些应用程序可能只需编写一次, 然而可以 部署在任何支持e j b 规范的服务器 平台上3 6 1 e j b 是 j a v a技术中部署在服务器端的一种组件结构标准, 它是一个协议, 它是为 基于组件的服务器端应用程序提供了一种与厂商无关的 j a v a接口, 可以让任何符合 -目目 .-, -. 叫 . 一一. . . . . . . . . . . . . . . . ., . . . . . .一 4 华 中 科 技 大 学 博 士 学 位 论 文 e j b 规范的组件运行于每一台符合 e j b规范的服务器上. 而一个组件是一段实现一系 列确定接口的程序代码. 它们不是一个完整的应用程序,只是程序的组成模块, 不能 独自 运 行 , 主要 用于充当 解决 大型问 题的 功能 模块。 1 0 1 在分布式对象结构下, 系统的不同部分被部署到不同的计算机上, 而这些计算机 可能相距遥远; 也就是说, 分布式对象结构允许远程获得商务逻辑和数据. 这样的结构 也使得在一台计算机上的一个对象看上去好像分布在不同的计算机上, 这就要求所有 的分布式对象协议都建立在相同的基础结构上. e j b 的分布式对象结构使用的是代理对象. 客户端并不直接访问e n t e r p r i s e b e a n 类的实 例, 而是使用e n t e r p r i s e b e a n 的 远程接口 来访问e n t e r p r i s e b e a n 的实例 由 此可看到, 在e j b 开发中, 除了 对e n t e r p r i s e b e a n 类本身进行编码外, . 还必须 为之定义接口 , 通常我们定义两个: 一个本地接口 和一个远程接口 , 这些接口 类的实现 通常由容器生成, 这些接口类所实现的分布式对象称为e j b 对象. e j b 的最大限制在于 对j v m 的限 制。 通讯的 双方都必须有j a v a 运行环境99 1 , 这对用户是一个强迫的 要求。 1 . 1 . 2 . 5 .ne t . n e t 框架 6 4 1 是一 种新的 计 算平台, 它简化了 在高 度分 布式 工 n t e r n e t 环 境中的 应用程序开发。 . n e t框架旨 在实现下列目 标:提供一个一致的面向 对象的编程环境, 而无论对象代码是在本地存储和执行, 还是在本地执行但在 工 n t e r n e t上分布, 或者 是在远程执行的; 提供一个将软件部署和版本控制冲突最小化的代码执行环境; 提供 一个保证代码 ( 包括由 未知的或不完全受信任的第三方创建的代码) 安全执行的代码 执行环境: 提供一个可消除脚本环境或解释环境的性能问 题的代码执行环境; 使开发 人员的经验在面对类型大不相同的应用程序 ( 如基于 w i n d o w s的应用程序和基于 w e b的应用程序)时保持一致。 . n e t框架具有两个主要组件:公共语言运行库和 , n e t框架类库。公共语言运 行库是 . n e t框架的 基础。 我们可以 将运行库看作一个在执行时管理代码的代理, 它 提供核心服务 ( 如内存管理、线程管理和远程处理) ,而且还强制实施严格的类型安 全以 及可确保安全性和可靠性的其他形式的代码准确性。 事实上, 代码管理的概念是 运行库的基本原则。 以 运行库为目 标的 代码称为托管代码, 而不以 运行库为目 标的代 码称为非托管代码。. n e t框架的另一个主要组件是类库,它是一个综合性的面向对 象

温馨提示

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

评论

0/150

提交评论