corba分析及开发应用

上传人:E**** 文档编号:117992537 上传时间:2019-12-11 格式:PDF 页数:4 大小:226.30KB
返回 下载 相关 举报
corba分析及开发应用_第1页
第1页 / 共4页
corba分析及开发应用_第2页
第2页 / 共4页
corba分析及开发应用_第3页
第3页 / 共4页
corba分析及开发应用_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《corba分析及开发应用》由会员分享,可在线阅读,更多相关《corba分析及开发应用(4页珍藏版)》请在金锄头文库上搜索。

1、网络与通信 C O R 日 A 分析及开发应用* 1 于长云 ( 天津理T 学院, 3 0 0 1 9 1 , c y y u m a il .ij u t .e d u .c n ) 摘 要 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 组件存根框架 J a v a S e rv l e t C O N C O R B A

2、 A n a l y s i s 后者包括应用对象( A p p l i c a t i o n O b j e c t s ) 和公共设施( C o m m o n F a c i li t i e s ) 。其中对象请求代 理构成O M A的基础, 它负责各组件间的 通讯,并 管理对象在异种机环境的、分布的、平台独立的以 及实现技术相异的条件下的交互操作。在执行任务 时,对象请求代理依赖于对象服务,后者负责通常 .l 本项目 受天津市自 然科学基金资助 .6 3 1. .日.一 9 9 青岛 一际计算机会议沦 文集 的具 体对象管理, 例如对象创建, 访问 控制以 及对 象重分配等。公共设

3、施和应用对象是最接近用户 的组件,它们实际 卜 执行调用系统组件服务的任 务 2 . C O R B A 规范 2 . 1对象请求代理结构 对象请 求代理, 简称O R B , 是C O R B A最I V 的组件,,L 传递客户的清求给具体 对象,万且负 责 返回数据或反 馈信息 图 I 是对象请求代理的内部 结构 F - 4 1 m 卜 激活与动态激 活。 静态力式可以总结为下列步 骤: 获取目 标对象的引用 使用该对象引用通过存根调用派生操作。 溉 O R B内核将i 青 求传递给 B O A , 后 者在必要 时将激活对象实现 了 对琢实现通知 B O A它 州t 各好处理新的 清求

4、勺 B O A传递请求信息给对象实 现 对象实现完l i d 其处理,开返回输出 或异常 给客户应用程序 在某些情况下 ,) 个 非构造 一 个激活请求的 所有 信息都会在开发 过程, 护 准备就 绪,这时需要 动态激 活方式。在此方式 I ,客户应用程序直接与 O R B 内核交互, 虽然代码更敏 杂,但灵活性更大 3 . C O R 日 A 开发应用 灯篆 育 不才 、互 h儿接门 沂 u约仲-A. 卜 , C 理I N百比狱巨 凡种对.多u限和e架 图1 C O R B A 对象请求代结构 习J一冷川川 所谓客户即在某 个对象 激活操作的程序实休 或一个进程客户应用程序小必了解对 象实现

5、的细 节、哪种刘象适配器正被使用、又 一 象所处的位置或 何种O R B产品正被使用 动态激活界面允许客户应用程序直按访问 O R B捉供的底层请求机制.客户应用秽序甚至u 进行延迟同步调用 对象请求代理界面是山C O R B A规范定义的抽 象接日,用于 隔离客户应川程序和实现细竹 对象适配器是对象实现和 O R B之问的中介软 件层一个具体对象实现牡 要通过对象适配器来访 问O R B提供的服务。 C O R B A定义了 用不同语言 编写、 在不同平台 上 运行的 应用程序勺 相操作的规范 这种互操作性 的关键在于接t 1 定 义语 0 ( I n t e r f a c e D e f

6、 i n i t i o n L a n g u a g e , I D L ) . I D L是 种 平台 独立的 语A , n 1 以与大部分程序语言褐合, 包括 l a v a . C . C . A d a 和 C O B O L 。开发人员像往常 样用这些语台 编制 应用程序,然后川 I D L描还应用程序的功能接L J 。 这样某个应用程序川以 通过业已 公布的 I D L接口 与其 他符合C O R B A规范的应用积序通讯对象请 求代理和 I D L ; i几 中间沟通不同语言 编写的程序, 这样一个J a v a A p p le t 7 直 接与 若I 用C 或C O B

7、O L 编写的服务器对象通讯图2给出1 基十C O R B A 的应用程序通讯 模式.近 5 0年来,软件开发已 经 经历了无数的革新,这种演变同时也带来巨大的问 题,各种小同的硬件平台、栏序语.劣 以及软件设计 方法不但没有解决兼容性问题,反而产生了 无穷的 混乱C O R B A 的出现无疑为解决兼容性问题带来 希明 o _ I C 4 。 斗 J, : P I 秽字 代 几一 一 - 一, , 了If k I T, IC I 2 . 2 C O R B A 激活机制 底层通讯机制是所有分布式系统中最重要的部 分之一 C O R B A 4 - 要支料两种激活机制,即静态 图2 基于C O

8、 R B A的应用程序通讯 J1 网络与通信 3 . 1 C O R B A 设计 C O R B A 的发展历史并不长,其技术及设计方 案仍在发展。基于C O R B A的方案通常涉及一些组 件,这些组件分别实现业务或应用逻辑的某个层 面。业务逻辑组件负责应用层次的任务,例如为病 人开药物处方或处理银行贷款申 请等。 服务器逻辑 组件则负责数据层次等任务,例如数据库访问、关 系数据库映射或错误事件记录等。 这些组件通常集 成在一个或多个服务器上,客户通过这些组件等 I D L接口 访问 它们的功能。 上述模式实际被引用为 “ 瘦客户”环境,即客户程序基本上只足传递用户 和服务器之间等交互,而

