MWT3
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产品:BEA公司的Tuxedo、IBM公司的CICS和东方通 科技公司的TongEASY等。
26
•
•
2.5 续 事务管理系统
应用程序(AP)
RM API XA 资源管理器 (RM)
TM API
事务管理器 (TM) XA +
CRM API 通信资源 管理器 (CRM) TCP/IP
27
2.5 续 交易中间件作用
三层结构
Client
……
2.4 续
Server WWW Server
Applet
SQL
数据存取中间件 业务规则 本地复制
Remote DBMS
JDBC
Client
DBMS
三层结构的缺陷 • ①对连接没有充分利用
• ②对重复的数据库操作没有优化
• ③远程访问不可靠
17
2.4 续
数据库访问中间件主要功能
中间件技术
1
上机安排 班级:软件+电子商务 2007-1~2 周次:第7、8、9、10周 星期:星期五 节次:第5、6、7节
2
上机安排 班级:软件+信息 2007-1~2 周次:第7、8、9、10周 星期:星期三 节次:第5、6、7节
3
第2章 五大类中间件的工作机理
主要内容
•
•
2.1 远程过程调用中间件(RPCM) 2.2 面向对象中间件(OOM) 2.3 消息中间件(MOM) 2.4 数据库访问中间件(DAM) 2.5 交易中间件 (DTPM)
22
2.4 续
一种数据库访问中间件原型的构造方法
DB 中间件 远 程 访 问 模 块 安 全 控 制 模 块 连接管理模块 操作评价模块 缓冲区 客户交互模块 客户
…… ……
DB
客户
23
2.4 续
数据库访问中间件优点
• 移植性好
• 中间件封装了各种与平台有关的细节,使更换操作系统和通 信协议等底层的配置无需改变应用程序代码。
• ⒊数据库网关
• 完成不同数据库模型的转换,能提供对大型系统内部数据 的访问。
21
2.4 续
几种常见数据库访问中间件
• ①ODBC
应用程序1 应用程序2
……
应用程序n
ODBC驱动程序管理器 可装载的驱动程序 Oracle SQL Server Paradox 其他
• ②OLE DB • ③JDBC • ④数据库引擎 • ⑤数据库网关
• 消息传递机制要保证将发送者的消息传送到目的地。
• 在消息传递中,应用程序之间不必须建立直接的联系, 从而实现消息传送的异步性。
10
消息中间件
2.3续
• 消息中间件能够简化应用之间数据的传输,提供 可靠的、跨平台的消息传输手段,实现应用程序 之间的协同。 • 有两种基本的工作模型:
• ⑴消息队列
• ①同时管理多个客户机连接的多线程
• ②可以接收不同的厂家中立协议 • ③可以用一组管理数据操作的业务规则进行编程 • ④集中处理密集任务和将数据表达抽象到最高层 • ⑤分开客户机应用程序与数据库管理系统 • ⑥可以异步提供当前数据表或行的状态给客户机
18
2.4 续
数据库访问中间件
• 数据库访问中间件专门负责和完成对数据库访问操作 的优化、用户连接数的管理、保证访问的安全性和可 靠性,以及实现应用对来自不同厂商的数据库的访问 等,进而提高对数据库访问的效率。
25
2.5续
交易中间件TPM
•
在开放系统环境下提供保证交易完整性和数据一致 性的一种环境平。 针对复杂环境下分布式应用的速度和可靠性要求而 实现的。
•
•
事务是对共享的系统资源所完成的一件工作,它通 常是由一系列操作所组成。事务必须具有ACID(原 子性、一致性、隔离性、耐久性)属性。 TPM通过API向用户提供了一系列的服务,可简化应 用开发。
9
2.3续 消息中间件工作机理
• 应用之间以一系列消息的方式进行通信。在发送者和 接收者传送消息的过程中,为了避免在传递过程中消 息被丢失,消息保存在队列中。 • MOM为消息接收者查看消息提供了一个缓冲区域, 应用把消息发送到与接收者相关的队列中,如果发送 者想及时得到反馈,它们就把接收返回消息的队列名 包含在所有它们发送的消息中。
•
• •
4
2.1 RPCM
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 7
2
RPC Routine wait receive transmit 3 8
• 事务处理涉及操作系统、文件系统、编译语言、数据 通信、数据库管理系统、应用软件等,是一个相当艰 巨的任务,但是各种任务可以通过事务管理系统来简 化。 • 系统中的所有事务由一个事务管理系统所管理,事务 开始操作时被赋予一个唯一的标识符TID,在一个事 务的生命周期内此标识由事务管理系统唯一标识一个 事务。
• MOM (消息队列中间件/通信中间件)依据消息传 送或消息队列的原理来工作。 • MOM能够简化应用之间数据的传输,提供可靠的、 跨平台的消息传输手段。 • MOM支持同步和异步两种通信模式,其中异步通信 模式是基于消息队列转发机制的。 • 消息队列一般提供多协议支持、高端服务和其他系 统管理服务,完成可靠的、可扩展的异构环境中的 通信。
8
2.3续 消息
• 消息实质上是一个由用户定义的数据结构,由头信 息和体信息组成。
• 头消息是对消息结构的描述,对整条消息起控制作 用,含消息的属性及相关的系统信息,如消息标识、 消息类型、目的队列名、日期时间等;其中目的队 列名可表示成“队列名@队列管理器名”的形式 • 体信息主要是消息的应用数据,是应用程序通信的 数据,其具体语义要由通信双方事先约定,对中间 件来说是一串毫无意义的二进制字节串。 • 种类:①请求消息 ②应答消息 ③通知消息
传统通信必备条件
• ①发送和接收应用程序同时在线; • ②通过网络能同时通信,发送者和接受者需知道 相互间程序的调用接口。
实际情况:
• ①应用程序并不总是同时运行;
• ②网络并不总是可用的和可靠的; • ③在所有者域对应用程序的改变,要求在其他域 也作相应改变,不切实际。
7
2.3续 消息中间件定义
• 集成方便
• 能非常容易地集成到应用开发环境中,无需大的代码改动。
• 易于扩充
• 局部改进和整体升级只要保持对外接口不变就不会影响到系 统的其他部分,在功能上对应用程序实现了透明性。
• 使用简单
• 对各种数据源使用统一的访问方式,降低了用户参与程度。
24
2.5 交易中间件 事务
• 一个完整的事务是指一个程序或程序段,在一个或多 个资源上为完成某些功能的执行过程。
RPC Routine
transmit
receive
5
2.2 OOM
客户基本 工程对象 客 户 存 根 客 户 绑定器 客户协 议对象 客户方 客户-服务器交互 截-转器 服务器基本 工程对象 服务器 存 根 服务器 绑定器 服务器协 议对象 服务器方
6
2.3消息中间件(MOM) 消息中间件产生
29
• 服务器端缓存
20
2.4 续
数据库访问中间件类型
• ⒈本地中间件
• 本地中间件是为特定的数据库设计的
• 提供最佳的访问性能。 • 当要改变数据库时,需要对应用程序进行很大的修改。
• ⒉呼叫层接口
• 呼叫层接口为多个数据库提供了统一的界面。 • 把一般通用的接口呼叫转换成任意的数据库本地语言,以 便使对数据库发出请求的应用程序理解。
• ①提供高效的处理能力
• ②简化应用系统开发 • ③可以有效完成多服务进程和负载均衡 • ④能保证分布式交易的完整性 • ⑤提高系统的容错能力
• ⑥减少系统的运行、维护工作量
28
2.5 续 交易中间件功能
• ①进程管理
• ②交易优先级管理 • ③数据传输 • ④均衡负载 • ⑤权限控制、安全管理
NAP TCP IP
应用层
传输层 网络层 网络接口层
X.25 SLIP PPP …
• 消息中间件还遵循X/Open的分布式事务处理模型,
适应于分布式计算环境多样化、用户数目规模化、业务逻辑 复杂化的发展要求,实现消息位置无关性、用户透明性。
12
2.3续 消息中间件体系结构
本地系统 本地应用程序 中 间 件 队 列 管 理 器
• ①公共网关接口CGI
• ②专用API
• ③JDBC与ODBC
• ④数据库引擎
15
数据库访问中间件
2.4 续
• 在分布式系统中,支持应用程序和本地或异地的同构 或异构数据源进行通信。 • 通过提供一系列的编程接口,屏蔽不同网络协议,操 作系统和数据库管理系统平台DBMS的差异,允许应 用程序一致地访问数据源。 • 技术最成熟,应用最广泛的一种中间件技术。 • 典型例子—ODBC。 • 缺点:需要大量的数据通信。 • 产 品 : Oracle 公 司 的 SQL Connect 、 Sybase 公 司 的 Open Server、BEA公司的Weblogic和中科院软件所的 DataAccess等。 16
消息队列接口
系 统 管 理
消息路由和排队
消息通道代理
网络
13
2.3续 消息中间件的功能
• ①无连接消息传递
• ②消息优先化 • ③有保障的消息传递 • ④事务处理消息 • ⑤动态队列创建
• ⑥消息路由
• ⑦不同硬件系统的集成 • ⑧跨软件平台的支持
14
2.4 数据库访问中间件 Internet上实现数据库访问的方式
• ⑵消息传递(发布-订阅) • 缺点:不支持程序控制的传递。 • 产品:东方通科技的TongLINK/Q、BEA的elink、 DEC 的 MessageQ 、 IBM 的 MQSeries 、 Microsoft MSMQ等。
11
2.3续 消息中间件产生
• 消息中间件一般把工业标准TCP/IP协议作为基础。
• 简而言之,数据库访问中间件指一切连接应用程序和 数据库的软件。 • 与一般的中间件一样,面向数据库的中间件允许开发 人员通过单一的、定义良好的API访问另一台计算机 上的数据库资源。
19
2.4 续
数据库中间件访问方式
• ⑴直接访问
• 应用程序像访问本地数据库一样可以直接访问和更 新位于远端的数据库。 • ⑵数据库复制 • 客户端缓存
26
•
•
2.5 续 事务管理系统
应用程序(AP)
RM API XA 资源管理器 (RM)
TM API
事务管理器 (TM) XA +
CRM API 通信资源 管理器 (CRM) TCP/IP
27
2.5 续 交易中间件作用
三层结构
Client
……
2.4 续
Server WWW Server
Applet
SQL
数据存取中间件 业务规则 本地复制
Remote DBMS
JDBC
Client
DBMS
三层结构的缺陷 • ①对连接没有充分利用
• ②对重复的数据库操作没有优化
• ③远程访问不可靠
17
2.4 续
数据库访问中间件主要功能
中间件技术
1
上机安排 班级:软件+电子商务 2007-1~2 周次:第7、8、9、10周 星期:星期五 节次:第5、6、7节
2
上机安排 班级:软件+信息 2007-1~2 周次:第7、8、9、10周 星期:星期三 节次:第5、6、7节
3
第2章 五大类中间件的工作机理
主要内容
•
•
2.1 远程过程调用中间件(RPCM) 2.2 面向对象中间件(OOM) 2.3 消息中间件(MOM) 2.4 数据库访问中间件(DAM) 2.5 交易中间件 (DTPM)
22
2.4 续
一种数据库访问中间件原型的构造方法
DB 中间件 远 程 访 问 模 块 安 全 控 制 模 块 连接管理模块 操作评价模块 缓冲区 客户交互模块 客户
…… ……
DB
客户
23
2.4 续
数据库访问中间件优点
• 移植性好
• 中间件封装了各种与平台有关的细节,使更换操作系统和通 信协议等底层的配置无需改变应用程序代码。
• ⒊数据库网关
• 完成不同数据库模型的转换,能提供对大型系统内部数据 的访问。
21
2.4 续
几种常见数据库访问中间件
• ①ODBC
应用程序1 应用程序2
……
应用程序n
ODBC驱动程序管理器 可装载的驱动程序 Oracle SQL Server Paradox 其他
• ②OLE DB • ③JDBC • ④数据库引擎 • ⑤数据库网关
• 消息传递机制要保证将发送者的消息传送到目的地。
• 在消息传递中,应用程序之间不必须建立直接的联系, 从而实现消息传送的异步性。
10
消息中间件
2.3续
• 消息中间件能够简化应用之间数据的传输,提供 可靠的、跨平台的消息传输手段,实现应用程序 之间的协同。 • 有两种基本的工作模型:
• ⑴消息队列
• ①同时管理多个客户机连接的多线程
• ②可以接收不同的厂家中立协议 • ③可以用一组管理数据操作的业务规则进行编程 • ④集中处理密集任务和将数据表达抽象到最高层 • ⑤分开客户机应用程序与数据库管理系统 • ⑥可以异步提供当前数据表或行的状态给客户机
18
2.4 续
数据库访问中间件
• 数据库访问中间件专门负责和完成对数据库访问操作 的优化、用户连接数的管理、保证访问的安全性和可 靠性,以及实现应用对来自不同厂商的数据库的访问 等,进而提高对数据库访问的效率。
25
2.5续
交易中间件TPM
•
在开放系统环境下提供保证交易完整性和数据一致 性的一种环境平。 针对复杂环境下分布式应用的速度和可靠性要求而 实现的。
•
•
事务是对共享的系统资源所完成的一件工作,它通 常是由一系列操作所组成。事务必须具有ACID(原 子性、一致性、隔离性、耐久性)属性。 TPM通过API向用户提供了一系列的服务,可简化应 用开发。
9
2.3续 消息中间件工作机理
• 应用之间以一系列消息的方式进行通信。在发送者和 接收者传送消息的过程中,为了避免在传递过程中消 息被丢失,消息保存在队列中。 • MOM为消息接收者查看消息提供了一个缓冲区域, 应用把消息发送到与接收者相关的队列中,如果发送 者想及时得到反馈,它们就把接收返回消息的队列名 包含在所有它们发送的消息中。
•
• •
4
2.1 RPCM
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 7
2
RPC Routine wait receive transmit 3 8
• 事务处理涉及操作系统、文件系统、编译语言、数据 通信、数据库管理系统、应用软件等,是一个相当艰 巨的任务,但是各种任务可以通过事务管理系统来简 化。 • 系统中的所有事务由一个事务管理系统所管理,事务 开始操作时被赋予一个唯一的标识符TID,在一个事 务的生命周期内此标识由事务管理系统唯一标识一个 事务。
• MOM (消息队列中间件/通信中间件)依据消息传 送或消息队列的原理来工作。 • MOM能够简化应用之间数据的传输,提供可靠的、 跨平台的消息传输手段。 • MOM支持同步和异步两种通信模式,其中异步通信 模式是基于消息队列转发机制的。 • 消息队列一般提供多协议支持、高端服务和其他系 统管理服务,完成可靠的、可扩展的异构环境中的 通信。
8
2.3续 消息
• 消息实质上是一个由用户定义的数据结构,由头信 息和体信息组成。
• 头消息是对消息结构的描述,对整条消息起控制作 用,含消息的属性及相关的系统信息,如消息标识、 消息类型、目的队列名、日期时间等;其中目的队 列名可表示成“队列名@队列管理器名”的形式 • 体信息主要是消息的应用数据,是应用程序通信的 数据,其具体语义要由通信双方事先约定,对中间 件来说是一串毫无意义的二进制字节串。 • 种类:①请求消息 ②应答消息 ③通知消息
传统通信必备条件
• ①发送和接收应用程序同时在线; • ②通过网络能同时通信,发送者和接受者需知道 相互间程序的调用接口。
实际情况:
• ①应用程序并不总是同时运行;
• ②网络并不总是可用的和可靠的; • ③在所有者域对应用程序的改变,要求在其他域 也作相应改变,不切实际。
7
2.3续 消息中间件定义
• 集成方便
• 能非常容易地集成到应用开发环境中,无需大的代码改动。
• 易于扩充
• 局部改进和整体升级只要保持对外接口不变就不会影响到系 统的其他部分,在功能上对应用程序实现了透明性。
• 使用简单
• 对各种数据源使用统一的访问方式,降低了用户参与程度。
24
2.5 交易中间件 事务
• 一个完整的事务是指一个程序或程序段,在一个或多 个资源上为完成某些功能的执行过程。
RPC Routine
transmit
receive
5
2.2 OOM
客户基本 工程对象 客 户 存 根 客 户 绑定器 客户协 议对象 客户方 客户-服务器交互 截-转器 服务器基本 工程对象 服务器 存 根 服务器 绑定器 服务器协 议对象 服务器方
6
2.3消息中间件(MOM) 消息中间件产生
29
• 服务器端缓存
20
2.4 续
数据库访问中间件类型
• ⒈本地中间件
• 本地中间件是为特定的数据库设计的
• 提供最佳的访问性能。 • 当要改变数据库时,需要对应用程序进行很大的修改。
• ⒉呼叫层接口
• 呼叫层接口为多个数据库提供了统一的界面。 • 把一般通用的接口呼叫转换成任意的数据库本地语言,以 便使对数据库发出请求的应用程序理解。
• ①提供高效的处理能力
• ②简化应用系统开发 • ③可以有效完成多服务进程和负载均衡 • ④能保证分布式交易的完整性 • ⑤提高系统的容错能力
• ⑥减少系统的运行、维护工作量
28
2.5 续 交易中间件功能
• ①进程管理
• ②交易优先级管理 • ③数据传输 • ④均衡负载 • ⑤权限控制、安全管理
NAP TCP IP
应用层
传输层 网络层 网络接口层
X.25 SLIP PPP …
• 消息中间件还遵循X/Open的分布式事务处理模型,
适应于分布式计算环境多样化、用户数目规模化、业务逻辑 复杂化的发展要求,实现消息位置无关性、用户透明性。
12
2.3续 消息中间件体系结构
本地系统 本地应用程序 中 间 件 队 列 管 理 器
• ①公共网关接口CGI
• ②专用API
• ③JDBC与ODBC
• ④数据库引擎
15
数据库访问中间件
2.4 续
• 在分布式系统中,支持应用程序和本地或异地的同构 或异构数据源进行通信。 • 通过提供一系列的编程接口,屏蔽不同网络协议,操 作系统和数据库管理系统平台DBMS的差异,允许应 用程序一致地访问数据源。 • 技术最成熟,应用最广泛的一种中间件技术。 • 典型例子—ODBC。 • 缺点:需要大量的数据通信。 • 产 品 : Oracle 公 司 的 SQL Connect 、 Sybase 公 司 的 Open Server、BEA公司的Weblogic和中科院软件所的 DataAccess等。 16
消息队列接口
系 统 管 理
消息路由和排队
消息通道代理
网络
13
2.3续 消息中间件的功能
• ①无连接消息传递
• ②消息优先化 • ③有保障的消息传递 • ④事务处理消息 • ⑤动态队列创建
• ⑥消息路由
• ⑦不同硬件系统的集成 • ⑧跨软件平台的支持
14
2.4 数据库访问中间件 Internet上实现数据库访问的方式
• ⑵消息传递(发布-订阅) • 缺点:不支持程序控制的传递。 • 产品:东方通科技的TongLINK/Q、BEA的elink、 DEC 的 MessageQ 、 IBM 的 MQSeries 、 Microsoft MSMQ等。
11
2.3续 消息中间件产生
• 消息中间件一般把工业标准TCP/IP协议作为基础。
• 简而言之,数据库访问中间件指一切连接应用程序和 数据库的软件。 • 与一般的中间件一样,面向数据库的中间件允许开发 人员通过单一的、定义良好的API访问另一台计算机 上的数据库资源。
19
2.4 续
数据库中间件访问方式
• ⑴直接访问
• 应用程序像访问本地数据库一样可以直接访问和更 新位于远端的数据库。 • ⑵数据库复制 • 客户端缓存