中间件实验报告.docx

上传人:b****4 文档编号:24222742 上传时间:2023-05-25 格式:DOCX 页数:9 大小:109.94KB
下载 相关 举报
中间件实验报告.docx_第1页
第1页 / 共9页
中间件实验报告.docx_第2页
第2页 / 共9页
中间件实验报告.docx_第3页
第3页 / 共9页
中间件实验报告.docx_第4页
第4页 / 共9页
中间件实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

中间件实验报告.docx

《中间件实验报告.docx》由会员分享,可在线阅读,更多相关《中间件实验报告.docx(9页珍藏版)》请在冰豆网上搜索。

中间件实验报告.docx

中间件实验报告

学生学号

0121410870704

实验课成绩

学生实验报告书

 

实验课程名称

软件构件与中间件技术

开课学院

计算机科学与技术学院

指导教师

石兵

学生姓名

廖锡峰

学生专业班级

软件1402

 

2016

--

2017

学年

学期

 

实验课程名称:

软件构件与中间件技术

实验项目名称

基于JAVACORBA的四则运算分布式系统开发

实验成绩

实验者

廖锡峰

专业班级

软件1402

组别

同组者

实验日期

2017年5月15日

第一部分:

实验分析与设计(可加页)

实验步骤:

1、安装JDK1.6并配置系统参数PATH和CLASSPATH,打开一个DOS窗口键入命令java–version验证是否已经正确地安装了JDK。

2、打开一个文本编辑器,编写以下IDL接口定义文件,并命名为BA.idl,保存到一个文件夹下,这里是D:

\shiyan。

3、编译IDL文件。

4、实现远程对象。

打开记事本,复制以下代码。

文件名:

BAImpl.java。

保存到文件夹

5、编写服务器。

注意要把IP地址换成当前这台物理机器的IP地址。

打开记事本,复制以下代码。

文件名:

Server.java。

保存到文件夹D:

\shiyan\BAPkg之下。

六、编写客户端。

注意要把IP地址换成当前这台物理机器的IP地址。

打开记事本,复制以下代码。

文件名:

Client.java。

保存到文件夹D:

\shiyan\BAPkg之下。

七、编译JAVA源代码。

八、系统布置。

刚才是在机器A上开发的,机器A是服务器,IP地址是机器A的IP地址。

现在,在另一台机器,机器B上安装JDK1.6并配置PATH和CLASSPATH系统参数,并把代码及字节码打包复制到机器B上,它是一个客户端。

九、运行系统。

在机器A上打开一个DOS窗口,运行JAVACORBA命名目录服务器.

 

第二部分:

实验调试与结果分析(可加页)

 

一、实验小结、建议及体会

通过本次实验,了解了基于JAVACORBA的四则运算分布式系统开发,对中间件有了更深的理解。

2、思考题

(1)假定使用JDK1.6,编译idl文件的命令是什么?

idlj–fallBA.idl

(2)编译后,产生了哪几个文件?

简要说明生成的各个Java类的作用。

尤其是,客户端的码根和服务器端的框架是哪个类。

对于BAInterface接口,编译后共产生以下六个JAVA类或接口:

BAInterface.java,BAInterfaceOperations.java,BAInterfaceHelper.java,BAInterfaceHolder.java,BAInterfacePOA.java,_BAInterfaceStub.java。

前两个文件是对应IDL接口的JAVA接口,HELPER类提供CORBA类型转换等辅助功能,HOLDER类提供ORB中间件网络输入、输出流等方法,而POA和STUB类分别是服务器端框架和客户端的码根,主要负责远程方法调用参数的打包和解包。

 

(三)Idl文件中的BAPkg模块映射成了什么?

在IDL文件中的BAPkg模块被编译成对应的JAVA包。

(4)实现远程对象要注意什么问题?

所实现的远程对象必须是对应POA类的一个子类,换句话说,远程对象类必须继承对应的POA类。

(5)实现服务器端的步骤是什么?

1、设置服务器参数,主要是命名目录服务器的IP地址和端口号;2、根据系统参数作为实参,创建一个ORB对象。

再根据ORB对象以及RootPOA名称解析出POA对象参照,根据POAHelper类的静态细化方法把POA对象参照转换成POA对象。

根据POA对象创建POA管理器类对象,并激活之。

3、创建远程伺服对象,并把它登记到POA对象,返回伺服对象的一个CORBA对象参照,根据其Helper类的细化方法,将对象参照转换成真正意义上的远程对象。

我们这里有三个概念:

伺服对象、伺服对象参照和对应的远程对象。

4、根据ORB对象和NameService名称解析出命名目录服务器中JNDI节点对象CORBA参照,再根据其Helper类的静态细化方法把节点对象参照转换成真正的节点对象。

指定一个将绑定远程对象的字符名称,利用节点对象将该名称转换成连在该节点上的路径对象,最后再把在第三步中创建的远程对象绑定到该路径上。

