分布式对象技术及其在Web上的应用_第1页
分布式对象技术及其在Web上的应用_第2页
分布式对象技术及其在Web上的应用_第3页
分布式对象技术及其在Web上的应用_第4页
全文预览已结束

下载本文档

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

文档简介

1、分布式对象技术及其在Web上的应用摘要:本文首先阐述了分布式对象技术的重要概念和根本原理,然后分析了RBA和eb相结合所带来的技术优势。最后,结合实例,介绍了开发基于RBA/eb技术的应用系统的步骤和特点。关键词:eb分布式对象RBAIDLPDS(2)桩和构架桩Stub可以看成是实际对象在客户进程中的映像,其中的接口必须是预先定义好的,因此它为客户提供了一种静态的调用方式。与桩相对应的构架Skeletn为效劳器提供了一种静态的实现方式。IDL编译器翻译描绘对象接口的IDL文件,生成对应详细编程语言的IDL桩和IDL构架。桩负责将客户恳求进展编码,发送到对象实现端,并对收到的结果进展解释,然后把

2、结果或异常返回给客户。与此相反,构架对客户的恳求进展解码,定位目的对象和恳求执行的对象方法,激活该方法,然后把结果或异常信息编码返回给客户端。(3)动态调用接口和动态构架接口与桩和构架不同,动态调用接口DII,DynaiInvatinInterfae和动态构架接口DSI,DynaiSkeletnInterfae提供了动态调用的方式和动态实现的方式,它们使得用户可以在事先不知道对象接口信息的情况下通过查询接口库或采取其它手段动态地获得对象接口信息,然后使用RB核心接口中的DII动态调用方法构造客户恳求并发送到对象实现。在对象实现方可以使用DSI的动态分发机制处理客户方的恳求。与静态方式相比,动态

3、方式提供了很大的灵敏性,但是它的工作效率没有静态方式高。另外,实现系统的接口大多可以预先确定,所以大部分情况下都是采用静态方式。客户方与效劳器方所采用的方式并不一定要一一对应,也就是说,客户方支持静态和动态两种调用方式,效劳器方也支持静态和动态两种实现方式,经过组合得到的四种方式都可能出现,例如,客户方使用静态调用方式,而效劳器方使用动态构架接口是允许的,反之亦然。(4)RB核心和对象适配器与Unix的实现机制相类似,RBA标准将那些相对固定的、单一的功能提取出来交由RB内核实现以保证它的可靠性、高效性与可重用性。作为整个RBA系统的根底,RB内核通过屏蔽诸如效劳器位置、实现方式、通信协议等详

4、细细节为客户方与效劳器方之间的通信提供了透明的传输机制。当前的应用系统存在着各种不同的对象实现方式,例如可执行程序、面向对象的数据库等,他们有不同的定位对象、解释对象、激活对象的方法。因此,假如将现存的所有对象实现的解决方案都包含在RB内核中,它必将非常庞大、冗余并且难以移植。为了确保RB内核的高效与可移植性,一个称为对象适配器A的中间层参加到RB与对象实现之间。定位目的对象的任务从RB内核中别离出来交给对象适配器来完成。22RBA与RI和D的比较RI直接把分布式对象模型嵌入到Java语言内部,使得Java程序员可以自然地编写分布式程序,不必分开Java环境,或者涉及RBAIDL以及Java到

5、RBA的类型转换。然而RI不遵守RBA标准,根本上是Java-t-Java技术,它需要客户方程序和效劳方程序都用Java编写,难以实现与其它语言编写的对象之间的互操作。D那么是从改造过来的。irsft把D作为开发Internet和组件的根底,目前已搭载到indsNT4.0以上版本和inds98中。这一技术部分是作为标准,它定义对象实现的二进制标准,用于单机上应用之间的通信,对象实现与使用的语言无关。D是的分布式扩展,在DERP之上构造对象的远程过程调用层支持对远程对象的访问。一个D对象又称为AtiveX对象是支持一个或多个界面的组件,D界面指预先规定的一组相关函数。D类实现一个或多个界面,由一

6、个又一个128-bit类ID唯一标识。客户程序通过获得指向D对象的界面的指针与该对象交互,通过指针调用其操作。客户程序从不直接访问对象。D对象不支持对象ID,因此,客户程序不能与某个特定的对象发生联络。3.分布式对象技术与eb技术的集成eb的开展已经历了两个开展阶段。静态的信息发布阶段。效劳器只提供信息的存储和发布功能,用户通过阅读器被动地获取信息,功能单一,缺乏交互性。动态的信息发布阶段。用户可以通过GI或JDB等多种手段与eb效劳器,甚至后端数据库直接交互,极大地增强了客户方的可操作性。但是, 协议是一种无状态的协议,很难支持联机处理和系统集成。分布式对象技术与eb之间并不存在着内在的必然

