分布式系统-RMIamp;CORBA

分布式系统-RMIamp;CORBA

ID:43810538

大小:988.00 KB

页数:177页

时间:2019-10-15

分布式系统-RMIamp;CORBA_第1页
分布式系统-RMIamp;CORBA_第2页
分布式系统-RMIamp;CORBA_第3页
分布式系统-RMIamp;CORBA_第4页
分布式系统-RMIamp;CORBA_第5页
资源描述:

《分布式系统-RMIamp;CORBA》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java分布式系统RMI&CORBA软件体系结构演化•Host-based•用户接口,业务逻辑,数据库统统包含在一个大的应用中软件体系结构演化•Client/Server•数据库位于Server•用户接口在客户•业务逻辑位于客户或者服务器或者二者都有分布式系统•应用系统由分布在网络上不同计算机中的对象组成,这些对象可以使用本应用系统中的对象服务,也可以使用其它应用系统中的对象服务基于Socket的远程连接•java.net包提供了基本的基于TCP/IP的通信•Socket–区分不同应用程序进程间的网络通信和连接,主要使用3个参数:通信的目的IP地址、使用的传输层协议(TCP或

2、UDP)和使用的端口号。通过将这3个参数结合起来,与一个Socket绑定,应用层就可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。SocketTest.javaimportjava.io.*;importjava.net.*;publicclassSocketTest{publicstaticBufferedReadergetBufferedReader(Socketsocket)throwsIOException{InputStreaminputStream=socket.getInputStream();InputStr

3、eamReaderinputStreamReader=newInputStreamReader(inputStream);BufferedReaderbufferedReader=newBufferedReader(inputStreamReader);returnbufferedReader;}publicstaticvoidmain(String[]args){Socketsocket=null;try{StringdomainName="time-a.timefreq.bldrdoc.gov";intport=13;socket=newSocket(domainName

4、,port);System.out.println("Socketacquired");BufferedReaderin=getBufferedReader(socket);while(true){Stringline=in.readLine();if(line==null)break;if(line.length()!=0)System.out.println(line);}}catch(IOExceptione){System.out.println("Error"+e);}finally{if(socket!=null){try{socket.close();}catc

5、h(IOExceptioneio){System.out.println(eio);}}}}}缺点•仅支持程序间基于流的连接•程序员需要考虑底层细节分布式对象系统•分布式对象系统的要素•体系结构•RMI:Java的远程计算设施JavaRemoteObjectInvocation(RMI)•就像调用本地对象方法一样调用远程方法LocalMachine(Client)RemoteMachine(Server)SampleServerremoteObject;ints;…s=remoteObject.sum(1,2);1,2publicintsum(inta,intb){retur

6、na+b;}System.out.println(s);3RMI体系结构BusinessObjectInterfacemyBusObj=(BusinesObjectInterface)Naming.lookup("fred")wheretheserver-sideobject(JVM#2)isoftypeBusinessObjectImplwhichimplementsBusinessObjectInterfaceTheStubandSkeletonnotleekcallsRMIClientRMIServerStubreturn•客户对远程方法的调用发送给stub.–stub

7、负责把调用适当地处理后传输给服务器侧的skeleton–打开socket–Marshaling参数–发送数据流.•Skeleton接收远程调用,unmarshals参数,并调用实际的远程对象实现RMI场景1.某java程序创建了一个用来接受远程访问的对象,该程序联系名字服务,按名字注册该对象,然后进入等待请求状态,该程序称为Server2.另外一个程序,作为Client,首先联系名字服务,请求与对象建立连接3.名字服务器查找对象,并定位Server4.名字服务器和对象管理器为Client返回Stub对象

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

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

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