欢迎来到天天文库
浏览记录
ID:36016876
大小:112.00 KB
页数:10页
时间:2019-04-29
《javascript解析汇报xml》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文案本篇用实例来说明采用Java进行RMI远程方法调用及CORBA服务调用的实现方法,并分析它们的异同,从而为分布应用软件的开发者提供参考和帮助。 Internet/Intranet的飞速发展使得Web应用日益广泛而复杂,Web早已不仅仅是超媒体信息的浏览工具,它正逐步发展成为分布异构环境中企业应用的通用前端和事务处理的展现窗口。在分布式环境异构中,各种机器所采用的操作系统、网络通信协议和应用软件千差万别,要实现信息共享和软件资源的整合十分困难,然而一个健壮的分布式计算框架能为可移植的分布式应用软件开发带来巨大的便利和好
2、处。 分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件。在应用系统框架的支撑下,开发者可以将软件功能封装为更易管理和使用的对象,这些对象可以跨越不同的软、硬件平台进行互操作。目前,分布式互操作标准主要有Microsoft的COM/DCOM标准、Sun公司的JavaRMI标准和OMG组织的CORBA标准。 JavaRMI调用实例 JavaRMI简介 远程方法调用(RMI,RemoteMethodInvocation)是jdk1.1中引入的分布式对象软件包,它的出现大大简化了分布异构环境中Java应用之间的
3、通信。 要使用RMI,必须构建四个主要的类:远程对象的本地接口、远程对象实现、RMI客户机和RMI服务器。RMI服务器生成远程对象实现的一个实例,并用一个专有的URL注册。RMI客户机在远程RMI服务器上查找服务对象,并将它转换成本地接口类型,然后像对待一个本地对象一样使用它。 下面是一个简单的RMI实例,RMI客户机通过RMI服务器提供的方法实现对两个双精度浮点数的加减运算。例子虽然很简单,但掌握了JavaRMI调用的基本原理和方法,在实现复杂应用时,我们需要做的也只是完善远程对象的实现类而已。 RMI实例
4、分析 1.远程对象的本地接口声明(RMIOperate.java) 该类仅仅是一个接口声明,RMI客户机可以直接使用它,RMI服务器必须通过一个远程对象来实现它,并用某个专有的URL注册它的一个实例。 具体代码如下: packagewf.rmi; //包名 importjava.rmi.*;//导入类包 /*RMI本地接口必须从Remote接口派生*/ publicinterfaceRMIOperateextendsRemote { /*接口中的具体方法声明,注意必须声明抛出RemoteExc
5、eption*/ publicdoubleadd(doublex,doubley)throwsRemoteException; //输入两个浮点数,返回其和 publicdoubleminus(doublex,doubley)throwsRemoteException; //输入两个浮点数,返回其差标准文档实用文案 } 2.远程对象实现类(OperateImpl.java) 这个类应实现RMI客户机调用的远程服务对象的本地接口,它必须从UnicastRemoteObject继承,构造函数应抛出RemoteEx
6、ception异常。 具体代码如下: packagewf.rmi;//包名 //导入需要的类包 importjava.rmi.*; importwf.rmi.RMIOperate; importjava.rmi.server.UnicastRemoteObject; publicclassOperateImplextendsUnicastRemoteObjectimplementsRMIOperate { /*构造函数*/ publicOperateImpl()throwsRemoteException
7、 { } /*实现本地接口中声明的add方法*/ publicdoubleadd(doublex,doubley)throwsRemoteException { doublez=x+y; returnz; } /*实现本地接口中声明的minus方法*/ publicdoubleminus(doublex,doubley)throwsRemoteException { doublez=x-y; returnz; } } 3.RMI服务器类(RMIServer.java) 该类创建远程对
8、象实现类OperateImpl的一个实例,然后通过一个专有的URL来注册它。所谓注册就是通过Java.rmi.Naming.bind()方法或Java.rmi.Naming.rebind()方法,将OperateImpl实例绑定到指定的URL上。 具体实现代码如下:
此文档下载收益归作者所有