使用rmi和corba进行分布式java程序设计

使用rmi和corba进行分布式java程序设计

ID:18917762

大小:78.50 KB

页数:12页

时间:2018-09-27

使用rmi和corba进行分布式java程序设计_第1页
使用rmi和corba进行分布式java程序设计_第2页
使用rmi和corba进行分布式java程序设计_第3页
使用rmi和corba进行分布式java程序设计_第4页
使用rmi和corba进行分布式java程序设计_第5页
资源描述:

《使用rmi和corba进行分布式java程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使用RMI和CORBA进行分布式java程序设计(byhuihoo.comlizhi)分布式程序设计讨论>>>英文原文:http://developer.java.sun.com/developer/technicalArticles/RMI/rmi_corba/RMI和corba是两种最重要和使用最广泛的分布式对象系统。每种都有它的长处和短处。这两种系统都在从电子商务到卫生保健等不同的行业成功的使用。在项目中使用这两种分布机制中的任何一种都是一项很困难的任务。本文介绍了RMI和corba的机理和

2、最主要的是显示了如何开发一个有用的程序(一个从远程站点下载文件的程序)。于是有以下内容:§一个分布式系统的简介§一个RMI和corba的简介§让你体验开发一个RMI和corba程序的滋味。§说明如何使用RMI和corba从远程机器交换文件§提供一个RMI和Corba的比较。客户/服务端模式客户/服务模式是一个分布式计算应用。它通过使用一个应用程序(客户)和另一个程序(服务端)交换数据。在这样的一个例子里面客户端和服务端一般使用同样的语言来编写,使用相同的协议来相互通信。在客户/服务模式应用到各种各

3、样的地方的过程中,使用低层次的socket来开发是很典型的。使用socket来开发客户/服务端模式意味着我们必须自己设计一种协议,该协议包含客户端和服务端都统一的命令集,使得客户端和服务端能够通过这个协议来通信。例如:HTTP协议提供了一个get的方法。所有的web服务器软件都集成了该功能,而所有的浏览器软件都能够使用该功能来获得资料。分布式对象模式分布式对象系统是一个对象集合,通过定义很完善的统一的接口来分隔开的要求服务(客户端)和功能服务(服务端)。换句话说客户端和公共服务的提供分隔开,这些服

4、务包括数据表现和执行的代码。这是一个分辨分布式对象模式和客户/服务模式的主要不同。在分布式对象模式里,客户端发送一个消息到一个对象,由这个对象解释这个消息然后决定应该由什么服务来完成。这个服务,方法或选择的完成可能是被一个对象或是被一个broker。RMI和corba就是这种模式的例子。RMIRMI是一个分布式对象模式。它使得使用java开发分布式程序更加容易。由于不需要设计协议(这基本是一个错误的任务)使得使用RMI开发分布式程序比使用socket更加容易。在RMI里面设计者就象在调用一个本地的

5、类的方法一样,而实际上是在调用的时候相应的参数被发送到远端的对象和然后被解释。最后结果返回给调用者。一个RMI应用的流程使用RMI开发一个分布式应用包括如下几个步骤1)定义一个远端的接口2)实现这个远端的接口3)开发一个服务端4)开发一个客户端5)生成Stubs和Skeletons,运行RMI注册器,服务端和客户端我们现在通过开发一个文件交换程序来解释这些步骤例子:文件交换程序这个应用允许客户端从服务端交换(或下载)所有类型的文件。第一步是定义一个远程的接口,这个接口指定了的签名方法将被服务端提供

6、和被客户端调用。定义一个远程接口这个程序的远程接口在代码例子1中列出,接口FileInterface提供一个downloadFile这个带一个字符窜(文件名)变量的的方法,然后返回以一个字符窜序列的形式的相应文件数据。代码例子1:FileInterface.javaimportjava.rmi.Remote;importjava.rmi.RemoteException;publicinterfaceFileInterfaceextendsRemote{publicbyte[]downloadFil

7、e(StringfileName)throwsRemoteException;}注意接口FileInterface的如下特征:§它必须定义成public,这是为了让客户端能够通过调用远程接口来间接调用远程的对象。§必须使用从Remote接口扩展过来,这是创建一个远程的对象的需要。§每个接口方法中必须抛出java.rmi.RemoteException错误。实现远程的接口下一步是实现远程的接口FileInterface。实现的例子在代码例子2中列出。类FileImpl从UnicastRemoteOb

8、ject扩展来。这显示出FileImpl类是用来创建一个单独的,不能复制的,远程的对象,这个对象使用RMI的默认的基于TCP的通信方式。代码例子2:FileImpl.javaimportjava.io.*;importjava.rmi.*;importjava.rmi.server.UnicastRemoteObject;publicclassFileImplextendsUnicastRemoteObjectimplementsFileInterface{privateStrin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。