预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共54页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CORBA实例及CORBA服务本课内容开发步骤开发步骤图-C/S使用相同语言开发步骤图---C/S使用不同语言开发目标:填表格程序用IDL编译器编译IDL文件客户端(1)接口映射-桩头文件客户端(1)接口映射-桩实现客户端(2)对象引用的类型客户端(3)对象引用的生命周期客户端(4)ORB初始化客户端(5)字符串与引用客户端主程序服务器端(1)接口映射-框架头文件服务器端(1)接口映射-框架实现文件服务器端(1)接口映射-框架实现文件服务器端(1)接口映射-this函数服务器端(1)接口映射-伺服程序头文件服务器端(1)接口映射-伺服程序头文件(续)服务器端(1)接口映射-伺服程序实现体文件(部分源码)服务器端(2)对象登记与对象引用生成#include“grid_skel.hh” intmain(intargc,char*argv[]) { CORBA::ORB_varorb= CORBA::ORB_init(argc,argv); CORBA::Object_varobj= orbresolv_initial_reference(“RootPoa”); PortableServer::POA_var poa=PortableServer::POA::_narrow(obj); PortableServer::POAManager_var mgr=poathe_POAManager(); mgractivate(); grid_implservant(6,6); grid_varobject=servant._this(); CORBA::string_varrefstr= orbobject_to_string(object); cout<<refstr; orb->run(); }服务器端程序的解读运行程序名字服务-类似于JNDI名字服务的树状结构名字服务的基本元素(基础设施)名字服务的IDL定义-类型定义名字服务-名字上下文名字服务-绑定迭代器如何使用名字服务?步骤如下:名字服务使用实例名字服务(服务器端)名字服务(客户端)名字服务(客户端续)事件服务事件服务的基础设施事件传送模型事件服务push模型事件服务pull模型事件服务逻辑结构事件服务层次关系push模型接口的IDL定义pull模型接口的IDL定义事件通道接口的IDL定义事件服务管理接口事件服务代理接口事件服务代理接口(续)推模型使用步骤在提供者一侧: 1.从名字服务中获得事件通道 2.创建一个推提供者 3.从事件通道中获取一个推消费者代理 4.将提供者连接到事件信道 5.创建一个消息,并将消息推给消费者在消费者一侧: 1.从名字服务中获得事件通道 2.创建一个推消费者 3.从事件通道中获取一个提供者者代理 4.将消费者连接到事件信道 5.消息在消费者的push()实现中被接收推模型的协作图小结