分布式对象技术及其应用第五章精.ppt
《分布式对象技术及其应用第五章精.ppt》由会员分享,可在线阅读,更多相关《分布式对象技术及其应用第五章精.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分布式对象技术及其应用第五章第1页,本讲稿共27页在分布式对象系统中,所谓服务器是指实现分布式对象功能的程序,它是由两部分组成的:一是分布式对象实现部分,这部分是CORBA服务器的核心部分,用于实现IDL定义的接口的功能;二是服务器进程部分,这部分主要用于实现分布式对象的生成与登录,以及接受来自客户端的调用请求等。CORBA服务器是根据IDL接口定义来实现的。在CORBA服务器的实现过程中,需要利用IDL的Java语言映射结果。本章主要介绍CORBA服务器的实现过程,所利用的IDL接口及其映射结果与4.1节给出的例子相同。第2页,本讲稿共27页5.1CORBA服务器的构造CORBA服务器是指实
2、现分布式对象功能的程序。图5.1给出了CORBA服务器程序的基本构成。第3页,本讲稿共27页CORBA服务器程序的基本构成:ORB的初始化BOA/POA的初始化接收请求开始 图5.1 CORBA服务器的处理流程分布式对象的生成分布式对象的登录第4页,本讲稿共27页一种服务器程序的实现框架:public class ControlSerImplpublic static void main(String args)/args的检查处理try /ORB的初始化 org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(args,null);/BOA的初始化 org.
3、omg.CORBA.BOA boa=orb.BOA_init();/分布式对象的生成 ControlImpl control=new ControlImpl(“BANK”);/分布式对象的登录(登录到BOA中)boa.obj_is_ready(control);/接收请求 boa.impl_is_ready();/循环等待catch(org.CORBA.SystemException system_exception)/异常处理第5页,本讲稿共27页5.2 对象适配器的作用5.2.1对象适配器的作用在客户端开发一章中已经提到过,ORB的初始化结束以后,就已经获得了ORB对象的引用,这样,就可以
4、使用ORB的功能了。在CORBA中,把ORB功能中的服务器所需要的功能都组织到被称为对象适配器OA(Object Adapter)的对象中来提供。这也就是说OA是ORB的一个组成部分,同时,由OA所提供的功能也仅在开发服务器程序时使用,而不用于开发客户端程序。第6页,本讲稿共27页由CORBA所提供的服务器的功能主要有如下几种,这些功能在不同的系统中所体现的方式可能是不同的,有的是分别提供的,有的是一个功能中包含多项:(1)分布式对象引用的生成;(2)分布式对象的登录与删除;(3)服务器进程的登录与删除;(4)分布式对象的激活;(5)服务器进程的激活;(6)方法调用请求的发送(dispatch
5、);(7)方法启动请求的认证信息的取出。第7页,本讲稿共27页5.2.2 BOA与POA由POA来取代BOA主要是基于以下的原因:(1)BOA描述模糊,服务器端程序难于移植;(2)由BOA所提供的功能难以满足对CORBA系统的开发。第8页,本讲稿共27页5.2.3 伪对象伪对象与普通的CORBA分布式对象的主要区别有如下几点:(1)不能将伪对象作为一般CORBA对象中操作的参数进行传递。(2)在接口仓库中没有伪对象的定义信息。第9页,本讲稿共27页5.3 BOA的功能由于BOA本身也是作为对象来实现的,因此,同ORB一样,为了利用其功能也必须要先获取其对象引用。为了获取BOA对象的引用,一般需
6、要首先获取ORB对象的引用,然后通过调研ORB对象中的方法来获取BOA对象的引用。在获取了BOA的对象引用之后,就可以利用BOA的功能来实现服务器的功能了。由于不同的CORBA产品对BOA的定义也是由差异的,因此,下面给出的只是BOA的一种定义形式,从中可以了解由BOA所提供的功能。第10页,本讲稿共27页Public abstract class org.omg.CORBA.BOA extends java.lang.Object/取出方法启动请求的认证信息public abstract org.omg.CORBA.principal get_principle(org.omg.CORBA.
7、Object obj);/分布式对象的登录public abstract void obj_is_ready(org.omg.CORBA.Object obj);public abstract void obj_is_ready(org.omg.CORBA.Object obj,);/分布式对象的删除public abstract void deactivate_obj(org.omg.CORBA.Object obj);/服务器进程的登录public abstract void impl_is_ready();public abstract void impl_is_ready();第11页
8、,本讲稿共27页5.4 分布式对象的实现所谓分布式对象的实现是指实现分布式对象功能的代码,对Java映射来讲,一般是用一个Java类来实现的。在分布式对象实现中必须要实现的功能主要包括如下几个:(1)由IDL接口定义的方法。(2)由org.omg.CORBA.Object接口所定义的分布式对象的语义。(3)保存分布式对象的ID以及连接(connection)管理等信息的方法。(4)将来自客户端的请求发送给相应的分布式方法的功能。第12页,本讲稿共27页5.4.1 Skeleton继承方式所谓Skeleton继承方式,就是通过直接继承Skeleton类来实现分布式对象实现。这种方式的特点是由对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 对象 技术 及其 应用 第五
限制150内