### 中间件技术及应用考试复习重点解析 #### 第一章 中间件产生背景与分布式环境 ##### 一、中间件的基本概念 1. **中间件定义**:中间件是位于系统软件(如操作系统和网络软件)与应用软件之间的一种软件层。它的主要功能是使不同的应用软件能够跨越网络进行协作工作,即使这些应用软件所依赖的操作系统、通信协议、数据库等基础设施存在差异。 2. **中间件的重要性**:随着信息技术的发展,应用系统越来越复杂,需要在不同平台上运行的应用软件能够相互协作。中间件提供了一种解决方案,使得开发者能够更专注于业务逻辑的开发,而不是底层平台的差异性问题。 ##### 二、中间件的分类 中间件根据其提供的功能和服务不同,可以分为以下几类: 1. **终端仿真/屏幕转换中间件**:这类中间件主要用于解决旧系统和新系统之间的兼容性问题,例如将老式终端屏幕显示转换为现代GUI界面。 2. **数据库访问中间件**:这类中间件提供统一的接口来访问多种类型的数据库系统,使得应用程序不必关心具体的数据库类型。 3. **远程过程调用中间件(RPC)**:此类中间件使得一个程序可以像调用本地函数那样调用另一个远程计算机上的函数。 4. **面向消息中间件(MOM)**:这类中间件通过消息队列等方式实现异步通信,适用于分布式系统中。 5. **事务(交易)中间件**:这类中间件主要用于处理跨系统或跨网络的事务处理需求。 6. **分布式对象中间件**:这类中间件提供了一种面向对象的方式,用于构建分布式应用系统。 ##### 三、远程过程调用中间件详解 1. **RPC简介**:远程过程调用(RPC)是一种网络通信协议,它允许程序调用另一台计算机上的程序,就像调用本地函数一样。RPC通常基于C/S架构,可以实现数据表示、可靠传输、服务定位等功能。 2. **RPC的工作原理**: - 使用中间件中的IDL(接口定义语言)对调用过程进行描述。 - 利用IDL编译器生成支持客户端和服务端通信的代码。 - 在服务端编写并注册被调用的远程过程。 - 客户端发送请求到服务端,服务端执行远程过程并返回结果。 - 框架和桩负责处理数据的打包和解包。 3. **RPC的语义**: - Last-of-many: 远程过程可能被执行多次,最终返回最后一次执行的结果。 - At-most-once: 若调用者收到了回复,则认为远程过程仅执行了一次。 - At-least-once: 远程过程至少执行一次,可能返回一次或多次。 - Exactly-once: 正常情况下,远程过程只执行一次,并返回单个结果。 4. **用C语言实现RPC**: - 定义IDL接口。 - 使用MIDL工具生成必要的代码文件。 - 服务端实现服务。 - 客户端调用服务。 5. **RMI(远程方法调用)**:RMI是一种用于Java环境下的远程过程调用技术,允许Java对象通过网络调用另一个Java虚拟机上的对象的方法。 - 实现过程包括定义接口、实现接口、编译产生桩和框架、发布服务和调用服务。 #### 第三章 COM相关技术 ##### 一、COM概述 1. **COM定义**:组件对象模型(COM)是一种软件对象组件之间通信的标准,它提供了一种二进制和网络兼容的规范,允许组件之间进行通信,无论这些组件位于同一台计算机还是不同计算机上。 2. **COM的主要组成部分**: - 组件:具有特定逻辑功能的可执行代码。 - 接口:定义了组件对外提供的功能和服务。 - COM库:提供了实现COM交互所需的底层支持。 3. **接口**:所有COM组件都必须实现IUnknown接口,这是一个基本接口,用于管理组件的生命期。 4. **IDispatch接口**:从IUnknown接口派生,用于提供标准化的服务接口。 5. **类工厂**:用于创建其他组件的组件。 6. **DCOM**:分布式组件对象模型(DCOM)是COM技术的扩展,支持组件之间的远程通信。 7. **MTS**:事务服务(MTS)是用于管理COM组件的事务处理和一致性的系统。 通过以上知识点的学习,我们可以了解到中间件技术是如何帮助解决分布式环境中应用软件的互操作性和复杂性问题的。这对于构建现代的分布式系统至关重要。希望这些复习要点能够帮助考生更好地理解和掌握中间件技术的相关知识。













剩余6页未读,继续阅读


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


最新资源
- 基于大数据下工程造价管理探究.docx
- 论GIS在环境管理及评价方面的应用.docx
- 第十二章第2讲基本算法语句.ppt
- JAVA课程方案设计书(周永新201190483).doc
- 计算机基础教学深度初探.docx
- 平面研究分析报告需要学哪些软件.doc
- 提高计算机通信网络可靠性的研究.docx
- 计算机应用软件要点问题的思考体会.docx
- CAD制图技术在机械工程中的开发与应用.docx
- 实验3:ucosII实时操作系统.doc
- MyEclipse内置的CVS客户端进行项目管理版本控制.doc
- Oracle数据字典.docx
- 基于项目教学法的初中计算机综合实践教学思考.docx
- Git高级技巧大全之深入实践基础教程
- 互联网+理财:应该选择量化、大数据还是AI?.docx
- 化工自动化及仪表之执行器培训.ppt


