Java分布式系统深入:RMI与CORBA详解
需积分: 0 172 浏览量
更新于2024-08-18
收藏 832KB PPT 举报
" Skeletons在Java分布式系统中的工作原理,包括RMI(远程方法调用)和CORBA(公共对象请求代理架构),以及软件体系结构的演变。"
在Java分布式系统中,Skeletons扮演着关键角色,它们是RMI机制的一部分,负责处理远程方法调用的细节。Skeletons的主要工作流程如下:
1. **Unmarshalling参数**:当客户端通过RMI调用远程方法时,Skeletons首先解码或“unmarshal”传入的参数。这个过程涉及将网络上的字节流转换回Java对象,以便方法能够正确地处理这些参数。
2. **调用实际远程对象**:一旦参数被解码,Skeletons会将调用转发到实际的远程对象实现实例上。这意味着尽管客户端可能在不同的机器上,但Skeletons确保了方法能够在正确的对象上执行。
3. **Marshalling结果**:远程方法执行完毕后,无论是返回值还是抛出的异常,Skeletons都需要将结果编码或“marshal”成字节流,然后写入网络并发送回给调用者。这个过程确保了客户端能够接收到远程方法执行的结果。
RMI(Remote Method Invocation)是Java提供的一种轻量级的分布式计算框架,它允许Java对象调用在网络另一端的对象的方法,仿佛它们是在同一台机器上一样。RMI简化了分布式系统的设计,因为它隐藏了网络通信的复杂性。
而CORBA(Common Object Request Broker Architecture)则是一个更复杂的标准,它定义了一个中间件,使得不同编程语言和操作系统之间的对象可以互相调用方法。CORBA使用ORB(Object Request Broker)作为核心组件,负责对象的定位、消息传递和类型转换。
随着软件体系结构的演变,从主机基础架构到客户端/服务器模型,再到分布式系统,系统的复杂性和可扩展性都在增加。在分布式系统中,多个对象分布在不同的网络节点上,它们可以跨系统交互,实现更高级别的功能和协同工作。
基于Socket的远程连接是实现这些分布式系统的基础。Java的`java.net`包提供了Socket类,用于建立基于TCP/IP的网络连接。Socket通过指定的IP地址、传输层协议(通常是TCP)和端口号来识别和区分不同的通信流。在给定的代码示例`SocketTest.java`中,展示了如何创建一个Socket,获取输入流,并创建一个`BufferedReader`,以便读取远程服务器的数据。
总结来说,Skeletons在RMI中的工作涉及到解码参数、调用远程对象以及编码返回结果,它们是Java分布式系统中的重要组件,使得跨网络的调用变得简单且透明。同时,了解Socket通信和更高层次的分布式架构如RMI和CORBA,对于理解和构建大规模的Java应用程序至关重要。
2022-09-14 上传
2008-12-09 上传
2022-09-23 上传
2024-08-02 上传
2023-02-08 上传
2023-07-28 上传
2023-07-13 上传
2024-04-20 上传
2023-09-02 上传
清风杏田家居
- 粉丝: 21
- 资源: 2万+
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护