IO模块,基于分布多主机的IO资源在系统无需修改,实现跨主机的资源的访问和管理,根据不同的协议和系统架构可以开发出不同的分布式系统,IO模块主要通过RMI、EJB、CORNA、COM/DCOM来实现分布式系统技术。
一、远程方法调用
1.RMI
RMI是运行在不同计算机上的Java对象通过远程方法调用来进行通信,这些方法调用和对同一程序中对象的操作是一样的。RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变得轻松、简单。
2.远程方法调用的工作方式
1、RMI服务器:包括远程对象,提供RMI服务,并用rmiregistry在注册处注册,获取服务名。
RMI客户:引用远程对象,在RMI注册处查找注册服务,获取对远程对象的引用。
2、RMI服务器与RMI客户之间的交互方式
客户端的存根对象:充当代理对象,向RMI服务器传达请求,等待响应,返回结果给应用程序。
服务器端的骨架对象:复杂监听传入的RMI请求,把它们传递给RMI服务,骨架对象将结果回送给客户的存根对象。
3.RMI实现
实现远程方法调用RMI、通常包括以下4个步骤:
1、定义一个扩展了远程接口的接口,该接口中的每一个方法必须声明它将产生一个RemoteException异常。
2、定义一个实现该接口的类作为服务器。
3、创建客户程序。
4、编译和执行服务器和客户。
二、EJB
EJB组件类型:在EJB规范中定义了三种类型的组件:会话组件、实体组件、消息驱动组件
EJB的开发和部署: 需要对开发工具进行一定的配置后连接服务器,完成EJB组件的开发、部署、测试和客户端程序的设计。EJB组件基于分布式对象处理技术,EJB是设计成运行在服务器上,并由客户机调用的非可视远程对象。
三、CORNA
什么是CORNA?CORNA就是公用对象/组件请求代理体系结构,是对象管理组织OMG公布的关于对象交互的规范,支持不同的网络操作系统和高级语言编程。可以使用多种语言来编写CORNA对象和组件以及客户程序,
CORNA体系结构:CORNA由协同运作的对象和应用程序集合构成。
四、COM/DCOM
什么是COM?COM是一个说明如何建立可动态交互组件的规范,它定义了一些为保证能互操作,客户组件必须遵循的标准。
COM特性:建立在二进制层次上的标准,程序与程序之间的通信建立在此基础上
COM规范:定义了大量的标准接口用于各种用途
分布式块存储对内核文件系统无特性假设,节点变化无需人工参与即可恢复,数据动态均衡负载,支持虚拟机的热迁移。