远程方法调用和分布式名字管理.ppt

远程方法调用和分布式名字管理.ppt

ID:51659364

大小:174.50 KB

页数:17页

时间:2020-03-27

远程方法调用和分布式名字管理.ppt_第1页
远程方法调用和分布式名字管理.ppt_第2页
远程方法调用和分布式名字管理.ppt_第3页
远程方法调用和分布式名字管理.ppt_第4页
远程方法调用和分布式名字管理.ppt_第5页
资源描述:

《远程方法调用和分布式名字管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、RMI&JNDI李绪成远程方法调用(RMI)RMI是一种基于Java的分布式编程模型RMI对象由远程接口及其实现类组成Stub:客户机上实现远程接口的对象称为stub。Skeleton:服务器上实现远程接口的对象称为Skeleton。从客户机到服务器的RMI方法调用过程客户机程序RMIStudRMISkeleton服务器程序网络客户机服务器从客户机到服务器的RMI方法调用过程(续)调用Stub:当客户机调用RMI方法时,相当于调用Stub。编组(Marshaling):RMIStub把方法调用中的参数转换成可以在网络上传输的数据格式。网络传输:方法调用及其指令

2、以网络分组的形式发送到服务器上,服务器读取网络传输来的字节数据。分解:RMISkeleton负责拆解网络格式的数据,恢复方法调用中的参数。Skeleton利用方法调用,访问RMI实现类。从客户机到服务器的RMI方法调用过程(续)RMI实现类进行处理Skeleton对返回值进行编组通过网络传输到客户机上Stub再对收到的返回值进行分解最后把分解后的返回值送给客户机应用RMI编程模型WeblogicServer的RMI实现支持三种不同的通信格式:T3、T3/HTTP和IIOP。T3是一种经WeblogicServer优化过的协议,用于在网络线路上传输远程方法调用。

3、T3/HTTP是HTTP分组中的T3协议隧道,使RMI调用能够穿越只允许HTTP流通的防火墙。IIOP是一种CORBA通信协议,WeblogicServer支持的RMI/IIOP协议,允许Java程序与传统的CORBA系统进行通讯。串行化传递给远程方法调用的参数必须转换成字节流。RMI远程方法调用中的参数和返回值必须实现java.io.Serializable或者java.rmi.Remote接口串行化过程相当于把对象转化成字节流对外部资源的引用不能做串行化处理实现了java.io.Serializable接口的Java类可以做串行化串行化类必须保证它的成员变

4、量也是可串行化的RMI远程方法调用按值传递可串行化的对象远程接口所有的RMI接口都必须扩展java.rmi.Remote接口。自制串行化过程java.io.externalizable接口:自制串行化过程的类必须实现该接口writeExternal(java.io.ObjectOutputStreamoos):通过该方法输出串行化数据;readExternal(java.io.ObjectOutputStreamois):通过该方法读入串行化数据命名和目录服务命名服务提供了一种对象命名的机制,这样你可以在无需要知道对象位置的情况下获取和使用对象,可以定位任何网

5、络能够访问的机器上的对象。命名服务为分离服务提供者与服务使用者提供了一种必不可少的机制。目录服务也将名字和对象进行关联,但通过关联属性给对象提供了额外信息。常见命名服务域名系统(DNS)是识别网络中机器的Internet命名服务;Novell公司的Novell目录服务提供了网络服务的相关信息;Sun公司的网络信息服务(NIS)提供了对有关机器、文件、用户、打印机和网络在系统范围内的信息;轻量级目录访问协议(LDAP)是Intenet命名服务的一种许可标准。JNDI是什么?JNDI是为Java程序中命名和目录服务定义接口的JavaAPI。JNDI只是一个API而

6、不是一个命名和目录服务。JNDI(JavaNamingandDirectoryInterface)是J2EE提供的命名和目录服务JNDI最简单的形式就是用来查找通过J2EE服务器注册的资源。JNDI的高级应用支持对Java对象和其他信息复杂的存储和检索。java.naming.Context接口这个接口提供一些方法,允许客户机增加、删除和检索名字服务中的对象。java.naming.InitialContext类实现了Context接口,客户机实际上使用这个类与JNDI服务进行交互的。获得一个初始环境(本地)使用JNDI名字服务的第一步是获取一个添加或查找名字

7、的环境。代表整个名称空间的环境叫做初始环境。javax.naming.InitialContext类来描述环境。该类对象描述一个可用来查询对象或向名称空间添加新对象的环境。例:Contextctx=newInitialContext();获得一个初始环境(远程)Propertiesp=newProperties();p.put(Context.INITIAL_CONTEXT_FACTORY,”weblogic.jndi.WLInitialContextFactory”);p.put(Context.PROVIDER_URL,”t3://lixucheng:70

8、01”);Contextctx=new

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

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

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