中间件实验报告_第1页
中间件实验报告_第2页
中间件实验报告_第3页
中间件实验报告_第4页
中间件实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验课学生学号0121410870704成绩学生实验报告书实验课程名称开课学院指导教师姓名学生姓名学生专业班级软件构件与中间件技术计算机科学与技术学院石兵廖锡峰软件 14022016-2017学年第二学期实验课程名称:软件构件与中间件技术基于 JAVA CORBA 的四则运算分布式实验项目名称系统开发实验成绩实验者廖锡峰专业班级软件 1402组别同组者2017年 5月 15实验日期日第一部分:实验分析与设计(可加页)实验步骤:一、安装 JDK1.6并配置系统参数PATH 和 CLASSPATH,打开一个DOS 窗口键入命令java version 验证是否已经正确地安装了 JDK 。二、打开一

2、个文本编辑器,编写以下 IDL接口定义文件, 并命名为BA.idl ,保存到一个文件 夹下,这里是D:shiyan。三、编译 IDL 文件。四、实现远程对象。打开记事本,复制以下代码。文件名:BAImpl.java 。保存到文件夹五、编写服务器。注意要把IP 地址换成当前这台物理机器的IP地址。打开记事本,复制以 下代码。文件名: Server.java。保存到文件夹 D:shiyanBAPkg之下。六、编写客户端。注意要把IP 地址换成当前这台物理机器的IP地址。打开记事本,复制以 下代码。文件名: Client.java 。保存到文件夹D:shiyanBAPkg 之下。七、编译 JAVA源

3、代码。八、系统布置。刚才是在机器A上开发的,机器A是服务器, IP 地址是机器 A 的 IP地址。 现在,在另一台机器,机器B 上安装 JDK1.6并配置 PATH 和 CLASSPATH 系统参数,并把代码及字节码打包复制到机器B 上,它是一个客户端。九、运行系统。在机器 A 上打开一个 DOS 窗口,运行JAVA CORBA 命名目录服务器 .第二部分:实验调试与结果分析(可加页)一、实验小结、建议及体会通过本次实验,了解了 基于 JAVA CORBA 的四则运算分布式系统开发,对中间件有了更深的理解。二、思考题( 一)假定使用JDK1.6,编译idl 文件的命令是什么?idlj fall

4、 BA.idl( 二)编译后,产生了哪几个文件?简要说明生成的各个Java类的作用。尤其是,客户端的码根和服务器端的框架是哪个类。对 于BAInterface接口,编译后共产生以下六个JAVA类或接口:BAInterface.java,BAInterfaceOperations.java,BAInterfaceHelper.java,BAInterfaceHolder.java,BAInterfacePOA.java,_BAInterfaceStub.java。前两个文件是对应IDL接口的 JAVA 接口, HELPER类提供 CORBA类型转换等辅助功能,HOLDER类提供 ORB 中间件网

5、络输入、 输 出流等方法,而 POA 和 STUB类分别是服务器端框架和客户端的码根,主要负责远程方法调用参数的打包和解包。( 三)Idl 文件中的BAPkg 模块映射成了什么?在 IDL文件中的 BAPkg 模块被编译成对应的JAVA 包。( 四) 实现远程对象要注意什么问题?所实现的远程对象必须是对应 POA 类的一个子类,换句话说,远程对象类必须 继承对应的 POA 类。( 五) 实现服务器端的步骤是什么?1、设置服务器参数,主要是 命名目录服务器的 IP 地址和端口号; 2、根据系统参数作为实参, 创建一个 ORB 对象。再 根据 ORB 对象以及 RootPOA 名称解析出 POA

6、对象参照,根据 POAHelper 类的静态细化方 法把 POA 对象参照转换成POA对象。根据 POA 对象创建 POA 管理器类对象,并激活之。 3 、创建远程伺服对象,并把它登记到 POA 对象,返回伺服对象的一个 CORBA对象参照, 根据其 Helper 类的细化方法,将对象参照转换成真正意义上的远程对象。我们这里有三个 概念:伺服对象、伺服对象参照和对应的远程对象。 4、根据 ORB 对象和 NameService 名称 解析出命名目录服务器中 JNDI 节点对象 CORBA参照,再根据其 Helper 类的静态细化方法 把节点对象参照转换成真正的节点对象。指定一个将绑定远程对象的

