




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 中间件技术 2 教材与参考书目 教材 中间件技术原理与应用 张云勇清华大学出版社参考书 COM原理与应用 潘爱民清华大学出版社 CORBA原理及应用 朱其亮北京邮电大学出版社 精通EJB 美 EdRoman电子工业出版社 3 第1章中间件产生背景及分布式计算环境 主要内容开放系统互操作性中间件 4 1 1开放系统与互操作性概述 计算模式的发展过程基于主机的系统 分时共享 资源共享 两层Client Server系统三层 n层 体系架构表示层 用户层业务逻辑层 应用层数据层 数据库服务器基于Web的三层 N层 体系结构 5 1 1续 开放系统基本组成硬件包括PC 工作站 大中型机 各式各样的嵌入式设备 移动设备 软件各类操作系统 应用软件 网络各类网络结构 网络协议 开放系统面临的问题 远程性 并发行 无全局状态 部分失败 异步性 异质性 自主性 联合型 伸缩性 发展性 移动性 6 1 1续 开放系统特点 开放的 提供可移植性和协同工作 集成的 有助于对付异质性 灵活的 有助于对付移动性 模块化的 灵活性的基础 可联合的 可管理的 安全的 透明的 支撑软件和硬件的异质性 满足服务质量需求 7 1 1续 开放系统必具特性可移植性 Portability 可互操作性 Interoperability 可伸缩性 Scalability 易获得性 Availability 开放系统构造用轮廓勾划 轮廓由 七个成分组成 对轮廓的各成分标准化 即成开放系统 8 1 1续 开放系统开放程度表 9 1 1续 互操作性本质 从异质环境 异种体系结构 异种操作系统 异种网络等 中获得资源的透明动用能力 面向计算资源的互操作性 面向信息资源的互操作性 如数据库 定义 在一个由异质实体构成的网络环境中 当应用在网络的结点上运行时 它可以透明地动用网中其他结点上的资源 并借助这些资源与本结点上的资源共同来完成某个或某组任务 10 1 1续 互操作性定义 在一个由异质实体构成的网络环境中 当应用在网络的结点上运行时 它可以透明地动用网中其他结点上的资源 并借助这些资源与本结点上的资源共同来完成某个或某组任务 本质 从异质环境 异种体系结构 异种操作系统 异种网络等 中获得资源的透明动用能力 面向计算资源的互操作性 面向信息资源的互操作性 如数据库 11 1 2中间件概述 现代应用系统的基本特征分布任务已不只是在单机上运行 而是由网络中多台计算机上的相关应用共同协作完成 需考虑网络传输 数据安全 数据一致性 同步等诸多问题 异构计算机硬件 操作系统 网络协议 数据库系统以及开发工具种类繁多 需考虑数据表示 调用接口 处理方式等诸多问题 动态协作参与协作的应用允许位置透明性 迁移透明性 负载平衡性等需求 12 1 2续 13 1 2续 14 1 2续 利用中间件进行协同工作的系统 15 1 2续 中间件定义中间件 Middleware 是一种软件 处于系统软件 操作系统和网络软件 与应用软件之间 它能使处于应用层中的各应用成分之间实现跨网络的协同工作 也就是互操作 这时允许各应用软件之下所涉及的 系统结构 操作系统 通信协议 数据库和其它应用服务 各不相同 16 应用软件 中间件 网络协议 操作系统 硬件平台 应用软件 中间件 网络协议 操作系统 硬件平台 DBMS 两者内含有进行协同工作的应用成分 中间件定义 1 2续 17 1 2续 中间件组成1 执行环境 ExecutionEnvironment 软件如果一个网络的各个节点上安装了EE软件 各节点上的应用软件之间就可以实现相互合作 EE软件使各节点的下层设备对应用软件透明化了 EE软件是中间件中的主体部分 2 应用开发 ApplicationDevelopment 工具AD工具用来帮助开发内含 透明动用对方 成分的应用软件 或改造原有的无透明动用能力的应用软件 AD工具是中间件中的必备部分 18 1 2续 中间件的层次结构 19 1 2续 中间件基本框架 20 1 2续 基于中间件的软件系统基本模型 21 1 2续 中间件工作原理 22 1 2续 中间件的基本分类 数据访问中间件 DAM 远程过程调用中间件 RPC 消息中间件 MOM 对象请求代理中间件 ORB 事务处理中间件 交易中间件 TPM 23 中间件的发展情况 1 2续 24 中间件的主要厂商第一梯队Oracle BEA IBM 东方通科技 占70 以上份额 第二梯队Sun 中软 中创 微软等 第三梯队国内若干中小软件企业和系统集成企业 1 2续 25 1 2续 中间件的作用 它提供了通道的功能 可保证应用系统数据的可靠传输 它起着桥梁的作用 达成异构应用资源之间的互联互通 它是分布式应用的集成开发框架 促成企业分布式应用的有机集成 作为平台 它可有效实现分布应用的分阶段顺利部署 它起着过滤网的作用 可有力保护关键信息的安全 26 中间件的优越性 1 企业应用方面缩短应用开发周期减少项目开发风险应用程序质量可维护性增加产品吸引力 2 应用程序方面透明地同其他应用程序交互与运行平台提供的网络通信服务无关具有良好的可靠性和可用性具有良好的可扩展性 1 2续 27 中间件发展面临的问题 不同厂商的实现很难互操作 只提供了一部分平台的实现 应用开发者要面临设计选择 过分追求中间件功能的全面性 过分强调选择国外产品 不能准确认识中间件的作用 1 2续 28 中间件技术发展趋势 中间件的发展需要规范化 应用需求导致技术格局多样化 构件化和松散耦合 底层的中间件持续走稳 高层的中间件成为市场新宠 新技术与产品的推出速度放缓 实用化是重要的发展趋势 1 2续 29 第2章五大类中间件的工作机理 主要内容2 1远程过程调用中间件 RPCM 2 2面向对象中间件 OOM 2 3消息中间件 MOM 2 4数据库访问中间件 DAM 2 5交易中间件 DTPM 30 2 1远程过程调用中间件 RPC背景在传统的编程概念中 过程是只能局限在本地运行的一段代码 主程序和过程之间的运行关系是本地调用关系 本地过程调用LPC LPC模式无法充分利用网络上其他主机的资源 也无法提高代码在实体间的共享程度 使得主机资源大量浪费 RPC是对LPC的扩展 通过这种调用机制 程序员编写客户方应用时 可根据需要透明地调用位于远端服务器上的过程 31 main 调用A 退出 A 调用B 退出 B 退出 RPC调用模型 2 1续 32 远程过程调用RPC概念RPC是从一台机器或一个进程调用另一台机器或另一个进程的服务或方法 远程过程调用是创建分布式应用的一种方法 来源于Unix操作系统的处理思想 被普遍认为是创建分布式应用的有效方法 从程序员的角度 RPC采用常规的编程模式 程序代码调用远端过程并将结果返回 当使用RPC时 只需编写很少的网络程序代码 绝大部分代码由IDL InterfaceDefineLanguage 生成 2 1续 33 IDL编译器结构 2 1续 34 远程过程调用中间件工作机理 用中间件中的IDL对调用顺序加以描述 利用IDL编译器对这种定义和描述进行编译 从而生成支持客户机和服务器进行通信的管道 在服务器端 被调用的远端过程需单独编写 并被置入服务器端框架 同时要在远程过程调用中间件中进行注册 以备调用 启动本地客户端存根 存根捆绑远端过程名和参数 利用网络传输到服务器端框架 从而实现数据格式的转换和参数的传递 采用调用 返回模式具体地完成远端过程调用 2 1续 35 RPC工作流程 2 1续 RPC一般采用调用 返回模式 多用于应用程序之间的通信 采用同步方式 RPC程序之间的同步通信一般采用Request Wait Reply方式 因此RPC更适应小型简单而不需要采用异步通信方式的应用 36 RPC的通信模型 2 1续 37 RPC执行过程 2 1续 38 通信协议支持两种传输协议 TCP UDPTCP 连接 可靠 低效 保证要么把调用传递到远程过程且接受应答 要么报告通信无法进行 UDP 无连接 不可靠 高效 使用UDP的远程过程调用也许会丢失或重复 2 1续 39 RPC的语义Last of many 被调用的过程可能执行若干次 但规定其最后一次执行的结果作为返回结果 At most once 若调用者收到了回复消息 则称被调用的过程正确地完成了它的一次 仅仅一次 执行 At least once 远程调用过程至少执行一次 回复消息可能返回一次或多次 Exactly once 若服务器正常 则远程过程恰好执行一次 并返回一个调用结果 2 1续 40 远程过程调用的特点 客户 服务器模式客户端的应用调用一个位于远端服务器平台的进程或服务 RPC实际上是通过C S方式实现的 数据封装性远端过程调用负责捆绑参数 实现不同平台之间参数的传递 发送参数到远端过程 同步性当客户机发出请求时 服务器进程处于运行状态 复杂性远程调用的实现环境可能要用系统级的任务来创建 但一旦完成 对程序员就是透明的了 2 1续 41 远程过程调用的特点缺点 需要进行系统级的配置 RPC并不支持对象 CORBA的IIOPMTS的DCOMJava的sockets 应用级协议的编码交换EJB RMI JavaRemoteMethodProtocol 优点 方便地实现不同平台之间的数据转换 XDR eXternalDataRepresentation 2 1续 42 RMI环境RMI 远程方法激活 在分布式程序中 其远程对象的方法能够被运行在不同主机上的其他Java虚拟机的方法调用 相对于过程调用级的RPC RMI可以实现编程级对象之间的方法调用 本地与远程方法调用 2 1续 43 RMI体系结构 2 1续 44 RMI系统的目标 支持对存在于不同Java虚拟机上对象的无缝的远程调用 支持服务器对客户的回调 把分布式对象模型自然地集成到Java语言里 把分布式对象模型和本地Java对象模型间的不同表面化 使编写可靠的分布式应用程序简单化 保留Java运行时环境提供的安全性 2 1续 45 软件开发面临的问题 软件的开发 修改和维护变得更加困难 软件开发常常超期和超出预算 由于没有代码重用 新软件的开发都是从零开始 结构化的软件开发方式一种自顶向下的开发方法 将整个系统分解成独立的模块 然后逐一实现这些模块的功能 缺点 完整的系统只能在开发完成后才能呈现全貌 如果在开始编程时发现设计中存在缺陷 那么整个设计将被重新构造 2 2面向对象中间件 46 2 2续 面向对象的软件开发方式以一种直观的方法分析和构造系统 将整个系统抽象并模型化两种开发方法的区别结构化的方法 数据与功能是分离的 面向对象方法 数据和相关的功能捆绑在一起 47 2 2续 开放式分布处理参考模型 ODP 起源ISO为了解决异种系统之间的互联和互通 提出了OSI RM 为使分布式系统能处理应用的分布 实现应用之间的互通和互操作而开发的各种标准 如OSF的DCE OMG的CORBA UI的ALTAS和DEC的NAS 从1987年起 在ISO IEC和ITU的共同努力下 于1995年发布了开放式分布处理参考模型RM ODP RM ODP不仅是一个一般标准 还是一个标准的标准 48 对象中间件 对象请求代理ORB ORB提供一种通信机制透明地在异构的通信环境中传递对象请求 各对象可以位于本地或远程机器 且对象之间的客户机 服务器的角色是可以互换的 ORB可以看作和编程语言无关的面向对象的RPC应用 被视为从面向对象过渡到分布式计算的强大推动力量 两大标准 OMG的CORBA Microsoft的COM DCOM 产品 Borland公司的Visibroker IBM公司的ComponentBroker和东方通科技公司的TongBrokerdeng 2 2续 49 2 2续 ODP通信模型相关概念通道 Channel 用于支持分布对象之间的透明交互 通道包括三部分 存根 绑定器和协议对象 存根 Stub 解决交互过程中的信息的封装和解封装问题 绑定器 Binder 维护计算对象之间的联系 协议对象 ProtocolObject 处理实际的通信 50 2 2续 端系统资源相关概念结点 Node 在管理上独立的物理机器 核 Nucleus 用来管理结点的机制 对象包 Capsule 对象的执行环境 对象串 Cluster 受共管和被共操作的对象集合 51 2 2续 52 消息中间件产生传统通信必备条件 发送和接收应用程序同时在线 通过网络能同时通信 发送者和接受者需知道相互间程序的调用接口 实际情况 应用程序并不总是同时运行 网络并不总是可用的和可靠的 在所有者域对应用程序的改变 要求在其他域也作相应改变 不切实际 2 3消息中间件 MOM 53 消息中间件定义MOM 消息队列中间件 通信中间件 依据消息传送或消息队列的原理来工作 MOM能够简化应用之间数据的传输 提供可靠的 跨平台的消息传输手段 MOM支持同步和异步两种通信模式 其中异步通信模式是基于消息队列转发机制的 一般来说 消息队列广泛采用对等的分布式计算模型来实现分布式计算中的同步和异步交互 消息队列一般提供多协议支持 高端服务和其他系统管理服务 完成可靠的 可扩展的异构环境中的通信 2 3续 54 消息消息实质上是一个由用户定义的数据结构 由头信息和体信息组成 头消息是对消息结构的描述 对整条消息起控制作用 含消息的属性及相关的系统信息 如消息标识 消息类型 目的队列名 日期时间等 其中目的队列名可表示成 队列名 队列管理器名 的形式体信息主要是消息的应用数据 是应用程序通信的数据 其具体语义要由通信双方事先约定 对中间件来说是一串毫无意义的二进制字节串 种类 请求消息 应答消息 通知消息 2 3续 55 消息中间件工作机理应用之间以一系列消息的方式进行通信 在发送者和接受者的传送过程中 为了避免在传递过程中消息被丢失 消息保存在队列中 MOM为消息接收者查看消息提供了一个缓冲区域 应用把消息发送到与接收者相关的队列中 如果发送者想及时得到反馈 它们就把接收返回消息的队列名包含在所有它们发送的消息中 消息传递机制要保证将发送者的消息传送到目的地 在消息传递中 应用程序之间不必须建立直接的联系 从而实现消息传送的异步性 2 3续 56 消息中间件消息中间件能够简化应用之间数据的传输 提供可靠的 跨平台的消息传输手段 实现应用程序之间的协同 有两种基本的工作模型 消息队列消息传递 发布 订阅 缺点 不支持程序控制的传递 产品 东方通科技的TongLINK Q BEA的elink DEC的MessageQ IBM的MQSeries MicrosoftMSMQ等 2 3续 57 消息中间件产生消息中间件一般把工业标准TCP IP协议作为基础 消息中间件还遵循X Open的分布式事务处理模型 适应于分布式计算环境多样化 用户数目规模化 业务逻辑复杂化的发展要求 实现消息位置无关性 用户透明性 2 3续 58 消息中间件体系结构 2 3续 59 消息中间件的功能 无连接消息传递 消息优先化 有保障的消息传递 事务处理消息 动态队列创建 消息路由 不同硬件系统的集成 跨软件平台的支持 2 3续 60 Internet上实现数据库访问的方式 公共网关接口CGI 专用API JDBC与ODBC 数据库引擎 2 4数据库访问中间件 61 数据库访问中间件在分布式系统中 支持应用程序和本地或异地的同构或异构数据源进行通信 通过提供一系列的编程接口 屏蔽不同网络协议 操作系统和数据库管理系统平台DBMS的差异 允许应用程序一致地访问数据源 技术最成熟 应用最广泛的一种中间件技术 典型例子 ODBC 缺点 需要大量的数据通信 产品 Oracle公司的SQLConnect Sybase公司的OpenServer BEA公司的Weblogic和中科院软件所的DataAccess等 2 4续 62 三层结构的缺陷 对连接没有充分利用 对重复的数据库操作没有优化 远程访问不可靠 2 4续 63 数据库访问中间件主要功能 同时管理多个客户机连接的多线程 可以接收不同的厂家中立协议 可以用一组管理数据操作的业务规则进行编程 集中处理密集任务和将数据表达抽象到最高层 分开客户机应用程序与数据库管理系统 可以异步提供当前数据表或行的状态给客户机 2 4续 64 数据库访问中间件数据库访问中间件专门负责和完成对数据库访问操作的优化 用户连接数的管理 保证访问的安全性和可靠性 以及实现应用对来自不同厂商的数据库的访问等 进而提高对数据库访问的效率 简而言之 数据库访问中间件指一切连接应用程序和数据库的软件 与一般的中间件一样 面向数据库的中间件允许开发人员通过单一的 定义良好的API访问另一台计算机上的数据库资源 2 4续 65 数据库中间件访问方式直接访问应用程序像访问本地数据库一样可以直接访问和更新位于远端的数据库 数据库复制客户端缓存服务器端缓存 2 4续 66 数据库访问中间件类型本地中间件本地中间件是为特定的数据库设计的提供最佳的访问性能 当要改变数据库时 需要对应用程序进行很大的修改 呼叫层接口呼叫层接口为多个数据库提供了统一的界面 把一般通用的接口呼叫转换成任意的数据库本地语言 以便使对数据库发出请求的应用程序理解 数据库网关完成不同数据库模型的转换 能提供对大型系统内部数据的访问 2 4续 67 几种常见数据库访问中间件 ODBC OLEDB JDBC 数据库引擎 数据库网关 2 4续 68 数据库访问中间件优点移植性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版施工环境保护工程设计合作协议范本
- 2025版自驾租赁汽车合同附加车辆清洗保养服务
- 2025版时尚简约内墙抹灰工程合同
- 2025版淘宝电商运营人才招聘与管理合同
- 2025版砂石料采购合同范本及供应商履约能力评估与考核
- 2025版离婚协议书专业起草与子女抚养费用约定合同
- 2025年墙纸产品售后服务与客户满意度调查合同
- 贵州省开阳县2025年上半年公开招聘村务工作者试题含答案分析
- 贵州省惠水县2025年上半年事业单位公开遴选试题含答案分析
- 2025版农业机械设备配件供应合同
- 工程质量自评报告
- 水闸安全评价报告
- GB/T 34487-2017结构件用铝合金产品剪切试验方法
- GB/T 31703-2015陶瓷球轴承氮化硅球
- 房地产市场报告 -九江房地产市场月报2022年11月
- 代运营协议合同范本
- 《人格障碍》课件
- 部编版高一语文必修上册教学计划
- GB∕T 27011-2019 合格评定 认可机构要求
- 私企接待应酬管理制度(3篇)
- YX51-380-760型金属屋面板专项施工方案(32页)
评论
0/150
提交评论