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