9、所有业务逻辑均被服务器 管理。 转向瘦客户 环境是大 势所趋, 然而这种转变需 要大量的设计工作。随 着越来越多的处理集中到服 务器上,后者必须能 够承担繁重的工作负荷。 服务 器组件往往需要过多的内 存才能应付每个客户, 这 样导致服务器无法承受超出设计目 标的客户数量心 另一个重要问题是多个服务器以及客户之间通 讯的优化。 如果一 个简单查询却触发跨网 络组件间 复杂的通讯,整个事务处理无疑会才 R 漫。如果各组 件是跨 I n t e rn e t 通讯,这个问 题会变得尤为严重, 原因在于 I n t e rn e t 的网络交通量难以预测,即使很 少量的信息也往往要经过许多站点刁能到

10、达目的 地。所以 性能优化问题对于C O R B A系统其实是至 为关键的。 瘦客户C O R B A环境的最大优点之一是维护成 本较低。传统的客户/ 服务器模式往往需要在成千 上万台 计算机上安装客户软件,由于 每 台 机器都 需要升级或更正错误,由 此带来时问以及资 金代价 是相当 可观的。 而在瘦客户环境,客户软件往往只 是一个万维网 浏览 器,因而不必频繁更新。服务器 软件则集中管理,如果业务逻辑需要修改,开发人 员往往只需改变服务器端的组件,而遍布各 地的客 户可以立即访问新功能 3 . 2 C O R B A 应用实例研究 C O R B A己 被广泛地应用于各行各业, 例如保 健

11、行业的应用,在这个顶目中有两种客户计算机: 一种与服务器建立低带宽慢速连接,另一种则与服 务器建立高带宽局域网快速连接。整个项目的基本 设计目 标是实现客户端只使用通用万维网浏览器 通过C O R B A构造瘦客户环境,土要困难在于 决定如何以 最优方式支持两种不同的客户。高带宽 客户运行 J a v a写成的软件。 J a v a软件具有丰富多 采的用户界面,其感观与普通 Wi n d o w s G U I程序 无二异。这类客户程序由具有局域网访问能力的用 户使用。另一种客户只有低带宽通讯手段,因此相 应 的软件 采 用 H T M L 编 写 ,在 最 新 的 D y n a ra i

12、c H T M L的支 持下, 这 类客户可以 具各同 样 的数据访问功能,同时不失灵活的用户交互性。 图3 一个C O R B A 实例结构 用不同的程序语言开发功能 一致的客户软件将 是个潜在的问题发生源,因为所有客户都必须与 同一个服务器通讯。 针对不同的客户开发不同的服 务器程序显然有悖于降低开发时问和资金的初衷 虽然从理论上而言C O R B A可集成不同语言的应用 秆序, 但到目 前为止 C O R B A尚无对 H T M L的直 接支持。我们的解决方案是构造种桥梁结构,利 用J a v a S e r v l e t 来填补这个空当,参见图3 。这种结 构允许J a v a 客

13、户通过 C O R B A服务器公布的I D L 接口 直接访问该服务器,H T M L客户则通过一套 在 S u n W e b S e r v e r 上运行的 J a v a S e r v l e t 间接访问 C O R B A服务器。这种方法能够有效的诀窍在于 J a v a S e r v l e t 其实就是用J a v a 写的C G I 程序, 只是 它的性能远比用 P e r l 写的 C G I程序优越。既然 S e r v l e t P l 以处理从网贞提交的P O S T或G E T请求, H T M L客户与C O R B A服务器通讯的问题也就顺 理成章地解决

14、了:H T M L 表格提交数据给 J a v a S e r v l e t ,后者分析该请求,将该请求翻译成 C O R B A清 求, 最后通过C O R B A对象请求代理执 行请求井返回结果 4 . C O R B 与C O M 的集成 现今大部分个人电脑都使用微软的 Wi n d o w s 家族产品。微软提供 C O M 作为 Wi n d o w s平台的 .6 3 3. t膝 , 9 育岛 一际计 算机会议论文集 对象模型;另一方面, C O R B A在大型机F . : U N I X 隧界是显而易见的选择这两者最终在 Wi n d o w s N T S e n e r、

15、 台短兵相接Wi n d o w s N T S e r N e r a实 现多层业务对象的流行平台显然,C O M 运行在 N 7 上,其实所有上要的C O R B A产品也都 运行在 N T上, 并H 针对N T 而优化 C O M 和 C O R B A是互相竞争的,然而这并不 妨碍我们兼收 一 者的功能和优势。集成利用 C O R B A 和 C O M 的道路在于采用所 谓的 C O M / C O R B A桥,即整合这两种技术的软件产品 C O M / C O R B A桥可使 C O R B A对象的行为石 上去 象原始的 C O M 对象。这样开发者可利用 P C领域 各种强

16、大的工具,例如V i s u a l S t u d i o 或 V i s u a l B a s i c 等。同时由于 C O M / C O R B A 桥是双向的,C O M 对象也可以原始C O R B A对象的而目出现在旧系统 中 一个较为 流行的集成策略是使用C O M作为前 端,使用 C O R B A作为后援。C O M 的设计目 标是 简化复合文档的管理,井提供连接与嵌入以及平件 处理C O M 可将个文档的状态变化传给多个视 窗,并支持拖放及剪贴功能。而C O M最新的发展 是支持封装化的软件组件,如A c t i v e X控件等,这 种趋势已 对软件工 业产生卜 1 大的驱动力。C O M 从 开始就基于单 用户个人电 脑而设计,尽符它的分布 式版本 D C O M 业已 推出, 但其内部仍留有大量单 用户产品痕迹。;阳 反的是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号