用RMI和CORBA举行分布式Java编程[Java编程]
本文“用RMI和CORBA举行分布式Java编程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java远程办法调用(RMI)机制和公用对象恳求代理体系(CORBA)是最重要 和利用最遍及的两种分布式对象系统.每个系统都有其特点和弊端.它们在行 业中被用于从电子交易到保健医疗的各个范畴.一个项目假如要从这两种分布式 机制中选用一个,常常难以决意.本文概括地介绍了RMI和CORBA,更重要的是, 它将介绍若何开辟一个有效的利用程序,用于从远程主机下载文件.
客户机/服务器模子是分布式计算的一种情势,在这种情势中,一个程序(客 户机)与另一个程序(服务器)通讯以便交换信息.在这种模子中,客户机和服 务器普通都说一样的语言--也就是说客户机和服务器能理解同一个协议--这 样它们才能通讯.
固然客户机/服务器模子的实现方法多种多样,但典型做法是利用底层套接字. 利用套接字开辟客户机/服务器系统意味着,我们必须计划一个协议,也就是客户 机和服务器都熟习的一组号令集,通过这些号令它们就可以通讯了.举例来说, HTTP协议中供应了一个名为GET的办法,全部Web服务器都必须实现这个办法,所 有Web客户机(浏览器)都必须利用这个办法,才能获得文档.
分布式对象模子
基于分布式对象的系统是一组对象的调集,这些对象以一种明肯定义封装的接 口把服务的恳求者(客户机)和服务的供应者(服务器)脱离开.换言之,客户 机从服务的实现中别离出来,变成数据的显现和可履行代码.这就是基于分布式 对象的模子与纯粹的客户机/服务器模子的主要辨别之一.
在基于分布式对象的模子中,客户机向对象发送消息,然后对象注释该消息以 便决意要履行什么服务.这项服务,也就是办法,可以挑选是让对象还是让代理 来履行.Java远程办法调用(RMI)和公用对象恳求代理体系(CORBA)就是这种 模子的例子.
RMI
RMI是一个分布式对象系统,它使你可以轻松地开辟出分布式Java利用程序. 在RMI中开辟分布式利用程序比用套接字开辟要简单,因为不需求做计划协议这种 很简单出错的工作.在RMI中,开辟者会有一种错觉,仿佛是从本地类文件调用的 本地办法,其实参数传送给了远程目标,目标注释参数后再把后果发回给调用方.
RMI利用程序初步
利用RMI开辟分布式利用程序包含以下步骤:
定义一个远程接口
实现这个远程接口
开辟服务器
开辟客户机
生成存根和基干,启动RMI注册表、服务器和客户机
下面我们将通过开辟一个文件传输程序来实践这些步骤.
典范:文件传输程序
这个利用程序答应客户机从远程主机上传送(即下载)任何范例的文件(纯 文本或二进制文件).第一步是定义一个远程接口,这个接口规定了服务器所提 供办法的信号,客户机将调用这些办法.
定义一个远程接口
用于文件下载利用程序的远程接口如代码典范1所示.接口 FileInterface供应了一个办法downloadFile,这个 办法承受String参数(文件名),将文件的数据以字节数组的情势 返回.
代码典范1 1: FileInterface.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface FileInterface extends Remote {
public byte[] downloadFile(String fileName) throws
RemoteException;
}
请注意FileInterface的以下特点:
它必须声明为public,这样客户机才能加载实现远程接口 的远程对象.
它必须扩大为Remote接口,以满意使该对象成为远程对象的 要求.
这个接口中的每种办法都必须投出一个java.rmi.RemoteException.
以上是“用RMI和CORBA举行分布式Java编程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |