当前位置:文档之家› 1、中间件产生背景

1、中间件产生背景

⑴它提供了通道的功能,可保证应用系统数据的可 靠传输; ⑵它起着桥梁的作用,达成异构应用资源之间的互 联互通; ⑶它是分布式应用的集成开发框架,促成企业分布 式应用的有机集成; ⑷作为平台,它可有效实现分布应用的分阶段顺利 部署; ⑸它起着过滤网的作用,可有力保护关键信息的安 全。
35
1.3 续
RPC的通信模型
Client
server 等待 接收调用信息; 抽取参数并分析; 调用所指的过程; 调 用 执行远程过程
Send(remote call pi(…)) (发送“请求服务”信息)
请求服务
等 待 回 复 Receive(ans) 接收回复信息 继续
返回执行结果 返回调用结果
中间件技术
1
要求:点到考勤、作业、实验报告 考试:平时20%+实验20%+期末考试60 % 目的与学习方法:理解基本知识、基本理 论。掌握中间件的基本结构。课堂学习与 课后练习相结合。思考现实中的分布式软 件系统可能的结构,可能的实现技术与实 现方法。

教材与参考书目 教材:
《中间件技术原理与应用》 张云勇 清华大学出版社


⑵只提供了一部分平台的实现
⑶应用开发者要面临设计选择
①过分追求中间件功能的全面性 ②过分强调选择国外产品 ③不能准确认识中间件的作用
28
1.2续
*中间件技术发展趋势

⑴中间件的发展需要规范化


⑵应用需求导致技术格局多样化
⑶构件化和松散耦合 ⑷底层的中间件持续走稳 ⑸高层的中间件成为市场新宠 ⑹新技术与产品的推出速度放缓 ⑺实用化是重要的发展趋势
34
1.3 续 RPC工作流程
客户运行 RPC调用
Network 服务调用 过程调用 服务过 程执行 过程返回 请求返回
客户继续执行
RPC返回
图2-5 RPC工作流程
RPC一般采用调用/返回模式,多用于应用程序之间的通信,采用同步方式。 RPC程序之间的同步通信一般采用Request-Wait-Reply方式,因此RPC更适应小 型简单而不需要采用异步通信方式的应用。

1.1开放系统与互操作性概述
计算模式的发展过程
基于主机的系统(分时共享、资源共享)
两层Client/Server系统
三层(n层)体系架构


表示层—— 用户层
业务逻辑层——应用层
数据层——数据库服务器
基于Web的三层(N层)体系结构
6
1.1续
开放系统基本组成
硬件 包括PC,工作站,大中型机,各式各样的
Send(ans) 发送回复信息
36
1.3 续
RPC执行过程
Client Process Local return Local call 10 1 Server Process call work return 5 6
OP4 Client-stub OP1 9
OP2 Server-stub OP3 4
③同步性
当客户机发出请求时,服务器进程处于运行状态。 ④复杂性
远程调用的实现环境可能要用系统级的任务来创建,但 一旦完成,对程序员就是透明的了。
40
1.3 续 远程过程调用的特点
缺点:⑴需要进行系统级的配臵;
⑵RPC 并不支持对象。
CORBA的IIOP MTS的DCOM Java的 sockets——应用级协议的编码交换
2.应用开发(Application Development) 工具
AD工具用来帮助开发内含“透明动用对方”成分的 应用软件,或改造原有的无透明动用能力的应用软 件。AD工具是中间件中的必备部分。
18
1.2续
合作方 A 合作方 B 合作对象透明设施 T1 下层设备透明设施 T2 平台 网络 平台 网络 平台 合作方 C
动态协作
参与协作的应用允许位臵透明性、迁移透明性、负载平衡 性等需求。
12
1.2续 应用1 服务器1
应用2
服务器2
应用3
服务器3
13
极端情况为:n结点完全连通图 ,边有n(n-1)/2条
1.2续 应用1 服务器1
应用2
中间件
服务器2
应用3
服务器3
14
1.2续
应用软件 中间件 网络软件 操作系统

