




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中间件技术原理与应用 刘冰长春工业大学liubingnet 课程目标 构造大型的分布式软件系统时将遇到什么样的问题解决这些问题的原理与技术 构件技术与中间件技术相关的工业标准如COM CORBA J2EE等 1 操作系统2 计算机网络3 数据库原理4 软件工程5 Java C 相关课程 开放系统 互操作性 中间件 1 2 3 远地过程调用及其增强 分布式计算环境 4 5 第1章中间件产生背景及分布式计算环境 什么是分布式软件 软件面临的问题软件正变得无处不在 同时软件所面临的挑战也正在日益加剧复杂度高开发周期长可靠性保证难 什么是分布式软件 本课程关注分布式软件系统的开发支撑随着网络与通信技术的发展 分布式软件的应用越来越广泛 分布式软件在计算机软件应用领域扮演者非常重要的角色 分布式软件一般比集中式软件规模大 复杂 是软件开发复杂性的集中体现 什么是分布式软件 分布式软件网络环境 一群通过网络互相连接的处理系统 每个处理节点由处理机硬件 操作系统及基本通信软件等组成 分布式软件 运行在网络环境中的软件系统 两种典型的应用途径将分布式软件系统看做直接反映了现实世界中的分布性用于改进某些应用的运行性能 计算模式的发展过程基于主机的系统 分时共享 资源共享 两层Client Server系统客户端负担仍然比较重仍然需要客户端进行较复杂的数据处理客户端的可移植性不好处理复杂必然牵涉更多的移植性问题每个客户端上都要安装数据库驱动程序系统的可维护性不好客户端包含过多的商业逻辑商业逻辑与人机交互界面交织在一起数据的安全性不好 1 1开放系统与互操作性概述 计算模式的发展过程三层 n层 体系架构表示层 用户层业务逻辑层 应用层数据层 数据库服务器基于Web的三层 N层 体系结构 1 1开放系统与互操作性概述 开放系统基本组成硬件包括PC 工作站 大中型机 各式各样的嵌入式设备 移动设备 软件各类操作系统 应用软件 网络各类网络结构 网络协议 开放系统面临的问题 远程性 并发行 无全局状态 部分失败 异步性 异质性 自主性 联合型 伸缩性 发展性 移动性 1 1续 开放系统特点 开放的 提供可移植性和协同工作 集成的 有助于对付异质性 灵活的 有助于对付移动性 模块化的 灵活性的基础 可联合的 可管理的 安全的 透明的 支撑软件和硬件的异质性 满足服务质量需求 1 1续 开放系统必具特性可移植性 Portability 可互操作性 Interoperability 可伸缩性 Scalability 易获得性 Availability 1 1续 开放系统构造用轮廓勾划 轮廓由系统管理 用户界面 安全性 编程服务 互操作服务 通信服务 信息实体 七个成分组成 对轮廓的各成分标准化 即成开放系统 1 1续 开放系统开放程度表 1 1续 互操作性本质 从异质环境 异种体系结构 异种操作系统 异种网络等 中获得资源的透明动用能力 面向计算资源的互操作性 面向信息资源的互操作性 如数据库 定义 在一个由异质实体构成的网络环境中 当应用在网络的结点上运行时 它可以透明地动用网中其他结点上的资源 并借助这些资源与本结点上的资源共同来完成某个或某组任务 1 1续 互操作性定义 在一个由异质实体构成的网络环境中 当应用在网络的结点上运行时 它可以透明地动用网中其他结点上的资源 并借助这些资源与本结点上的资源共同来完成某个或某组任务 本质 从异质环境 异种体系结构 异种操作系统 异种网络等 中获得资源的透明动用能力 面向计算资源的互操作性 面向信息资源的互操作性 如数据库 1 1续 现代应用系统的基本特征分布任务已不只是在单机上运行 而是由网络中多台计算机上的相关应用共同协作完成 需考虑网络传输 数据安全 数据一致性 同步等诸多问题 异构计算机硬件 操作系统 网络协议 数据库系统以及开发工具种类繁多 需考虑数据表示 调用接口 处理方式等诸多问题 动态协作参与协作的应用允许位置透明性 迁移透明性 负载平衡性等需求 1 2中间件概述 1 2续 1 2续 利用中间件进行协同工作的系统 1 2续 中间件定义中间件 Middleware 是一种软件 处于系统软件 操作系统和网络软件 与应用软件之间 它能使处于应用层中的各应用成分之间实现跨网络的协同工作 也就是互操作 这时允许各应用软件之下所涉及的 系统结构 操作系统 通信协议 数据库和其它应用服务 各不相同 1 2续 应用软件 中间件 网络协议 操作系统 硬件平台 应用软件 中间件 网络协议 操作系统 硬件平台 DBMS 两者内含有进行协同工作的应用成分 中间件定义 1 2续 中间件组成1 执行环境 ExecutionEnvironment 软件如果一个网络的各个节点上安装了EE软件 各节点上的应用软件之间就可以实现相互合作 EE软件使各节点的下层设备对应用软件透明化了 EE软件是中间件中的主体部分 2 应用开发 ApplicationDevelopment 工具AD工具用来帮助开发内含 透明动用对方 成分的应用软件 或改造原有的无透明动用能力的应用软件 AD工具是中间件中的必备部分 1 2续 中间件的层次结构 1 2续 中间件基本框架 1 2续 基于中间件的软件系统基本模型 1 2续 中间件工作原理 1 2续 中间件的基本分类 事务处理中间件 交易中间件 TPM 原子性A一致性C隔离性I耐久性D 消息中间件 MOM 消息队列发布 预定 分布式中间件 1 2续 中间件的发展情况 1 2续 中间件的主要厂商第一梯队Oracle BEA IBM 东方通科技 占70 以上份额 第二梯队Sun 中软 中创 微软等 第三梯队国内若干中小软件企业和系统集成企业 1 2续 中间件的作用 它提供了通道的功能 可保证应用系统数据的可靠传输 它起着桥梁的作用 达成异构应用资源之间的互联互通 它是分布式应用的集成开发框架 促成企业分布式应用的有机集成 作为平台 它可有效实现分布应用的分阶段顺利部署 它起着过滤网的作用 可有力保护关键信息的安全 1 2续 中间件的优越性 1 企业应用方面缩短应用开发周期减少项目开发风险应用程序质量可维护性增加产品吸引力 2 应用程序方面透明地同其他应用程序交互与运行平台提供的网络通信服务无关具有良好的可靠性和可用性具有良好的可扩展性 1 2续 中间件发展面临的问题 不同厂商的实现很难互操作 只提供了一部分平台的实现 应用开发者要面临设计选择 过分追求中间件功能的全面性 过分强调选择国外产品 不能准确认识中间件的作用 1 2续 中间件技术发展趋势 中间件的发展需要规范化 应用需求导致技术格局多样化 构件化和松散耦合 底层的中间件持续走稳 高层的中间件成为市场新宠 新技术与产品的推出速度放缓 实用化是重要的发展趋势 1 2续 RPC背景在传统的编程概念中 过程是只能局限在本地运行的一段代码 主程序和过程之间的运行关系是本地调用关系 本地过程调用LPC LPC模式无法充分利用网络上其他主机的资源 也无法提高代码在实体间的共享程度 使得主机资源大量浪费 RPC是对LPC的扩展 通过这种调用机制 程序员编写客户方应用时 可根据需要透明地调用位于远端服务器上的过程 1 3远程过程调用及其增强 main 调用A 退出 A 调用B 退出 B 退出 RPC调用模型 1 3续 远程过程调用RPC概念RPC是从一台机器或一个进程调用另一台机器或另一个进程的服务或方法 远程过程调用是创建分布式应用的一种方法 来源于Unix操作系统的处理思想 被普遍认为是创建分布式应用的有效方法 从程序员的角度 RPC采用常规的编程模式 程序代码调用远端过程并将结果返回 当使用RPC时 只需编写很少的网络程序代码 绝大部分代码由IDL InterfaceDefineLanguage 生成 1 3续 IDL编译器结构 1 3续 远程过程调用中间件工作机理 用中间件中的IDL对调用顺序加以描述 利用IDL编译器对这种定义和描述进行编译 从而生成支持客户机和服务器进行通信的管道 在服务器端 被调用的远端过程需单独编写 并被置入服务器端框架 同时要在远程过程调用中间件中进行注册 以备调用 启动本地客户端存根 存根捆绑远端过程名和参数 利用网络传输到服务器端框架 从而实现数据格式的转换和参数的传递 采用调用 返回模式具体地完成远端过程调用 1 3续 RPC工作流程 RPC一般采用调用 返回模式 多用于应用程序之间的通信 采用同步方式 RPC程序之间的同步通信一般采用Request Wait Reply方式 因此RPC更适应小型简单而不需要采用异步通信方式的应用 1 3续 RPC的通信模型 1 3续 RPC执行过程 1 3续 通信协议支持两种传输协议 TCP UDPTCP 连接 可靠 低效 保证要么把调用传递到远程过程且接受应答 要么报告通信无法进行 UDP 无连接 不可靠 高效 使用UDP的远程过程调用也许会丢失或重复 1 3续 RPC的语义Last of many 被调用的过程可能执行若干次 但规定其最后一次执行的结果作为返回结果 At most once 若调用者收到了回复消息 则称被调用的过程正确地完成了它的一次 仅仅一次 执行 At least once 远程调用过程至少执行一次 回复消息可能返回一次或多次 Exactly once 若服务器正常 则远程过程恰好执行一次 并返回一个调用结果 1 3续 远程过程调用的特点 客户 服务器模式客户端的应用调用一个位于远端服务器平台的进程或服务 RPC实际上是通过C S方式实现的 数据封装性远端过程调用负责捆绑参数 实现不同平台之间参数的传递 发送参数到远端过程 同步性当客户机发出请求时 服务器进程处于运行状态 复杂性远程调用的实现环境可能要用系统级的任务来创建 但一旦完成 对程序员就是透明的了 1 3续 远程过程调用的特点缺点 需要进行系统级的配置 RPC并不支持对象 CORBA的IIOPMTS的DCOMJava的sockets 应用级协议的编码交换EJB RMI JavaRemoteMethodProtocol 优点 方便地实现不同平台之间的数据转换 XDR eXternalDataRepresentation 1 3续 RMI环境RMI 远程方法激活 在分布式程序中 其远程对象的方法能够被运行在不同主机上的其他Java虚拟机的方法调用 相对于过程调用级的RPC RMI可以实现编程级对象之间的方法调用 本地与远程方法调用 1 3续 RMI体系结构 1 3续 RMI系统的目标 支持对存在于不同Java虚拟机上对象的无缝的远程调用 支持服务器对客户的回调 把分布式对象模型自然地集成到Java语言里 把分布式对象模型和本地Java对象模型间的不同表面化 使编写可靠的分布式应用程序简单化 保留Java运行时环境提供的安全性 1 3续 RMI的体系结构RMI体系结构有三层组成桩 也成为存根 框架层 stub skeleton 远程引用层 RemoteReference 传输层 Transport 1 3续 RMI中的序列化对远程方法需要的参数和返回值 桩和框架负责把它们转化为字节流 即序列化 从而可以在网络上传送并可在另外一段重建 即逆序列化 java io Serializable如需要是一个类被序列化 需要满足三个条件 实现Serializable接口 保证类有一个公共的 无参数的构造方法 保证类不包含对不可序列化对象的引用 1 3续 DCE的体系结构 DCE包含一些线程 RPC 若干服务及应用 1 4分布式计算环境DCE DCE的应用三个文件 界面定义文件 客户程序 服务器程序 1 4续 DCE服务 基本服务线程服务RPC服务目录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏鑫氟天科技有限公司招聘1人模拟试卷及答案详解(典优)
- 2025湖南农业大学第二批公开招聘12人考前自测高频考点模拟试题及答案详解(必刷)
- 2025北京第五实验学校招聘38人模拟试卷及参考答案详解
- 2025年核工业四一七医院招聘(22人)考前自测高频考点模拟试题参考答案详解
- 2025年河北沧州海兴县公开招聘社区工作者27名模拟试卷及答案详解(必刷)
- 2025黑龙江绥化市安达市任民镇人民政府公益性岗位招聘1人考前自测高频考点模拟试题及答案详解(全优)
- 2025年河北唐山市丰润区选聘第二批事业编制医疗技术人员13名考前自测高频考点模拟试题及答案详解参考
- 2025年三峡集团高校毕业生春季招聘笔试题库历年考点版附带答案详解
- 2025北京市平谷区教育委员会所属事业单位面向应届毕业生招聘教师140名模拟试卷附答案详解(突破训练)
- 2025甘肃张掖市教育局培黎职业学院引进高层次人才14人模拟试卷及完整答案详解1套
- 图书馆外文图书分编工作细则
- 干漆膜(涂层)厚度检测报告
- 人教版小学三年级数学上册几分之一课件16888
- 过氧化氢异丙苯安全技术说明书MSDS
- GB/T 3098.4-2000紧固件机械性能螺母细牙螺纹
- 【演练方案】特种设备事故(压力容器)应急预案
- 全新档案法专题学习讲座课件
- 六年级上册道德与法治课件第四单元第8课
- 量具使用知识培训课件
- 感动中国人物-于敏
- Q-RJ 557-2017 航天型号产品禁(限)用工艺目录(公开)
评论
0/150
提交评论