Java Language to IDL Mapping Java Language to IDL Mapping
### Java语言到IDL映射详解 #### 一、概述 《Java语言到IDL映射》这一文档详尽地阐述了如何将Java中的分布式编程模型与OMG(Object Management Group)的IDL (Interface Definition Language)进行无缝对接。此文档强调了在Java RMI (Remote Method Invocation) 和OMG IDL之间建立桥梁的重要性,旨在统一Java RMI的易用性与通过IDL支持跨语言操作以及通过IIOP (Internet Inter-ORB Protocol) 支持标准协议的能力。 #### 二、Java RMI与IDL的背景及目标 1. **Java RMI**:是一种用于实现分布式计算的方法,它允许对象远程调用另一个对象的方法。由于其简单性和易于学习的特点,Java RMI受到了广泛欢迎。 2. **OMG IDL**:是一种接口定义语言,用于定义服务端和客户端之间的接口,使得不同编程语言编写的程序可以相互通信。IDL提供了跨语言和平台的互操作性。 由于Java RMI缺乏与其他语言的互操作性,并且目前不支持标准协议,因此需要一种机制来弥补这些不足。文档的目标是定义一种解决方案,该方案既要与当前的Java RMI语义完全兼容,又要与OMG IDL、IIOP以及CORBA对象模型完全兼容。 #### 三、RMI/IDL子集 文档详细描述了Java RMI的一个子集——RMI/IDL,这部分内容规定了哪些类型的Java数据可以在IDL中表示并能够通过GIOP传输。具体来说: 1. **基本类型**:包括Java中的所有原始类型,如int、double等。 2. **RMI/IDL远程接口**:定义了可以远程调用的对象的接口,确保这些接口能够在不同的环境中被正确识别和使用。 3. **RMI/IDL值类型**:是指那些可以被序列化并通过网络传输的数据结构,比如自定义的类和枚举类型。 4. **RMI/IDL数组**:指由符合RMI/IDL规范的类型组成的数组。 5. **RMI/IDL异常类型**:用于处理远程方法调用过程中可能出现的异常情况。 #### 四、IDL映射 本节详细介绍了Java RMI类型到IDL的映射规则。这些规则确保了Java中的数据结构可以被准确无误地转换为IDL定义的语言无关的接口。 - **远程接口映射**:描述了如何将Java中的远程接口映射到IDL中,确保接口可以在不同语言和平台上被识别。 - **值类型映射**:定义了Java中值类型的IDL表示形式,使得自定义的数据结构可以通过IDL被其他语言理解。 - **数组映射**:规定了如何将Java中的数组映射到IDL中,以支持复杂数据结构的远程传递。 - **异常映射**:说明了如何将Java中的异常映射到IDL中,以便于处理远程调用过程中的错误情况。 #### 五、运行时问题 讨论了在实际应用中可能遇到的一些运行时问题,例如: - **跨语言调用的兼容性**:如何确保Java中的远程方法能够被其他语言编写的客户端正确调用。 - **性能优化**:讨论了在实现RMI/IDL映射时如何优化性能,提高远程调用的效率。 - **安全性**:探讨了在远程方法调用过程中如何保证数据的安全性。 #### 六、可移植性接口 这部分介绍了为了实现跨平台互操作而设计的一系列接口,包括但不限于: - **对象引用接口**:定义了如何获取远程对象的引用,以及如何通过这些引用调用远程方法。 - **编码解码接口**:描述了如何将Java中的对象编码成可以在网络上传输的形式,以及如何解码接收到的数据。 #### 七、应用程序编程接口 详细说明了供开发者使用的API,以便更方便地实现RMI/IDL的功能。这些API包括: - **客户端API**:帮助客户端调用远程方法的API。 - **服务器端API**:帮助服务器端处理远程请求的API。 - **工具API**:提供了一些辅助工具,如生成IDL文件的工具等。 #### 八、生成的IDL文件结构 文档还提供了关于生成IDL文件的具体格式和结构的信息,这对于理解和使用生成的IDL文件至关重要。 总结,《Java语言到IDL映射》文档全面而深入地探讨了如何在Java RMI和OMG IDL之间建立桥梁,以实现更高层次的跨语言和跨平台互操作性。通过遵循文档中的指导原则和最佳实践,开发者可以更高效地构建分布式应用程序。
























剩余61页未读,继续阅读

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 41
- 资源: 24
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 使用MATLAB手势识别(模板匹配算法).zip
- 使用MATLAB手势控制系统(不同手势不同指令,GUI界面框架).zip
- 使用MATLAB数字信号处理GUI(功能多).zip
- 使用MATLAB数字信号处理(不同模块,主界面控制).zip
- 使用MATLAB手势识别系统(石头剪刀布).zip
- 使用MATLAB数字信号处理GUI版本.zip
- 使用MATLAB铁轨异物入侵(铁轨直线自动定位,异物预警,GUI界面).zip
- 使用MATLAB图像去雾(多方法,GUI界面).zip
- 使用MATLAB图像去雾系统(彩色,灰色均可处理,多方法对比,GUI框架).zip
- 多元线性回归预测数据集
- 基于Python的Django-vue毕业生去向反馈调查平台实现源码-说明文档-演示视频.zip
- C#基础及标准控件的使用,附登录案例
- 12345678阿斯顿法国红酒
- 基于Python的Django-vue仓库管理系统的设计与实现源码-说明文档-演示视频.zip
- ,,Ansys-Fluent激光电弧焊接增材数值模拟案例,激光焊接,激光增材,激光熔覆等,SLM Fluent模拟,内容包含 激光焊接熔池演变(视频教程) SLM激光熔池演变(视频教程) 激光熔覆单道
- 阿斯顿法国红酒看了;想cvbnm