5、启动ORB对象。

(6)实现客户端的步骤是什么?

1、设置服务器参数,主要是命名目录服务器的IP地址和端口号;2、根据系统参数作为实参,创建一个ORB对象。

3、根据ORB对象和NameService名称解析出命名目录服务器中JNDI节点对象CORBA3参照,再根据其Helper类的静态细化方法把节点对象参照转换成真正的节点对象。

4、根据远程对象字符名称从JNDI节点对象中解析出远程对象的CORBA参照,再根据其Helper类的静态细化方法把对象参照转换成远程对象本身。

5、调用远程对象的远程方法。

(7)运行服务器和客户程序的命令是什么?

首先运行命名目录服务器:

orbd–ORBInitialPort1050,再运行服务器:

javaBAPkg.Server,最后运行客户端:

javaBAPkg.Client

(八)谈一谈你对JavaCORBA的认识。

JavaCORBA是一个完全面向对象的分布式应用开发中间件及规。

它使用ORB即对象请求代理作为中间件模块,IIOP作为服务器端和客户端ORB的通讯协议,以及使用IDL作为接口定义语言。

ORB中间件跨平台、跨语言,充分屏蔽了分布式网络的异构性。

JavaCORBA使用Java编程语言,和C++相比,更简洁、一致、明快,大大减少了服务端和客户端派生的代码,且派生的代码容易理解,便于使用。

在某种意义上,JavaCORBA已经完全取代了C++CORBA。

实验课程名称:

软件构件与中间件技术

实验项目名称

基于RMI/IIOP的分布式一元二次方程求解系统

实验成绩

实验者

廖锡峰

专业班级

软件1402

组别

同组者

实验日期

2017年5月15日

第一部分:

实验分析与设计(可加页)

实验步骤:

一、安装jdk1.6,并配置系统参数Path和Classpath。

二、创建以下目录结构D:

\Exp02\rmiiiop_equation。

把后面所有Java源代码文件都复制到该文件夹下。

三、打开记事本,编写封闭两个根的JavaBean

四、编写远程接口

五、实现远程接口

六、开发服务器程序

七、开发客户端程序

八、在两台机器A和B上创建相同的文件夹:

D:

\Exp02\rmiiiop_equation,把上面所有的源代码文件复制到两台机器的对应的文件夹下,分别编译。

假定机器B是服务器。

九、编译方法

十、运行系统

 

第二部分:

实验调试与结果分析(可加页)

一、实验结果

 

 

二、实验小结、建议及体会

通过本次试验,了解了基于RMI/IIOP的分布式一元二次方程求解系统,体会到了与CORBA的不同。

3、思考题

(1)RMI/IIOP和传统的RMI有什么差别?

RMI,RemoteMethodInvocztion,即远程方法调用。

和RMI/IIOP相同的地方是两种方法都使用JAVA创建远程对象的接口,而两者使用的网络协议有所不同。

后者使用CORBA规的通用协议IIOP,所以可以和CORBA应用通讯。

换句话说,一个CORBA客户端可以访问一个RMI/IIOP服务器。

(2)RMI/IIOP的开发步骤。

1、用JAVA定义远程接口。

注意,远程接口要继承java.rmi.Remote,远程方法要抛出java.rmi.RemoteException。

2、实现远程接口。

注意,实现远程接口的类必须继承可移植远程对象,即javax.rmi.PortableRemoteObject。

3、开发服务器程序。

4、开发客户端程序。

5、编译所有JAVA源代码。

6、使用rmic编译远程对象实现的字节码文件,产生客户端的码根和服务器端的框架。

例如:

rmic–iiopRMIIIOPApp.RemoteObjectImpl。

注意,rmic要使用–iiop选项。

(三)实现远程接口应注意什么?

实现远程接口的类必须继承可移植远程对象,即javax.rmi.PortableRemoteObject。

(4)定义远程接口应注意什么?

远程接口要继承java.rmi.Remote,远程方法要抛出java.rmi.RemoteException。

(5)客户端和服务器的系统参数的含意是什么?

IP地址和端口号。

(6)如何产生客户端和服务器端的镜像代码?

客户端的码根是远程对象的本地镜像,也就是远程对象的本地代理,主要负责远程方法参数打包和远程方法调用返回结果的解包。

服务器端的框架是服务器的码根。

 

(7)修改客户端程序,使用输入流,使得用户能够输入任意三个系数。

Scannerinput=newScanner(System.in);

doublea,b,c;

System.out.println("pleaseinputavalue:

");

a=input.nextDouble();

System.out.println("pleaseinputbvalue:

");

b=input.nextDouble();

System.out.println("pleaseinputcvalue:

");

c=input.nextDouble();

RootJBroots=ro.calRoots(a,b,c);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1