当前位置:文档之家› 中间件技术原理与应用初学者必看

中间件技术原理与应用初学者必看


1.1续
开放系统特点
⑴开放的:提供可移植性和协同工作;
⑵集成的:有助于对付异质性;
⑶灵活的:有助于对付移动性;
⑷模块化的:灵活性的基础;
⑸可联合的
⑹可管理的
⑺安全的
⑻透明的:支撑软件和硬件的异质性;
⑼满足服务质量需求
长春工业大学软件学院
1.1续
开放系统必具特性
• 可移植性(Portability) • 可互操作性(Interoperability) • 可伸缩性(Scalability) • 易获得性(Availability)
• 1、操作系统 • 2、计算机网络 • 3、数据库原理 • 4、软件工程 • 5、Java/C
长春工业大学软件学院
第1章 中间件产生背景及分布式计算环境
1 开放系统 2 互操作性
3 中间件
4 远地过程调用及其增强 5 分布式计算环境
长春工业大学软件学院
什么是分布式软件
• 软件面临的问题
–软件正变得无处不在,同时软件 所面临的挑战也正在日益加剧
执行远程过程
返回执行结果 返回调用结果
Send(ans)
发送回复信息
继续
长春工业大学软件学院
RPC执行过 程
1.3 续
Client Process Local return Local call
Server Process call work return
10
1
OP4 Client-stub OP1
平台 网络 平台 网络 平台
中间件的层次结构
长春工业大学软件学院
1.2续
中间件基本框架
应用接口(API)层
第四层
中间件服务层 (通信,控制,计算,管理,输出,信息等)
第三层
应用平台层 (Unix、NetWare、NT、VAX、OPENVMS等)
传输协议层 (TCP/IP、IPX/SPX、NetBIOS、OSI等)
系统的可维护性不好
客户端包含过多的商业逻辑 商业逻辑与人机交互界面交织在一起
数据的安全性不好
长春工业大学软件学院
1.1开放系统与互操作性概述
计算模式的发展过程
• 三层(n层)体系架构
表示层—— 用户层 业务逻辑层——应用层 数据层——数据库服务器
• 基于Web的三层(N层)体系结构
长春工业大学软件学院
长春工业大学软件学院
RPC背景
1.3远程过程调用及其增强
在传统的编程概念中,过程是只能局限在本地运行的一段代 码,主程序和过程之间的运行关系是本地调用关系——本 地过程调用LPC。
LPC模式无法充分利用网络上其他主机的资源,也无法提高代 码在实体间的共享程度,使得主机资源大量浪费。
RPC是对LPC的扩展。通过这种调用机制,程序员编写客户 方应用时,可根据需要透明地调用位于远端服务器上的过 程。
③在服务器端,被调用的远端过程需单独编写,并被置入服 务器端框架,同时要在远程过程调用中间件中进行注册, 以备调用。
④启动本地客户端存根——〉存根捆绑远端过程名和参数— —〉利用网络传输到服务器端框架,从而实现数据格式的 转换和参数的传递
⑤采用调用/返回模式具体地完成远端过程调用。
长春工业大学软件学院
长春工业大学软件学院
互操作性
1.1续
定义:
在一个由异质实体构成的网络环境中,当应用在网络的结 点上运行时,它可以透明地动用网中其他结点上的资源 ,并借助这些资源与本结点上的资源共同来完成某个或 某组任务。
本质:
从异质环境(异种体系结构、异种操作系统、异种网络等 )中获得资源的透明动用能力。
⑴面向计算资源的互操作性
原子性 A 一致性 C 隔离性 I 耐久性 D
⑵消息中间件(MOM)
消息队列 发布-预定
⑶分布式中间件
长春工业大学软件学院
1.2续
中间件的发展情况
长春工业大学软件学院
中间件的主要厂商
1.2 续
第一梯队
Oracle(BEA)、IBM、东方通科技,占70%以上份额;
第二梯队
Sun、中软、中创、微软等;
小型简单而不需要采用异步通信方式的应用。
长春工业大学软件学院
1.3 续
RPC的通信模型
server
Client
等待
i(…))
(发送“请求服务”信息)
接收调用信息; 抽取参数并分析; 调用所指的过程;
调用
等 待 回 复
Receive(ans)
接收回复信息
⑵面向信息资源的互操作性(如数据库)
长春工业大学软件学院
1.2 中间件概述
现代应用系统的基本特征
分布
任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用 共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等 诸多问题;
异构
计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁 多,需考虑数据表示、调用接口、处理方式等诸多问题;
• 复杂度高
• 开发周期长