7、字符名称,利用节点对象将该名称转换成连在该节点上的路径对象,最后再把在第三步中创建的远程对象绑定到该路径上。 5、启动 ORB 对象。( 六)实现客户端的步骤是什么?1、设置服务器参数,主 要是命名目录服务器的 IP 地址和端口号; 2、根据系统参数作为实参,创建一个 ORB 对象。 、根据 ORB 对象和 NameService 名称解析出命名目录服务器中 JNDI 节点对象 CORBA 3 参照,再根据其 Helper 类的静态细化方法把节点对象参照转换成真正的节点对象。、根 据远程对象字符名称从节点对象中解析出远程对象的参照,再根据其 类的静态细化方法把对象参照转换成远程对象本身。 5、

8、调用远程对象的远程方 法。( 七)运行服务器和客户程序的命令是什么?首先运行命名目录服务器:orbd ORBInitialPort 1050,再运行服务器:java BAPkg.Server,最后运行客户端:java BAPkg.Client( 八)谈一谈你对Java CORBA 的认识。Java CORBA是一个完全面向对象的分布式应用开发中间件及规范。它使用ORB即对象请求代理作为中间件模块, IIOP 作为服务器端和客户端ORB 的通讯协议,以及使用 IDL作为接口定义语言。 ORB中间件跨平台、跨语言,充分屏蔽了分布式网络的异构性。Java CORBA 使用 Java编程语言,和 C+

9、相比,更简洁、一致、明快,大大减少了服务端和客户端派生的代码,且派生的代码容易理解,便于使用。在某种意义上,JavaCORBA已经完全取代了C+ CORBA。实验课程名称:软件构件与中间件技术实验项目名称基于 RMI/IIOP的分布式一元二次方程实验成绩求解系统实验者廖锡峰专业班级软件 1402组别同组者2017年5月实验日期15 日第一部分:实验分析与设计(可加页)实验步骤:一、安装 jdk1.6,并配置系统参数Path和 Classpath 。二、创建以下目录结构D:Exp02rmiiiop_equation。把后面所有 Java源代码文件都复制到该文件夹下。三、打开记事本,编写封闭两个根

10、的Java Bean四、编写远程接口五、实现远程接口六、开发服务器程序七、开发客户端程序八、在两台机器 A 和 B 上创建相同的文件夹: D:Exp02rmiiiop_equation,把上面所有的源代码文件复制到两台机器的对应的文件夹下,分别编译。 假定机器B 是服务器。九、编译方法十、运行系统第二部分:实验调试与结果分析(可加页)一、实验结果二、实验小结、建议及体会通过本次试验,了解了 基于 RMI/IIOP 的分布式一元二次方程求解系统,体会到了与 CORBA 的不同。三、思考题(一 ) RMI/IIOP和传统的RMI有什么差别?RMI, Remote Method Invocztion

11、, 即远程方法调用。和 RMI/IIOP 相同的地方是两 种方法都使用 JAVA 创建远程对象的接口,而两者使用的网络协议有所不同。后者使用 CORBA规范的通用协议 IIOP ,所以可以和 CORBA应用通讯。换句话说,一个 CORBA客 户端可以访问一个 RMI/IIOP 服务器。(二 ) RMI/IIOP的开发步骤。1、用 JAVA 定义远 程接口。注意,远程接口要继承java.rmi.Remote,远程方法要抛出 java.rmi.RemoteException 。 2 、实现远程接口。注意,实现远程接口的类必须继承可移植远程对象, 即 javax.rmi.PortableRemote

12、Object 。3、开发服务器程序。 4、开发客户端程序。 5、编译所有 JAVA 源代码。 6、使用 rmic编译远程对象实现的字节码文件,产生客户端的码根和服务器端的框架。例如:iiop RMIIIOPApp.RemoteObjectImpl。注意, rmic要使用iiop选项。rmic(三 ) 实现远程接口应注意什么?实现远程接口的类必须继承可移植远程对象,即 javax.rmi.PortableRemoteObject 。(四 ) 定义远程接口应注意什么?远 程 接 口 要 继 承 java.rmi.Remote, 远 程 方 法 要 抛 出 java.rmi.RemoteException 。(五 ) 客户端和服务器的系统参数的含意是什么?IP 地址和端口号。(六 ) 如何产生客户端和服务器端的镜像代码?客户端的码根是远程对象的本地镜像,也就是远程对象的本地代理,主要负责远程方法参数打包和远程方法调用返回结果的解 包。服务器端的框架是服务器的码根。(七 ) 修改客户端程序,使用输入流,使得用户能够输入任意三个系数。Scanner input = new Scanner(System.in);double a,b,c;System.out.println("please input a value:");a = in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论