中间件综述.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 操作系统 • 数据库
• 辅助工具类软件 • 辅助工具类软件 (如编译程序、文字 • 网络基础设施类 编辑器) • 专用系统 • 中间件
中间件的概念
中间件是一组程序,应用于分布式系统各 应用之中,为系统屏蔽底层通讯和提供公用服 务,并保障系统的高可靠性、高可用性、高灵 活性
中间件的概念
中间件是一个通道, 保障应用信息的可靠传递 中间件是一个桥梁, 达成商务构件的互连互通 中间件是一个框架, 促成企业应用的完整集成 中间件是一个平台, 实现分布式应用的顺利部署
中间件的分类——EITO的分类
中间件的分类——我们的观点
目前流行的主流中间件技术 数据访问 消息 交易 分布式对象 分布式构件(应用服务器、DCOM) 工作流 应用集成 门户 其他

中间件的作用
缩短开发周期 节约应用程序开发成本 降低运行成本 降低故障率 改善决策 应用系统群集/集成 减少软件维护 提高质量 改进技术 提高产品吸引力

这些是中间件吗
– 邮件系统 – Lotus Notes – Exchange
中间件概念的几个要点

中间件是软件 中间件在应用软件和系统软件之间 中间件是一类软件而不是一种 中间件与网络是“亲戚” 中间件不是开发工具,通常包含开发、管理和部署
中间件的分类——IDG的分类


分布式操作系统
分布式操作系统的一般结构
网络操作系统

针对网络互连的多台异构计算机的操作系统 为远程客户提供本地服务 通常基于文件系统实现互操作
网络操作系统
网络操作系统的一般结构
网络操作系统
客户/服务器方式之一
分布式数据库

提供开发分布式应用的手段
– 客户程序开发工具 – 客户程序与服务程序连接工具 – 服务程序开发工具

单一计算机
– 操作系统 – 数据库系统(文件系统) – 编程语言(编程工具)

问题
– 如何使不同计算机上的应用共享资源, – 如何把不同计算机上的应用连接起来 – 如何实现不同计算机上的应用互操作
分布式操作系统

一种紧偶合的操作系统,用于操作多处理器的单个计 算机或者多个同构的计算机。 分布式操作系统通过屏蔽和管理硬件资源,来实现应 用的分布式处理
来源: Standish Group International, Inc., 1998
中间件的新发展—平台概念
平台=中间件 + 应用构件 + 专业服务

屏蔽复杂细节,提供简单接口 提供个性化服务

贴近行业应用
应用软件平台
一个具体的平台——个性化
适合特定行业应用的基础构件及服务的整合
中间件的新发展—平台概念
课程内容

中间件产生基础和起源(1个学时)
描述应用模式的演变与分层处理、软件结构与软件发展潮流
中间件概念(1个学时)
中间件定义、作用
中间件基本类型介绍(1个学时)
描述中间件的主要种类、以及各种中间件解决的问题和适用范围
中间件综述(1个学时)
中间件的发展历史 中间件的应用现状
课程目的

终端访问 数据访问 远程过程调用 消息 交易 对象
中间件的分类——GIGA的分类
来源: Giga Information Group, 1998
续:
来源: Giga Information Group, 1998
续:
来源: Giga Information Group, 1998
中间件的分类——Aberdeen的分类
中间件分类介绍
面向 消息
(MOM) 异步 通信 APIs
(端到端)
(发送消息/ 接收消息) 大量/重复 多节点 实时性高
通信机制
接口函数/包装模板, 队列, 数据交换, 路由
队列/ 可靠 传输
接近实时 广域网
(MQSeries) (TongLINK/Q)
发布/ 订阅
(频道/听众) (股市信息/ 每秒上千条)
(核心:队列管理)
中间件分类介绍
对象
O-O 分析
O-O 设计 O-O 编程 UML C++, Java ?? ??? O-O 操作系统
芯片(32位, 64位, 128位, …. )
O-O 数据库
中间件分类介绍
对象 中间件
分布式构件化的应用的部署与管理平台
CORBA(Common Object Request Broker Architecture ) ORB, OTS, IDL, POA, GIOP, IIOP, Services

