西安电子科技大学:《计算机网络 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 参数的操作
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第七章 网络安全.ppt
- 北京大学:浅谈计算机研究的层次与境界(李振华).pptx
- 南京大学:《计算机图形学》课程教学资源(PPT课件讲稿)计算机图形学引言(主讲:路通).ppt
- 国家十一五规划教材:《电子商务案例分析》课程教学资源(PPT课件)第11章 网络社区模式案例分析.ppt
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 08 多处理器系统 Multiple Processor Systems.ppt
- 计算机问题求解(PPT讲稿)图论中的其它专题.pptx
- SIGCOMM 2002:New Directions in Traffic Measurement and Accounting.ppt
- 厦门大学计算机科学系:《大数据技术原理与应用》课程教学资源(PPT课件)第十章 数据可视化.ppt
- 成都信息工程大学(成都信息工程学院):分层分流培养个性发展的计算机卓越工程师——专业课分层教学探索与实践.ppt
- 沈阳理工大学:《Java程序设计基础》课程教学资源(PPT课件讲稿)第1章 创建Java开发环境.ppt
- 北京师范大学网络教育:《计算机应用基础》课程教学资源(PPT讲稿)第8章 计算机安全、第9章 多媒体技术.pptx
- 西安电子科技大学:《8086CPU 指令系统》课程教学资源(PPT课件讲稿,共五部分,王晓甜).pptx
- 北京大学:《搜索引擎 Search Engines》课程教学资源(PPT讲稿)Evaluating Search Engines(Search Engines Information Retrieval in Practice).ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 4 Transmission Media.ppt
- 《EDA技术》实用教程(PPT讲稿)第5章 QuartusII 应用向导.ppt
- 《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿)第2章 图像分析.ppt
- 东南大学计算机学院:《操作系统概念 OPERATING SYSTEM CONCEPTS》课程教学资源(PPT课件)Operating-System Structures.ppt
- 《计算机组装与维修》课程教学资源(PPT课件讲稿)第二章 计算机系统维护维修工具使用.ppt
- 《数据结构》课程教学资源:课程PPT教学课件:绪论(数据结构讨论的范畴、基本概念、算法和算法的量度).ppt
- 中国人民大学:Similarity Measures in Deep Web Data Integration.ppt
- 《软件开发》课程PPT教学课件:Chapter 16 异常处理 Exception Handling.ppt
- 《Adobe Photoshop CS》软件教程(PPT讲稿)第13章 使用路径.ppt
- Virtual Topologies - Faculty of Science, HKBU.ppt
- 《Java语言程序设计》课程教学资源(PPT课件讲稿)第三章 面向对象特征.ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第七讲 顺序统计学(主讲人:吕敏).pptx
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第7章 用户自定义函数.ppt
- 清华大学:Mandarin Pronunciation Variation Modeling.ppt
- 西安电子科技大学:《MATLAB程序设计语言》课程教学资源(PPT讲稿)Chapter1 Matlab系统概述.ppt
- 中国科学技术大学:《网络算法学》课程教学资源(PPT课件)第六章 传输控制.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Socket Programming Part II:Design of Server Software.ppt
- 上海交通大学:《软件开发》课程教学资源(PPT课件)第一讲 概述.ppt
- 《计算机网络原理》课程教学资源(PPT课件讲稿)第二章 网络实现模型.ppt
- 香港理工大学:INSTRUCTION SETS 指令.pptx
- 计算机问题求解(PPT讲稿)B树.pptx
- 北京大学远程教育:《计算机应用基础》课程PPT教学课件(专科)串讲(综合复习).pptx
- 《Microsoft Access 2003》教程PPT:第9章 报表设计.ppt
- 《编译原理和技术》课程PPT教学课件:第十三章 函数式语言的编译.ppt
- 四川大学:Object-Oriented Design and Programming(Java,PPT课件).ppt
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第五章 循环与分支程序设计.ppt
- 《C程序设计》课程PPT教学课件(电子教案)第六章 函数.ppt