1 中 间 件 技 术中 间 件 技 术. 2 第 1 章 中间件产生背景及分布式计算环境 主要内容 开放系统 互操作性 中间件.

Slides:



Advertisements
Similar presentations
姓名:柴伟龙 学号: 指导老师:邹立杰 姓名:柴伟龙 学号: 指导老师:邹立杰 2012 毕业论文 ( 设计 ) 答辩.
Advertisements

第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
平面构成 第六章 平面构成形式与法则 — 破规与变异. 第七章 平面构成形式与法则 — 破规与变异 破规与变异构成的形式、有下列四类: 一、特异构成 特异构成。其表现特征是,在普遍相同性质的事物 当中,有个别异质性的事物,便会立即显现出来。
第3章 网络体系结构与协议 问题 原由 计算机网络经过40年的发展, 使得计算机网络已经成为一个海量、多样化的复杂系统。计算机网络的实现需要解决很多复杂的技术问题: 支持多种通信介质;支持多厂商和异种机互联;支持人机接口等。 本章重点讨论计算机网络体系结构的形成、OSI/RM与TCP/IP模型、网络地址的形成、域名地址、子网技术等。
第四讲 常用的体系结构模式 刘玮 2017/2/26.
第 10 章 電腦網路.
網路程式設計 (Network Programming)
第16章 代理模式 Website:
性教育教學模組設計 主題:身體自主權 台中市忠明國小 巫偉鈴.
21世纪全国高职高专 计算机系列实用规划教材 计算机网络技术基础 主 编: 杨瑞良 李 平 副主编: 邱 涛 李明龙.
第6章 计算机网络基础 1.
整体销售方案 中山市美好物业代理有限公司
系统集成项目管理工程师培训 中视广信 卢志强 2011年4月.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
第一章 概 述.
臺中市頭家國小 生理衛生講座 青春期的奧秘 ‧說到青春期,你會想到? ‧班級表現最好的,有獎徵答有優先權。 葉孟娟老師、黃文玲老師.
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
1. 民主社會裡,公民的參與有其重要性,而透過政治參與無法達成下列哪一項目的?
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
第6章 计算机网络基础.
计算机网络.
计算机网络的组成 资源子网:   主机 终端 终端控制器   外设 软件资源 信息资源    .
计算机网络 暨南大学计算机科学系 学年 第一学期.
无处不在的计算 天津大学计算机科学与技术学院 冯志勇教授.
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
大型主机应用上的开放系统和中间件 2011年度教育部-IBM精品课程
转正述职报告 乐恩公司 史航
计算机系统安全 第10章 常用攻击手段.
第七章 电子政府的支撑技术 制作人:王 静.
第3章 计算机网络体系结构.
通信技术基础 第1章 通信与通信系统的基本概念 王钧铭 1.1 通信的概念 1.2 通信系统 1.3 通信方式 1.4 信道和传输介质
潘爱民 北京大学计算机科学技术研究所 组件技术——最后一讲 潘爱民 北京大学计算机科学技术研究所
新世代計算機概論 第14章 程式語言.
第5章 网络软件 开发技术 (一) 软件开发技术基础 计算机教学实验中心.
作業系統的結構 日期 : 2018/9/17.
中间件 定义:中间件是介于应用与操作系统之间的系统软件,是相关应用的基准平台 三大基础软件:操作系统、数据库、中间件
作業系統 第二十章 分散式系統實例.
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
传输层是整个协议层次的核心,其任务是在源机器和目标机器之间提供可靠的、性价比合理的数据传输功能,并与当前所使用的物理网络完全独立
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
第一章 資料庫的介紹 SQL Server 2012 資料庫實務應用.
第五章 信息与系统集成技术 概述 数据流集成技术 信息流集成技术 信息管理集成技术 流程重组与业务流程集成 企业门户集成 企业集成架构
分布式对象标准介绍 企业要构建多层分布式系统,必须遵循分布式标准,基于什么样的标准将直接影响到企业应用系统的开放性和可扩展性。目前业界分布式对象技术主要有三种架构标准: Microsoft的COM/DCOM/COM+ OMG组织的 CORBA。 Sun Microsystems的Enterprise.
分散式資料庫管理系統 與主從式系統 資料庫系統設計實務與管理,5e
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
第2章 图形操作界面 目前,几乎所有的Linux发行版本中都包含了GNOME和KDE两种图形操作环境。在Fedora Core 6中系统默认的图形操作界面为GNOME,它除了具有出色的图形环境功能外,还提供了编程接口,允许开发人员按照自己的爱好和需要来设置窗口管理器。KDE桌面环境是一个网络透明的桌面环境,它的功能强大,除了窗口管理器和文件管理器外,基本覆盖了大部分Linux任务的应用程序组,同时还结合了Unix操作系统的灵活性。
在一定程度上 人类的思维产生于 简单个体之间的相互作用 ——Marvin Minsky.
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
「寬頻匯流網路管理」教材 模組四: 第一章 網路管理架構
第4章 商务逻辑层及其技术.
基于移动代理的分布式 入侵检测系统 太原理工大学网络信息中心 任新华 2019/2/22.
Topic Introduction—RMI
RFID原理与应用 教师:朱华贵 2015年05月05日
学习导航 学习导航.
Network Application Programming(3rd Edition)
Advister: Quincy Wu Speaker: Chenglin Tsai Date:3/26
企业级分布式应用平台 —— Orbix 2000 CTO 张 恂 博讯科技(上海)有限公司 2001年3月.
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
1.4 计算机网络体系结构与协议 引言 网络系统的体系结构 网络系统结构参考模型ISO/OSI
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
第二章 基于CORBA的分布式平台 苗启广 计算机学院.
美麗的西子湖.
方格紙上畫正方形.
助教:廖啟盛 JAVA Socket(UDP) 助教:廖啟盛
案例分析: THE NEXTGEN POS SYSTEM
厉害了,我的国! 15会计2班团支部 2018年4月20日.
Android进程间通讯.
作業系統 Operating System 第六單元 分散式系統
Presentation transcript:

1 中 间 件 技 术中 间 件 技 术

2 第 1 章 中间件产生背景及分布式计算环境 主要内容 开放系统 互操作性 中间件

3 1.1 续 开放系统 可移植性 可互操作性 可伸缩性 易获得性 互操作性 在一个由异质实体构成的网络环境中,当应用在 网络的结点上运行时,它可以透明地动用网中其 他结点上的资源,并借助这些资源与本结点上的 资源共同来完成某个或某组任务。

4 应用软件 中间件 网络协议 操作系统 硬件平台 应用软件 中间件 网络协议 操作系统 硬件平台 DBMS 两者内含有进 行协同工作的 应用成分 中间件定义 1.2 续

5 中间件定义 中间件 (Middleware) 是一种软件,处于系统 软件(操作系统和网络软件)与应用软件之 间,它能使处于应用层中的各应用成分之间 实现跨网络的协同工作(也就是互操作), 这时允许各应用软件之下所涉及的 “ 系统结 构、操作系统、通信协议、数据库和其它应 用服务 ” 各不相同。

6 1.2 续 中间件的层次结构

7 1.2 续 中间件工作原理 中间件 服务器 1 服务器 2 服务器 n 客户机 1 客户机 2 客户机 n …… 服务器端 客户端 同 / 异构环境

8 第 2 章 五大类中间件的工作机理 主要内容 2.1 远程过程调用中间件( RPCM ) 远程过程调用中间件( RPCM ) 2.2 面向对象中间件( OOM) 面向对象中间件( OOM) 2.3 消息中间件( MOM ) 2.4 数据库访问中间件( DAM ) 2.5 交易中间件 ( DTPM )

9 2.1 远程过程调用中间件 RPC 背景 在传统的编程概念中,过程是只能局限在本地运行 的一段代码,主程序和过程之间的运行关系是本地 调用关系 —— 本地过程调用 LPC 。 LPC 模式无法充分利用网络上其他主机的资源,也 无法提高代码在实体间的共享程度,使得主机资源 大量浪费。 RPC 是对 LPC 的扩展。通过这种调用机制,程序员 编写客户方应用时,可根据需要透明地调用位于远 端服务器上的过程。