特点
– – – – – 系统有多台计算机构成 互相构成网络系统 计算机各自完成不同的工作 系统结构灵活、处理效率高 网络负担较小
典型客户/服务器结构:文件服务器
客户方
应用程序: 业务处理 界面处理 。。。
客户方 网络
客户方
请求数据
返回数据
数据
文件存储
文件服务器
典型客户/服务器结构:文件服务器
客户方
AP 3
Terminal 1
Terminal 2
Terminal 3
主机/终端方式的应用构成

输入/输出的表示逻辑
– 管理客户从键盘上的输入. – 把内容和结果显示在终端屏幕上.

处理
– 数据确认 – 业务处理

存储
– 数据的存储与恢复.
主机终端系统的特点

优点
– – – – 系统的可靠性、效率、扩展性保证均在主机上 终端位置简单 大量用户公用资源 单一厂家的技术、系统无须集成 对中心的压力很大 效率偏低 扩展困难 依赖单一厂家
构件模型(COM+/DNA/.NET, J2EE/CCM)
O-O开发工具
中间件分类介绍
J2EE 体系 结构
浏览器
Applet
HTML
Web服务器
EJB服务器
JSP
EJ B
小应用 程序容器 RMI/IIOP
Web容器
JavaMailJAF RMI/IIOP JDBC JNDI JMS JTA
EJB容器
中间件分类介绍
交易 管理
RM API
TX XATMI
TxRPC
CPI-C
资源管理器 (RM)
交易管理器 (TM) XA XA+
通信资源 管理器 (CRM) XAP-TP接口 OSI-TP
体系结构
X/OPEN DTP模型 TCP/IP APPC OSI
联机交易处理系统:处理大量并发交易的交易处理系统

缺点
– – – –
分布式系统

定义
– 由许多独立的计算机组成一个系统,对使用这个系统的用户 来说,就象面对一台计算机一样。这样的系统我们称之为分 布式系统。
客户/服务器结构
客户方 网络 计算机 计算机
服务器

应用处理逻辑分布在不同的计算机上 通常是表示层逻辑在客户方、处理逻辑在服务方
客户/服务器结构
角色分工
我来搞掂 太难了
应 用
中间件
数据库
太麻烦
我不干
操作系统
从软件的分层看中间件的诞生和发展
应 用 系 统 应 用 系 统 应用系统 应用系统
平台
平台软件 应用组件
中间件 系统软件 裸机 裸机 网络软件 传统系统软件 裸机
中间件
网络软件 传统系统软件 裸机
- 相应的软件产品
• 操作系统 • 数据库

举例
– Oracle:Form、Pro*C、Developer2000、SQL*net – Informix:4GL、ESQLC、PB、I-STAR – Sybase:PB、VB,NetLibary
分布式数据库
方法一:
SQL语句
方法二:
过程调用
过程调用
客户/服务器方式之二
分布式系统更深层次的问题
应用软件 基于业务 基础软件 平台的应 用软件是 新一代的 应用软件
业务基础软件平台
软件基础架构平台
操作系统平台
硬件平台
资料来源:计世资讯(CCW Research)
中间件分类介绍
数据 访问
•连接数据库的客户端与服务端 •实现分布式数据库 •传输SQL语句及数据库操作结果 •支持存储过程
(Sybase Netlib, SQL*NET, I_Star ,ODBC, JDBC, etc.)
Server Skeleton
ORB-Library
ORB-Library
中间件分类介绍
构件 技术
构件: - 封装性, 复用性, 包容性 - 软件基本结构单元, 具有容器特性 大颗粒
对象: - 封装性, 继承性, 多元性 - 软件基本单元, 单一体 小颗粒
中间件分类介绍
分布式 构件化 应用
分布式 应 用
--- Giga Information Group
Obj
Op( )
Obj
Op( )
本地调用
远程调用
中间件分类介绍
CORBA
各种服务
公共对象请求代理结构
(Common Object Request Broker Architecture)
中间件分类介绍
CORBA
Client Stub IDL Spec Skeleton Server
Client Stub
JavaMailJAF JDBC JNDI JMS
J2SE
JTA
J2SE
J2SE
应用客户
应用客户容器 JDBC
数据库
JNDI
JMS
JTA
中间件分类介绍
WEB 应用 服务器
WAS
服务器端: 基于WEB的 底层服务库与APIs – 主要是J2EE 功能包括: 事件管理, 安全管理, 对象管理, 通信管理 和交易管理(两阶段提交)
对中间件的整体认识 了解中间件的历史、起源、作用、分类、发展趋势 为深入学习中间件技术奠定基础
中间件产生的基础及起源