7、联络,但是这两者相结合后,却产生了诱人的技术魅力。第一,它可以消除GI的瓶颈,使客户端能直接调用效劳器上的方法。客户端可以利用预编译过的桩Stub传递参数或利用RBA的动态调度效劳在运行中产生参数,效劳器通过一个预编译的程序直接承受调用。与 /GI比较起来,客户/效劳器的开销非常校在GI中,一个Applet每次调用效劳器上的方法必需要启动一个新的进程恳求,而RBA不需要,GI不能维护客户端调用间的状态,RBA那么可以做到。第二,RBA可以提供可伸缩的效劳器到效劳器的根底构造,对象也可以利用RBARB进展通信。这样,为了平衡来自客户机上的恳求负荷,RB可以让这些对象运行在多个效劳器上,而且,RB

8、还可以根据各个效劳器的负荷情况进展调度。而GI面对要响应的成百上千个恳求,无法将负载分散到多个进程或多个效劳器上,这就是GI运用的瓶颈。第三,RBA可以采用分布式对象构造扩大Java,目前,JavaApplet还不能利用远程方法调用进展跨地址空间的通信,而RBA可以使JavaApplet可以和用不同语言编写的其它对象进展跨地址空间及网络的通信,同时还可以提供强大的分布式对象效劳。RBA和eb相结合产生了面向对象的eb体系构造,如图2所示,它由客户层eb阅读器、应用层eb效劳器和应用效劳器和资源层数据库效劳器三层构成。客户层通过 协议访问eb效劳器,从eb效劳器下载HTL页面,页面中内嵌的Jav

9、aApplet通过RBA内部通信机制IIP访问应用层的对象和效劳。应用层由eb效劳器和应用效劳器构成,主要提供平安管理,事务处理和各种访问效劳。eb效劳器提供常规的页面访问恳求。应用效劳器利用对象通信协议在eb阅读器和资源层之间提供事务处理和数据库访问的功能。资源层中主要包括数据库效劳器和数据库。数据库效劳器由会话管理、公共语言组件、数据存储和访问组件构成。会话管理处理来自应用层的恳求。公共语言组件解释来自客户端的恳求,并将它们转换成一种适于传递到数据存储的形式。数据访问和存储执行恳求包括访问数据库和进展事务处理。4基于RBA的eb计算形式实例分析受国家863方案IS专家组的委托,由东南大学和

10、同创集团软件事业部结合开发研制的“基于RBA/eb技术的企业级和部门级产品数据管理系统,此工程得到八六三方案专家委员会的高度重视,被列为八六三重大目的产品工程。产品数据管理系统PDS,PrdutDataanageentSyste以产品为中心,通过计算机网络和数据库技术,把企业消费过程中所有与产品相关的信息和过程集成起来,统一管理,使产品数据在其生命周期内保持一致、最新和平安,实现整个企业信息的集成,为工程技术人员提供一个协同工作的环境,从而缩短产品研发周期、降低本钱、进步质量,为企业赢得竞争优势。下面简要介绍基于RBA/eb技术的PDS的研制开发步骤:1通过对应用需求的分析,归纳得到PDS的效

11、劳功能及其描绘。在功能模块上,G组织提出了“PD使能器标准,将PD的功能通过八个使能器工程活动需求、工程变更、制造实现、文档管理、产品构造定义、配置管理和测试维护等封装起来。使它们可以支持企业制造过程模型中的产品开发过程。本系统的开发参照“PD使能器标准,保证了与其它PDS的交互性和通用性。2根据得到的效劳功能描绘,使用标准的IDL语言进展描绘,从而得到应用系统效劳功能的IDL文件。IDL文件中包括了PDS效劳的数据类型和效劳接口,效劳接口又可以分为属性和操作。IDL语言是RBA标准中定义的一种中性语言,它用来描绘对象的接口,而不涉及对象的详细实现。通过RBA软件总线系统提供的IDL编译器工具

12、对PDS效劳的IDL描绘文件进展转换,得到客户端桩文件和效劳器端构架文件。在RBA中定义了IDL语言到、+、和Java等语言的映射。本系统中效劳器端的构架文件采用+的映射形式,以充分利用+语言在对象实现方面的优势;客户端的桩文件采用Java的映射形式,以充分利用JavaApplet在eb上的独特功能。3完成效劳器端方主程序的编写,通过将效劳器端功能实现代码与所生成的效劳端构架代码结合编译得到实现相应系统效劳功能的软构件,随后使用对象管理工具将该软构件注册到RBA软件总线支持环境中,以供其它应用调用和访问。4完成客户方JavaApplet的编写,该Applet根据用户的需求向效劳器方发出恳求,并把恳求结果返回给用户。由于绝大多数的阅读器对从网上下载的JavaApplet采取一种称为“Sand-Bx的平安模型,使得JavaApplet既不能与宿主机以外的计算机建立网络连接,也不能访问本地文件系统、本地设备。而RBA系统的特点是效劳对象的分布性和远程对象定位的透明性。本系统通过RBA系统提供的IIP代理Gatekeeper来解决平安限制的约束,它负责承受Applet发来的IIP报文,分析报文内容,将其转发给位于其他主机上的Applet无法直接调

温馨提示

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

评论

0/150

提交评论