欢迎来到天天文库
浏览记录
ID:30772018
大小:1.20 MB
页数:37页
时间:2019-01-03
《《分布式计算环境教程》授课教案讲义ch3corba(公共对象请求代理结构)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Ch3・CORBA(公共对象请求代理结构)目的:在异构分布式环境中实现快速软件开发及软件互操作性。标准:OMGCORBA(仁0,2.0,3.0)规范,定义了IDL语言及其映射、单个0RB体系结构和0RB间互操作机制。3.1OMA参考模型由OMG制订的对象相互操作规范通常称为“对象管理体系”(ObjectManagementArchitecture,OMA)。OMA参考体系(OMAReferenceModel)定义了一套基层服务结构及机制,实现了对象相互间进行操作的能力。OMA参考体系包括“对彖请求代理”(ObjectRequestBroker,ORB)>"对象服务”(Object
2、Services,也称作CORBAsendces)以及一些通用机制。ORB是对象间相互请求的一条通信总线。进行请求时,毋需关心对方的物理位置在哪里。这意味着在客户代码中看起来彖一次方案调用的过稈实际是非常复杂的一次操作。首先,必须存在与服务器对象的一条连接途径。而且为了创建一个连接,ORB必须知道具体实现服务器的代码存放在哪里。建好连接后,必须对方法自变量进行“汇集”。例如,将它们转换到一个二进制流里,以便通过网络传送。必须传递的其他信息包括服务器的机器名称、服务器进程以及对那个进程内的服务器对象进行标识的信息等等。最后,这些信息通过一种低级线路协议传递,信息在服务器那一端解码,
3、最后正式执行调用。ORB将所有这些复杂的操作都从程序员眼前隐藏起来了,并使程序员的工作儿乎和与调用木地对象的方法一样简单。应用接口领域接口公共设施苧甘V对象请求代理(ORB)•7对象服务OMA参考模型•对象请求代理ORB定义异构环境下对象透明地发送请求和接收响应的基本机制.-确定服务器位置-转换不同数据格式-为异构环境中的CIient和Server透明地提供互操作性•公共对象服务系统级的对象框架,以扩充对象总线功能/生命周期/并发性持久性丁命名/安全性关系/事件/交易收集/事务/查询启动•公共设施可直接为对象使用的水平和垂直应用框架,是为许多应用提供的共享服务集合,如系统管理、复
4、合文挡、电子邮件等。•应用接口(领域对象,专用对象)由CORBA支持的顶层业务对象和应用系统,是针对特定应用开发的接口(因而OMG不予以标准化)。3.1CORBA体系结构核心思想:采用标准的接口定义语言(OMGIDL)将软件接口与软件实现相分离。采用CORBAIDL提供C/S互操作性3.2.1单个ORB体系结构inargs(服务器)图3-3CORBAORB的体系结构•对象请求代理ORB定义异构环境下对象透明地发送请求和接收响应的基本机制。ORB为客户隐藏二>对象地点=>对象实现方式=>对象执行状态二对象通信机制•对象实现所定义的IDL接口的真正实现。可用语言:C,C++,Java
5、,SmaIItaIk,Ada・・・•ORB接口ORB内核提供的服务对象接口,同时为客户方和对象实现方所见,可直接为应用程序所使用1•对象引用操作:提供对象引用的串化和反串化及对象引用复制、删除、比较及探测对象引用存在与否等操作。2.ORB初始化:使应用得到指向ORB的对象引用。3•对象适配器初始化:使应用得到指向对象适配器的对象引用。4•获取初始对象引用。ORB规定了客户对象在ORB初始时获取初始对象引用的方法。•静态IDL存根(IDLstubs)服务的静态接口。由IDL编译程序自动生成。如同一本地调用,是远程SERVER对象的代理。•静态IDL骨架(IDLskeletons)静
6、态IDL存根在Server侧的对应。由IDL编译程序自动生成。•动态调用接口(DII—DynamicInvocationIinterface)客户机可推迟到运行时选择对象的实现接口和操作•动态骨架接口(DSI—DynamicSkeIetonInterface)DII在Server方的对应。DSI从进入的消息找出调用的目标对象及相应的方法,并提供运行时的连接机制。•对象适配器(ObjectAdapter)辅助ORB,对不同的对象采用不同的激活策略。提供了一运行环境,实例化SERVER对象,向它们传送服务请求并为它们分配对象引用。•接口库(IR-InterfaceRepository
7、)对象的IDL接口定义的存储、分布和管理•实现库(ImplementationRepository)存储Server支持的类、实例化对象、这些对象的ID等运行时信息,还可用来存储与ORB实现相关的附加信息,如跟踪信息、安全及其它管理数据。•ORB之间的互操作GIOP:通用ORB间协议IIOP:InternetORB间协议•ORB内核为在本地/远程对象之间提供基本的通信机制3.2.2OMG接口定义语言(IDL)分隔“对象作什麽(WHAT)”与“如何实现(HOW)”•OMGIDL强类
此文档下载收益归作者所有