计算环境的演变 分布式计算环境的演变 中间件诞生的意义
主机终端系统
Operating System
DC (Data Comm) DBMS Database
AP 1
AP 2
中间件是 “客户/服务器”结构中的“/”
中间件的定位
计算机1 分布式应用 计算机2 分布式应用
中间件API
中间件
中间件API
中间件
操作系统API
操作 系统
通讯 处理 存储
操作系统API
操作 系统
通讯 处理 存储


中间件概念

那些已知的软件是中间件
– CICS – SQL*NET – – – – – RPC HTTP CORBA J2EE .NET
• • • • • • • • • 跨平台,包括不同的网络,主机、数据库等 支持复杂的应用模式 不同应用系统的集成 保证系统的处理效率 保证系统的高可用性 保证系统的动态扩展能力 提供调试,维护,管理工具 保障系统安全 加快开发周期,保证质量
问题特点

原有系统软件未能解决 与业务逻辑无关 应用软件实现困难 多数问题与网络有关 涉及应用软件开发、管理和部署等各方面
应用程序: 业务处理 界面处理 。。。
客户方 网络
客户方
请求
应答
数据
数据存储
数据库服务器
典型客户/服务器结构:三层结构
应用服务器(第二层)
业 务 逻 辑
业 务 逻 辑
业 务 逻 辑
数据库管 理系统
数据库
数据库服务器(第三层)
Browser
界面
PC机
界面
PC机
客户方(第一层)
客户方
应用软件结构的变化
客户端: Browser 功能支持: HTML, Java Applet, JSP, SERVLET,EJB,JMS HTTP, IIOP, RMI, etc.
中间件分类介绍
Application Server
应用 服务器
“将不同的应用技术集成在一起,使多层分
布式应用的开发、部署、管理变得更加容易“
IP Multicast 支持 TCP/IP 协议
(Internet) 同一IP包 只需传送 一次
实时 大批量 (Subjectbased) (Contentbased)
中间件分类介绍
面向 消息
特性:
同步通信 永久连接 文件传输 并行处理
IBM MQSeries,TongLINK/Q
异步通信 应需连接 程序启动 分布处理
中间件分类介绍
数据 访问
SQL语句
数据访问 中间件 数据访问 中间件
过程调用
数据访问 中间件 数据访问 中间件
来自百度文库
中间件分类介绍
交易 管理

功能
高可靠性,高效率,高可用性,易用性,安全性
交易管理机制 高速数据甬道机制 网络通讯压缩 网络调度功能 应用管理机制 服务优先权机制 动态伸缩机制 故障恢复机制 监控管理机制 名字服务和路由机制 多个层面的安全机制 加密机制
(涉及到操作系统、文件系统、编程语言、数据通讯、数据库 系统、系统管理、以及应用软件开发)
(Tuxedo, TongEASY, CICS)
传统技术实现三层结构的主力产品
界面 业务逻辑 数据
AS
客户端
SQL、XA
数据库 服务器
交易中间件
中间件分类介绍
消息
(MOM) 功能 • 高效、可靠的数据传输 • 交易包/文件包 • 各种通讯服务(名字服务) • 点到点、端到端通讯 • 实时网络监控及管理 • 结点状态控制 • 多种通讯机制
相关文档
最新文档