软件 网络
嵌入式设备,移动设备;
各类操作系统、应用软件; 各类网络结构、网络协议。 ⑵并发行 ⑹异质性 ⑽发展性 ⑶无全局状态 ⑺自主性 ⑾移动性 ⑷部分失败 ⑻联合型
开放系统面临的问题
⑴远程性 ⑸异步性 ⑼伸缩性
7
1.1续 开放系统特点
⑴开放的:提供可移植性和协同工作; ⑵集成的:有助于对付异质性; ⑶灵活的:有助于对付移动性;
⑷模块化的:灵活性的基础; ⑸可联合的 ⑹可管理的 ⑺安全的 ⑻透明的:支撑软件和硬件的异质性; ⑼满足服务质量需求
8
1.1续 开放系统必具特性
可移植性(Portability) 可互操作性(Interoperability) 可伸缩性(Scalability) 易获得性(Availability)
26
1.2续
*中间件的优越性:
1.企业应用方面


2.应用程序方面

缩短应用开发周期
减少项目开发风险
透明地同其他应用程 序交互
应用程序质量可维 护性
增加产品吸引力

与运行平台提供的网 络通信服务无关
具有良好的可靠性和 可用性 具有良好的可扩展性
27



1.2续
中间件发展面临的问题

⑴不同厂商的实现很难互操作
38
1.3 续
RPC的语义

Last-of-many:被调用的过程可能执行若干次,但 规定其最后一次执行的结果作为返回结果。 At-most-once:若调用者收到了回复消息,则称被 调用的过程正确地完成了它的一次(仅仅一次) 执行。 At-least-once:远程调用过程至少执行一次,回 复消息可能返回一次或多次。
参考书:
《COM原理与应用》 潘爱民 《CORBA原理及应用》 朱其亮 《精通EJB》 [美]Ed Roman 清华大学出版社 北京邮电大学出版社 电子工业出版社
3
第1章 中间件产生背景及分布式计算环境 主要内容

开放系统


互操作性
中间件
4
重点: 中间件的概念、分类

难点: 远程过程调用及其增强


30
1.3 续
RPC调用模型
主程序 main(…) . . . 调用A . . . 退出
机器1 主程序
过程A代码 A(…) . . . 调用B . . . 退出
机器 2 子程序
过程B代码 B(…) . . . . . . . 退出
机器3 子程序
31
1.3 续 远程过程调用RPC概念
RPC是从一台机器或一个进程调用另一台机器或另 一个进程的服务或方法。
2
RPC Routine wait receive transmit 3 8
RPC Routine
7
receive
transmit
37
1.3 续
通信协议
支持两种传输协议:TCP、UDP TCP:连接、可靠、低效。保证要么把调用传递到 远程过程且接受应答,要么报告通信无法进行。 UDP:无连接、不可靠、高效。使用UDP的远程过 程调用也许会丢失或重复。



Exactly-once:若服务器正常,则远程过程恰好执 行一次,并返回一个调用结果。
39
1.3 续 远程过程调用的特点
①客户/服务器模式
客户端的应用调用一个位于远端服务器平台的进程或服 务,RPC实际上是通过C/S方式实现的。
②数据封装性
远端过程调用负责捆绑参数,实现不同平台之间参数的 传递,发送参数到远端过程。
开放系统构造
用轮廓勾划; 轮廓由AUSPICE七个成分组成; 对轮廓的各成分标准化,即成开放系统。
9
1.1续
开放系统开放程度表
系 统 管 理
用 安 编 互 通 户 全 程 操 信 界 性 服 作 服 面 务 服 务 务
信 息 实 体
10
1.1续 互操作性
定义: 在一个由异质实体构成的网络环境中,当应用在 网络的结点上运行时,它可以透明地动用网中其 他结点上的资源,并借助这些资源与本结点上的 资源共同来完成某个或某组任务。 本质: 从异质环境(异种体系结构、异种操作系统、异 种网络等)中获得资源的透明动用能力。
远程过程调用是创建分布式应用的一种方法,来源 于Unix操作系统的处理思想,被普遍认为是创建 分布式应用的有效方法。 从程序员的角度,RPC采用常规的编程模式:程序 代码调用远端过程并将结果返回。当使用RPC时, 只需编写很少的网络程序代码,绝大部分代码由 IDL(Interface Define Language)生成。
中间件的层次结构
T1实现难度>T2实现难度
19
中间件基本框架
应用接口(API)层 中间件服务层 (通信,控制,计算,管理,输出,信息等) 应用平台层 (Unix、NetWare、NT、VAX、OPENVMS等) 传输协议层 (TCP/IP、IPX/SPX、NetBIOS、OSI等)
中间件的基本功能框架结构
1.ቤተ መጻሕፍቲ ባይዱ续
第四层
第三层
第二层
第一层
20
1.2续
基于中间件的软件系统基本模型
21
相关主题