可靠性保证难
长春工业大学软件学院
什么是分布式软件
• 本课程关注分布式软件系统的开发 支撑
–随着网络与通信技术的发展,分布式 软件的应用越来越广泛,分布式软件
在计算机软件应用领域扮演者非常重 要的角色。
–分布式软件一般比集中式软件规模大
、复杂,是软件开发复杂性的集中体
现。
利用中间件进行协同工作的系统
长春工业大学软件学院
中间件定义
1.2 续
中间件(Middleware)是一种软件,处于系统软件 (操作系统和网络软件)与应用软件之间,它 能使处于应用层中的各应用成分之间实现跨网 络的协同工作(也就是互操作),这时允许各 应用软件之下所涉及的“系统结构、操作系统 、通信协议、数据库和其它应用服务”各不相 同。
长春工业大学软件学院
什么是分布式软件
• 分布式软件
– 网络环境:一群通过网络互相连接的处理 系统,每个处理节点由处理机硬件、操作 系统及基本通信软件等组成。
– 分布式软件:运行在网络环境中的软件系 统。
– 两种典型的应用途径
• 将分布式软件系统看做直接反映了现实世界 中的分布性
• 用于改进某些应用的运行性能
第二层 第一层
中间件的基本功能框架结构 长春工业大学软件学院
1.2续
基于中间件的软件系统基本模型
长春工业大学软件学院
中间件工作原理
1.2 续
服务器1
服务器2 …… 服务器n 服务器端
中间件
同/异构环境
客户机1
客户机2 …… 客户机n 客户端
长春工业大学软件学院
1.2续
中间件的基本分类
⑴事务处理中间件(交易中间件,TPM)
长春工业大学软件学院
1.1开放系统与互操作性概述
计算模式的发展过程
• 基于主机的系统(分时共享、资源共享) • 两层Client/Server系统
客户端负担仍然比较重
仍然需要客户端进行较复杂的数据处理
客户端的可移植性不好
处理复杂必然牵涉更多的移植性问题 每个客户端上都要安装数据库驱动程序
长春工业大学软件学院
中间件的优越性:
1.2 续
1.企业应用方面
2.应用程序方面
缩短应用开发周期 减少项目开发风险 应用程序质量可维护性 增加产品吸引力
透明地同其他应用程序交互 与运行平台提供的网络通信 服务无关 具有良好的可靠性和可用性 具有良好的可扩展性
长春工业大学软件学院
1.2续
中间件发展面临的问题
RPC是从一台机器或一个进程调用另一台机器或另一个进程 的服务或方法。
远程过程调用是创建分布式应用的一种方法,来源于Unix 操作系统的处理思想,被普遍认为是创建分布式应用的有 效方法。
从程序员的角度,RPC采用常规的编程模式:程序代码调用 远端过程并将结果返回。当使用RPC时,只需编写很少的 网络程序代码,绝大部分代码由IDL(Interface Define Language)生成。
从异质环境(异种体系结构、异种操作系统、异种网络等 )中获得资源的透明动用能力。
⑴面向计算资源的互操作性
⑵面向信息资源的互操作性(如数据库)
定义:
在一个由异质实体构成的网络环境中,当应用在网络的结 点上运行时,它可以透明地动用网中其他结点上的资源 ,并借助这些资源与本结点上的资源共同来完成某个或 某组任务。
长春工业大学软件学院
1.1续
开放系统构造
用轮廓勾划; 轮廓由
系统管理 A 用户界面 U 安全性 S 编程服务 P 互操作服务 I 通信服务 C 信息实体 E 七个成分组成;
对轮廓的各成分标准化,即成开放系统长。春工业大学软件学院
1.1续
开放系统开放程度表
长春工业大学软件学院
互操作性
1.1续
本质:
长春工业大学软件学院
RPC调用模型
主程序
main(…) . . .
调用A . . .
退出
主机程器序1
1.3 续
过程A代码 A(…) . . . 调用B . . . 退出
机子器程序2
过程B代码 B(…) . . . . . . . 退出
长春工子业机程大器学序3软件学院
1.3 续
远程过程调用RPC概念
⑴不同厂商的实现很难互操作 ⑵只提供了一部分平台的实现 ⑶应用开发者要面临设计选择
①过分追求中间件功能的全面性 ②过分强调选择国外产品 ③不能准确认识中间件的作用
长春工业大学软件学院
1.2 续
中间件技术发展趋势
• ⑴中间件的发展需要规范化 • ⑵应用需求导致技术格局多样化 • ⑶构件化和松散耦合 • ⑷底层的中间件持续走稳 • ⑸高层的中间件成为市场新宠 • ⑹新技术与产品的推出速度放缓 • ⑺实用化是重要的发展趋势
相关主题