10 main(…). 调用 A. 退出 A(…). 调用 B. 退出 B(…). 退出 主程序 过程 A 代码 过程 B 代码 机器 1 机器 2 机器 3 RPC 调用模型 2.1 续 主程序 子程序

11 远程过程调用 RPC 概念 RPC 是从一台机器或一个进程调用另一台机器或另 一个进程的服务或方法。 远程过程调用是创建分布式应用的一种方法,来源 于 Unix 操作系统的处理思想,被普遍认为是创建分 布式应用的有效方法。 从程序员的角度, RPC 采用常规的编程模式:程序 代码调用远端过程并将结果返回。当使用 RPC 时, 只需编写很少的网络程序代码,绝大部分代码由 IDL ( Interface Define Language )生成。 2.1 续

12 IDL 编译器结构 2.1 续 IDL 规范 IDL 编译器 头文件 客户 存根 头文件 对象 实现 框架 图 2-4 IDL 编译器结构

13 远程过程调用中间件工作机理 ①用中间件中的 IDL 对调用顺序加以描述; ②利用 IDL 编译器对这种定义和描述进行编译,从 而生成支持客户机和服务器进行通信的管道; ③在服务器端,被调用的远端过程需单独编写,并 被置入服务器端框架,同时要在远程过程调用中间 件中进行注册,以备调用。 ④启动本地客户端存根 —— 〉存根捆绑远端过程名 和参数 —— 〉利用网络传输到服务器端框架,从而 实现数据格式的转换和参数的传递 ⑤采用调用 / 返回模式具体地完成远端过程调用。 2.1 续

14 RPC 工作流程 2.1 续 客户运行 客户继续执行 服务调用 过程调用 服务过 程执行 过程返回 请求返回 RPC 调用 RPC 返回 Network 图 2-5 RPC 工作流程 RPC 一般采用调用 / 返回模式,多用于应用程序之间的通信,采用同步方式。 RPC 程序之间的同步通信一般采用 Request-Wait-Reply 方式,因此 RPC 更适应 小型简单而不需要采用异步通信方式的应用。

15 Client Send(remote call pi(…)) ( 发送 “ 请求服务 ” 信息) Receive(ans) 接收回复信息 server 接收调用信息; 抽取参数并分析; 调用所指的过程 ; 执行远程过程 返回执行结果 Send(ans) 发送回复信息 等待回复等待回复 请求服务 等待 调用 继续 返回调用结果 RPC 的通信模型 2.1 续

16 3 call work return Server Process OP2 Server-stub OP3 RPC Routine receive transmit Local return Local call Client Process OP4 Client-stub OP1 wait RPC Routine receive transmit RPC 执行过 程 2.1 续

17 通信协议 支持两种传输协议: TCP 、 UDP TCP :连接、可靠、低效。保证要么把调用传递 到远程过程且接受应答,要么报告通信无法进行。 UDP :无连接、不可靠、高效。使用 UDP 的远程 过程调用也许会丢失或重复。 2.1 续

18 RPC 的语义 Last-of-many: 被调用的过程可能执行若干次,但 规定其最后一次执行的结果作为返回结果。 At-most-once: 若调用者收到了回复消息,则称被 调用的过程正确地完成了它的一次(仅仅一次) 执行。 At-least-once: 远程调用过程至少执行一次,回复 消息可能返回一次或多次。 Exactly-once: 若服务器正常,则远程过程恰好执 行一次,并返回一个调用结果。 2.1 续

19 远程过程调用的特点 ①客户 / 服务器模式 客户端的应用调用一个位于远端服务器平台的进程或服 务, RPC 实际上是通过 C/S 方式实现的。 ②数据封装性 远端过程调用负责捆绑参数,实现不同平台之间参数的 传递,发送参数到远端过程。 ③同步性 当客户机发出请求时,服务器进程处于运行状态。 ④复杂性 远程调用的实现环境可能要用系统级的任务来创建,但 一旦完成,对程序员就是透明的了。 2.1 续

