中国高校课件下载中心 》 教学资源 》 大学文库

西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)基于CORBA的分布式平台(CORBA编程-Hello World例程)

文档信息
资源类别:文库
文档格式:PPT
文档页数:19
文件大小:256KB
团购合买:点击进入团购
内容简介
西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)基于CORBA的分布式平台(CORBA编程-Hello World例程)
刷新页面文档预览

第二章基于 CORBA的分布式平台 苗启广 qgmiao@mailxidian.edu.cn 西货宦子袢技六学针算机学院 西安宦子袢技六學

第二章 基于CORBA的分布式平台 苗启广 计算机学院 qgmiao@mail.xidian.edu.cn

底4.7 CORBA编程一 Hello Wor1d例程 Hello World客户端 Hello World服务器 对象引用 Servant Hello “ Hello” sayHelloo IIOP IIOP 西安宦子技力学

4.7 CORBA编程-Hello World例程 对象引用 Hello World 客户端 Say Hello IIOP Servant Hello World 服务器 “Hello” ORB IIOP sayHello()

分布式 Helloword程序的操作 ●客户机调用He| oServer的 sayhello操作 ●ORB把调用传给为DL接口注册的提供服务的对象 ●提供服务的 sayhello(方法运行并返回 Java String ORB将该Stng传回客户机 客户机打印 Istring值 西安宦子技力学

分布式HelloWord程序的操作 ⚫ 客户机调用HelloServer的sayhello()操作 ⚫ ORB把调用传给为IDL接口注册的提供服务的对象 ⚫ 提供服务的sayhello()方法运行并返回Java String ⚫ ORB将该String传回客户机 ⚫ 客户机打印string值

运行环境 运行环境由jk13+ Fiditojava组成,具体的安装步骤 如下: 安装JDK13: 从SUN公司下载jdk13或者通过其他方式得到jdk 1.3进行安装,再设定相应的环境变量,在本文测试用 的电脑上是如下所示: 下载 ditojava Java IDI编辑器( idltojava)在 http://java.suncom/products/jdk/idl/中单独提供 。在JDK1.3版中则提供了新的IDL编辑器id1 西安宦子技力学

运行环境 运行环境由jdk1.3+idltojava 组成,具体的安装步骤 如下: 安装JDK1.3: 从SUN公司下载jdk 1.3或者通过其他方式得到jdk 1.3进行安装,再设定相应的环境变量,在本文测试用 的电脑上是如下所示: 下载idltojava: Java IDL编辑器(idltojava)在 http://java.sun.com/products/jdk/idl/中单独提供 。在JDK 1.3版中则提供了新的IDL编辑器idlj

内容 编辑!DL文件则用任何文本编辑器即可,具体的编写 过程如下: 1、编写DL接口包括: 如何编写简单的IDL接口定义; 如何将IDL接口转换到Java; iditojava编译器生成的每个文件的用途 2、开发客户机应用程序,说明如何编写简单的客户 机应用程序,包括: 如何创建ORB对象; 如何使用命名服务来取得初始的对象引用; 如何调用 CORBA对象上的楼绥電补技戎

内容 编辑IDL文件则用任何文本编辑器即可,具体的编写 过程如下: 1、 编写 IDL 接口包括: ⚫ 如何编写简单的 IDL 接口定义; ⚫ 如何将 IDL 接口转换到 Java ; ⚫ idltojava 编译器生成的每个文件的用途 。 2、开发客户机应用程序,说明如何编写简单的客户 机应用程序,包括: ⚫ 如何创建 ORB 对象 ; ⚫ 如何使用命名服务来取得初始的对象引用 ; ⚫ 如何调用 CORBA 对象上的操作

内容 3、开发客户机 Applet,说明如何编写与客户机应 用程序执行同样功能的客户机 applet 4、开发 Hello world服务器,说明如何编写简单的 服务器,包括: 为服务器创建ORB对象; 实例化服务程序并将它连接到ORB 通过命名服务来注册该服务程序; 使服务器等待对服务程序的调用。 西安宦子技力学

内容 3、开发客户机 Applet ,说明如何编写与客户机应 用程序执行同样功能的客户机 applet 。 4、开发 Hello World 服务器,说明如何编写简单的 服务器,包括: ⚫ 为服务器创建 ORB 对象 ; ⚫ 实例化服务程序并将它连接到 ORB ; ⚫ 通过命名服务来注册该服务程序 ; ⚫ 使服务器等待对服务程序的调用

编写IDL接口 ●IDL接口定义了应用程序中客户机部分和 服务器部分之间的约定,同时指定可用的操 作和属性 ●用来指定分布式应用程序的操作接口,与 编程语言无关 ●编写实现代码前,必须将IDL接口映射到 Java(自动完成) ●实现映射后,ID每条语句都转换为所选 编程语言中的相应语句 西安宦子技力学

编写 IDL 接口 ⚫ IDL接口定义了应用程序中客户机部分和 服务器部分之间的约定,同时指定可用的操 作和属性 ⚫ 用来指定分布式应用程序的操作接口,与 编程语言无关 ⚫ 编写实现代码前,必须将IDL接口映射到 Java(自动完成) ⚫ 实现映射后,IDL每条语句都转换为所选 编程语言中的相应语句

4.7.1编写ID服务器将代表调用他们的客户机执行的 行为,每条操作语句都在所生成的JAVA 1、编写 Hello.idl 接口中生成相应的方法语句 启动自己熟悉的文本编辑奋, feIo.1d的文什, 编写如下代码: module HelloApp(是 间,是 相 声明的容 interface hello 罗(模块语句都 到一条Java ackage语句 string sayHelloo; 声明一个对象与其它对象的 API约 可以看出用于HeWd的!每条e句都映射囗 执行单一操作。执三步到一条J ava Interface语句 声明CRBA块 声明按口 声明操作 西安宦子技力学

4.7.1 编写 IDL 接口 启动自己熟悉的文本编辑器,创建名为 Hello.idl 的文件, 编写如下代码: module HelloApp { interface Hello { string sayHello(); }; }; 可以看出用于 Hello World 的 IDL 非常简单,它的单一接口 执 行单一操作。仅需执行三步: ⚫ 声明 CORBA IDL 模块 ⚫ 声明接口 ⚫ 声明操作 1、编写 Hello.idl 是一个名字空间,是 相关接口和声明的容 器,每条模块语句都 被映射到一条Java Package语句 声明一个对象与其它对象的 API约定,映射后,IDL中的 每条interface语句都映射 到一条Java Interface语句 服务器将代表调用他们的客户机执行的 行为,每条操作语句都在所生成的JAVA 接口中生成相应的方法语句

2、将He1l0.idl从IDL映射到Java 工具 DLtoJava读取L文件并创建所需的JAVA文 件,执行: 进入命令行提示 将目录改为 hello, id文件所在的位置 输入编译器命令: idltojava hello.jdI 或idj- fall hello 生成 Helloapp目录,生成一些文件。 西安宦子技力学

2、将 Hello.idl 从 IDL 映射到 Java 工具IDLtoJava读取IDL文件并创建所需的JAVA文 件,执行: ⚫ 进入命令行提示 ⚫ 将目录改为hello.idl文件所在的位置 ⚫ 输入编译器命令:idltojava hello.idl 或 idlj –fall hello.idl 生成Helloapp目录,生成一些文件

2、将He1l0.idl从IDL映射到Java 生成的五个主要文件分别是: HelloImplBase.java:此抽象类是服务器 skeleton,为服 务器提供基本 CORBA功能。它实现 Hello.java接口。服 务器类 Helloservant扩展 HelloImplbase Hellostub.java:该类是客户机stub,为客户机提供 CORBA功能。它实现 Hello.java接口。 Hello.java:此接口包含DL接口的Java版本。它包含方 法 sayHello0。 Hello.java接口扩展 org.Omg. CORBA.0b」ject,也提供标准 CORBA对象功能。 HelloHelper.java:此终态类提供辅助功能,其中特别有 用的是 narrow方法,可用于将 CORBA对象引用强制转 换为适当类型。 11此终态类保存类型1单奔实每 nout

2、将 Hello.idl 从 IDL 映射到 Java 生成的五个主要文件分别是: _HelloImplBase.java:此抽象类是服务器 skeleton,为服 务器提供基本 CORBA 功能。它实现 Hello.java 接口。服 务器类 HelloServant 扩展 _HelloImplBase。 _HelloStub.java:该类是客户机 stub,为客户机提供 CORBA 功能。它实现 Hello.java 接口。 Hello.java :此接口包含 IDL 接口的 Java 版本。它包含方 法 sayHello()。Hello.java 接 口 扩 展 org.omg.CORBA.Object,也提供标准 CORBA 对象功能。 HelloHelper.java :此终态类提供辅助功能,其中特别有 用的是narrow() 方法,可用于将 CORBA 对象引用强制转 换为适当类型。 HelloHolder.java:此终态类保存类型 Hello 的公共实例 成员,可提供对 out 和 inout 参数的操作

共19页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档