20 远程过程调用的特点 缺点:⑴需要进行系统级的配置; ⑵ RPC 并不支持对象。 CORBA 的 IIOP MTS 的 DCOM Java 的 sockets—— 应用级协议的编码交换 EJB ? — 〉 RMI ( Java Remote Method Protocol ) 优点:方便地实现不同平台之间的数据转换。 XDR ( eXternal Data Representation ) 2.1 续

21 RMI 环境 RMI (远程方法激活):在分布式程序中,其远程 对象的方法能够被运行在不同主机上的其他 Java 虚 拟机的方法调用。 相对于过程调用级的 RPC , RMI 可以实现编程级对 象之间的方法调用。 本地与远程方法调用 对象 应用程序 本地调用 机器 A 对象 机器 B 网络 远程调用 2.1 续

22 RMI 体系结构 远程引用层 传输层 Java Virtual Machine Client Stub 远程引用层 传输层 Java Virtual Machine Remote Object Skeleton TCP 2.1 续

23 RMI 系统的目标 ⑴支持对存在于不同 Java 虚拟机上对象的无缝的远 程调用。 ⑵支持服务器对客户的回调。 ⑶把分布式对象模型自然地集成到 Java 语言里。 ⑷把分布式对象模型和本地 Java 对象模型间的不同 表面化。 ⑸使编写可靠的分布式应用程序简单化。 ⑹保留 Java 运行时环境提供的安全性。 2.1 续

24 软件开发面临的问题 : 软件的开发、修改和维护变得更加困难。 软件开发常常超期和超出预算。 由于没有代码重用,新软件的开发都是从零开始。 结构化的软件开发方式 一种自顶向下的开发方法,将整个系统分解成独立 的模块,然后逐一实现这些模块的功能。 缺点:完整的系统只能在开发完成后才能呈现全貌。 如果在开始编程时发现设计中存在缺陷,那么整个 设计将被重新构造。 2.2 面向对象中间件

续 面向对象的软件开发方式 以一种直观的方法分析和构造系统; 将整个系统抽象并模型化 两种开发方法的区别 结构化的方法:数据与功能是分离的; 面向对象方法:数据和相关的功能捆绑在一起。

续 开放式分布处理参考模型( ODP )起源 ISO 为了解决异种系统之间的互联和互通,提出了 OSI-RM 。 为使分布式系统能处理应用的分布,实现应用之间 的互通和互操作而开发的各种标准,如 OSF 的 DCE 、 OMG 的 CORBA 、 UI 的 ALTAS 和 DEC 的 NAS 。 从 1987 年起,在 ISO/IEC 和 ITU 的共同努力下,于 1995 年发布了开放式分布处理参考模型 RM-ODP 。 RM-ODP 不仅是一个一般标准,还是一个标准的标 准。

27 对象中间件(对象请求代理 ORB ) ORB 提供一种通信机制透明地在异构的通信环境 中传递对象请求,各对象可以位于本地或远程机 器,且对象之间的客户机 / 服务器的角色是可以互 换的。 ORB 可以看作和编程语言无关的面向对象的 RPC 应用,被视为从面向对象过渡到分布式计算的强 大推动力量。 两大标准: OMG 的 CORBA ; Microsoft 的 COM/DCOM 。 产品: Borland 公司的 Visibroker 、 IBM 公司的 ComponentBroker 和东方通科技公司的 TongBrokerdeng 。 2.2 续

续 ODP 通信模型相关概念 通道( Channel ):用于支持分布对象之间的透明交 互。 通道包括三部分:存根、绑定器和协议对象。 ①存根( Stub ):解决交互过程中的信息的封装和 解封装问题; ②绑定器( Binder ):维护计算对象之间的联系; ③协议对象( Protocol Object ):处理实际的通信。

续 端系统资源相关概念 结点( Node ):在管理上独立的物理机器; 核( Nucleus ):用来管理结点的机制; 对象包( Capsule ):对象的执行环境; 对象串( Cluster ):受共管和被共操作的对象集合。

30 客户基本 工程对象 客 户存 根客 户存 根 客 户 绑定器 客户协 议对象 客户方 服务器基本 工程对象 服务器 绑定器 服务器 存 根 服务器协 议对象 服务器方 截 - 转器 客户 - 服务器交互 2.2 续