中间件概述

合集下载

第七章-EPC概述

第七章-EPC概述

第七章EPC中间件1.EPC:电子产品编码。

中间件是连接标签读写器和企业应用系统的纽带,是RFID应用系统和IoT的核心。

特点:(1)独立于架构(独立于阅读器和应用程序);(2)数据流(可以进行数据的处理和转换);(3)处理流(可以进行数据流的设计和管理);(4)海量数据(产生大量数据);(5)标准;(6)过滤和清洗(处理无用数据);(7)挖掘语义信息。

2.中间件从架构上分为:(1)以应用程序为中心;(2)以架构为中心3.中间件的功能:(1)数据的读写、过滤及聚集(2)数据的路由和整合(3)工作流的配置和管理(4)过程管理(5)安全管理4.消极读:无限射频信号易受环境干扰,当大量标签突然性进入读写器范围,射频信号的碰撞和干扰将造成读写器对某些标签遗漏。

其错误称为拒真;积极读:当标签在读写器的读写范围之外时,读写器因受电磁波干扰意外捕获了标签。

其错误称为纳伪;冗余读:(1)一个标签长时间停留在一个阅读器内,该阅读器对标签不断读取,导致了大量冗余记录,形成数据冗余;(2)一个空间区域被多个阅读器覆盖,位于阅读器交叉区域的标签同时被多个阅读器读取,形成读取冗余;5.数据清洗功能:减少数据冗余,纠正数据错误。

数据清洗流程:(1)去噪音处理(去除脏数据);(2)时间平滑处理(弥补漏读);(3)去标签冗余;(4)去阅读器冗余及排序处理;(5)上传原子事件流;6.SMURF算法的主要思想:首先计算数据出现的概率密度,根据概率密度调整滑动窗的大小。

当概率密度大的时候,窗口比较大;当概率密度小的时候概率比较小。

概率密度大时数据可靠,说明一定范围内数据都可靠,用大窗进行时间平滑;概率密度小时附近数据不可靠,用小窗进行平滑。

7.基于时间平滑窗的标签数据清洗假设标签T1出现在阅读器R1的识别范围,某时刻T1离开R1识别范围一段时间,接着又回到R1识别范围,其真实数据如上图所示。

但由于通讯问题,R1获得的原始数据如上图,因此需要进行基于时间平滑处理来使原始数据与真实数据吻合。

中间件

中间件
10
分布式对象架构
什么是对象请求代理?
支持客户访问异地分布对象的核心机制称为对象请求代理 ORB(Object Request Broker)
C++Main Program
A的代理
Agent 1
网 络 计 对象适配器 算 环 境
ORB
11
OOObbbjjjeeecccttt AAA
Agent 2
分布式对象架构
分布式对象访问过程
客户
相相同同的接的口接口
服务器
客户构 造构架
应用逻辑
分布对象的实现
分布对象 代理
ORB
对象请求分发器 对象请求适配器
对象请求感知器
网络传输访问
服务器 构造构

12
分布式对象架构
客户
O1
O2
通知 预约
客户
查询
虚拟
O1R
图书馆
O2R
ORB ORB
O3R
O3
O4R
O5R
第14章 中间件
软件工程系
本章内容
中间件概述 远程过程调用(RMI) 面向消息的中间件(MOM)
2
中间件的发展历程
3
中间件的地位
4
中间件的特点
满足大量应用的需要 运行于多种硬件和操作系统平台 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的
交互; 支持标准的协议; 支持标准的接口。
分布对象技术要解决的基本问题
分布对象技术要解决的问题
C++编译器完成连接
C++Main
C++ Object
Program

第6章 物联网中间件

第6章 物联网中间件

2019/11/14
北京物资学院信息学院
8
第6章 物联网中间件
根据处理的数据的特点物联网中间件具有下列基本 特征:
(1) 独立架构(Insulation Infrastructure):物联网中 间件独立并且存在于后端应用程序与数据采集器之 间,并且能够与多个或者多种后端应用程序以及多 个数据采集器连接,以减轻架构与中间件维护的复 杂性。
2019/11/14
北京物资学院信息学院
24
第6章 物联网中间件
IOT-A体系框架
WP1-架构参考模型
W P2-协调整合到未来的 互联网 服务层 WP3-协议套件 WP4-解析和识别 WP5-IOT对象平台
WP6-要求,验 证和利益相关
方的互动
WP7-用例
WP8-传播和影响生成
WP9-管理和协调
2019/11/14
(2) 数据处理(Data Flow):物联网主要目的在于将 实体对象转换为信息环境下的虚拟对象,因此数据 处理是物联网最重要的特征,物联网中间件具有数 据的搜集、整合、过滤与传递等特性,以便将正确 的对象信息传到企业后端的应用系统。
2019/11/14
北京物资学院信息学院
9
第6章 物联网中间件
(3) 流程处理(Process Flow):物联网中间件采用程 序逻辑及储存再转送(store-and-forward)的功能来提 供顺序的消息流,具有数据流程设计与管理的能力。
2019/11/14
北京物资学院信息学院
3
第6章 物联网中间件
6.1 中间件技术概述
6.1.1 中间件的作用和意义 中间件是一种独立的系统软件或服务程序,分布 式应用软件借助这种软件在不同的技术之间共享 资源。中间件位于客户机/服务器的操作系统之上, 管理计算机资源和网络通讯,是连接两个独立应 用程序或独立系统的软件,相连接的系统即使它 们具有不同的接口,但通过中间件相互之间仍能 交换信息,执行中间件的一个关键途径是信息传 递,通过中间件应用程序可以工作于多平台或OS 环境。

TUXEDO中间件基础培训教程

TUXEDO中间件基础培训教程

TUXEDO中间件基础培训教程TUXEDO是一种常用的中间件,用于构建分布式系统和业务应用。

它提供了灵活的架构和强大的功能,能够处理高并发的请求和可靠的消息通信。

本篇文章将介绍TUXEDO的基础知识和用法,帮助读者了解和使用TUXEDO中间件。

一、TUXEDO中间件概述1. 应用服务器(Application Server):负责处理客户端请求,调用相应的服务和资源。

2. 事务管理器(Transaction Manager):负责管理分布式事务,保证事务的一致性和可靠性。

3. 路由器(Router):负责根据客户端请求的目标,将请求路由到相应的应用服务器。

4. 消息队列(Message Queue):用于在不同的应用服务器之间传递消息。

二、TUXEDO开发环境2.配置TUXEDO环境:设置TUXDIR环境变量和相关配置文件,以便使用TUXEDO命令和功能。

3.开发工具:TUXEDO提供了命令行工具和图形化界面工具,可以根据具体需求选择适合的工具进行开发。

三、TUXEDO应用开发1. 定义服务(Service):服务是TUXEDO中间件的核心概念,它表示一个可供调用的逻辑单元。

可以使用工具或配置文件定义服务,并设置相应的参数和属性。

2. 编写客户端代码:客户端代码负责与TUXEDO中间件进行交互,发送请求和接收响应。

可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行调用。

3. 编写服务代码:服务代码负责响应客户端请求,并进行相应的数据处理和业务逻辑。

可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行编程。

4.配置资源:资源是TUXEDO应用的关键组成部分,包括数据库连接、文件系统等。

可以使用配置文件或工具对资源进行定义和配置。

5.部署应用程序:将开发完成的应用程序部署到TUXEDO环境中,并进行测试和验证。

四、TUXEDO事务处理1.本地事务:在单个应用服务器内执行的事务,可以通过TUXEDO事务管理器进行管理。

物联网技术概论--物联网中间件

物联网技术概论--物联网中间件
物联网中间件
01 中间件的概述 02 中间件的特点 03 中间件的分类
目录
中间件的概述
中间件是位于平台和应用之间的具有标 准程序接口和协议的通信服务。
中间件=平台+应用的需要 • 运行于多种硬件和OS平台 • 支持分布计算,提供跨网络,硬
件和OS平台的透明的应用和服 务的交互 • 支持标准的协议 • 支持标准的接口
• 交易中间件和消息中间件一样也具有跨平台, 跨网络的能力
中间件的分类
对象中间件
• 对象中间件也叫Object TP Momitor, 的模式来组织 体系结构的,在线的电子交易很适合采用这种中间件 类型。因为这种类型的应用会被频繁的修改,面向对 象的体系结构可以保持足够的弹性来应付这种改动。
中间件的分类 应用服务器
中间件的分类
感谢观看
中间件的分类
目前,中间件发展很快,已经与操作系统、数据库并列为三大基础软件
中间件的分类
消息中间件
主要功能:将数据从一个应用程序发送到另一个应用程序
中间件的分类
交易中间件
• 主要功能:管理分布于不同计算机上的数据的一致性,协调数据库处理 分布式事务,保障整个系统的性能和可靠性。
• 交易中间件所遵循的主要标准是x/opendtp模型。它适用于联机交易 处理系统,如银行的ATM系统,电信的计费营收系统。主要产品 有:BEA TUXEDO, IBM CICS, 东方通科技tongeasy

2024年度中间件技术及Tuxedo课件

2024年度中间件技术及Tuxedo课件

2024/3/23
25
06
Tuxedo运维管理与最 佳实践
2024/3/23
26
监控和日志分析工具介绍及使用技巧
监控工具
介绍Tuxedo提供的监控工具,如tmadmin、tmloadcf等,以及如 何使用这些工具进行实时监控和性能分析。
日志分析
详细阐述Tuxedo日志文件的格式和内容,如何通过日志分析工具 进行日志的解析、筛选和统计,以便快速定位问题。
02
2024/3/23
03
调优实践
分享在实际运维过程中遇到的性能问 题及其解决方案,以及在进行性能调 优时需要注意的事项。
29
版本升级注意事项及迁移方案
版本升级流程
详细介绍Tuxedo版本升级的流程和步骤,包括前期准备、升级过程、后期验证等。
注意事项
列举在进行版本升级时需要特别注意的事项,如兼容性问题、数据迁移问题、配置变更 问题等。
01 安装过程中遇到错误提示,如何解决?
02 Tuxedo服务无法启动或异常退出,如何处 理?
03
Tuxedo交易执行失败或性能不佳,如何优 化?
04
如何备份和恢复Tuxedo配置信息及数据?
20
05
Tuxedo应用开发实践
2024/3/23
Байду номын сангаас
21
基于Tuxedo构建分布式系统架构
2024/3/23
2024/3/23
迁移方案
针对可能遇到的数据迁移问题,提供相应的解决方案和操作步骤,如数据备份、数据转 换、数据验证等。同时,分享一些成功的迁移案例和经验教训。
30
THANK YOU
2024/3/23

sb9-中间件


于分不是对象在混合网络环境中的应用。采用
对象请求代理(ORB)提供基础结构和一些如: 安全管理、交易/事务处理、消息处理一类的服 务功能。 COM/DCOM/COM+ :COM是Microsoft对象技术的 核心,允许在同一个网络中,不同的主机上的 对象之间进行相互交互信息。 DCOM、COM+则在
9
9. 中间件技术-中间件概述
应用集合:依靠标准的中间件可以将现有的应 用、新的应用和购买的商务构件融合在一起进
行应用集合。
系统维护:每年维护自我开发的基础软件的开支
需要当初开发费用的15%~25%,应用程序的维
护开支也是需要项目总费用的10%~20%。 质量:标准中间件的规范化模式可以有效地保 证应用系统质量及减少新旧系统维护开支。
现业务逻辑的操作。
30
9. 中间件技术-典型中间件架构分析
资源管理器(RM):用于管理系统中可以被共享 的资源,并通过资源管理器提供的接口为应用程 序提供服务。典型的资源管理器有数据库管理系
统、文件存取系统、打印共享服务器等。
事务管理器(TP):用于管理系统中可以被共享
的资源,并通过资源管理器提供的接口为应用程
9. 中间件技术
中间件概述
中间件分类
典型中间件架构分析
中间件的发展趋势
1
9. 中间件技术-中间件概述
9.1 中间件概述 中间件定义!! 中间件是一种独立的软件系统或服务程序, 分布式应用软件借助这种在不同的技术之间 共享资源。 中间件就是位于操作系统和应用软件之间的 一个软件层,它向各种应用软件提供服务, 使不同的应用进程能在屏蔽掉平台差异的情 况下,通过网络互相通信。
种数据库、透过多么复杂的网络,中间件都应 实现互操作。 通讯:要支持各种通讯协议、各种通讯服务模 式、传输各种数据内容、数据格式翻译、流量

中间件 总体目标

中间件总体目标一、中间件的定义和作用中间件(Middleware)是一种软件组件,位于客户端和服务器之间,用于处理和转发客户端请求。

它能够接收和发送数据,实现不同应用系统之间的互联互通。

中间件的作用包括:负载均衡、缓存、数据处理、安全认证、消息队列等。

二、中间件的分类和应用场景1.负载均衡中间件:根据访问流量,动态分配请求到多个服务器,提高系统吞吐量。

如Nginx、HAProxy等。

2.缓存中间件:降低数据库压力,提高数据访问速度。

如Redis、Memcached等。

3.数据处理中间件:对数据进行清洗、转换、合并等操作。

如Kafka、Flink等。

4.安全认证中间件:确保数据传输的安全性,如SSL/TLS加密、OAuth2.0等。

5.消息队列中间件:实现异步处理,提高系统并发能力。

如RabbitMQ、Kafka等。

三、我国中间件市场概述随着互联网和大数据技术的发展,我国中间件市场呈现出快速增长的趋势。

国内外众多企业纷纷推出各类中间件产品,竞争激烈。

我国中间件市场主要集中在金融、电商、政务、医疗等领域。

四、中间件技术的发展趋势1.微服务架构:通过将大型应用拆分成多个小型服务,实现敏捷开发和运维。

如Spring Cloud、Dubbo等。

2.容器化技术:通过容器将应用和依赖打包,实现快速部署和弹性扩容。

如Docker、Kubernetes等。

3.分布式技术:通过分布式系统解决单一节点的性能瓶颈,提高系统的可扩展性和可靠性。

如Hadoop、Spark等。

五、中间件选型与实施策略1.根据业务需求和场景选择合适的中间件。

2.考虑中间件的稳定性、成熟度和社区支持。

3.结合企业内部技术栈,选择易于集成和维护的中间件。

4.关注中间件的性能、可扩展性和安全性。

六、中间件在实际项目中的应用案例1.负载均衡:阿里巴巴采用Nginx实现负载均衡,提高网站访问速度。

2.缓存:腾讯使用Redis作为缓存,降低数据库压力,提高数据访问速度。

云服务中间件TIBCO架构介绍

跨行业数据交换集成
借助TIBCO中间件支持多种协议和数据格式 转换的能力,实现不同行业企业间数据交换 和业务协同。
物联网(IoT)集成案例
工业物联网集成
通过TIBCO中间件连接工业设备、传感器等物联网终端,实现数据采集、处理和分析, 支撑工业智能化应用。
智能家居集成
利用TIBCO提供的消息传递和事件驱动功能,实现智能家居设备之间的互联互通和智能 化场景控制。
TIBCO中间件作为一种先进的云服务 中间件技术,旨在提供高性能、高可 靠性、高扩展性的解决方案,满足企 业不断增长的业务需求。
TIBCO中间件概述
1
TIBCO中间件是一种基于云计算技术的分布式系 统架构,提供消息传递、数据集成、事件处理等 功能。
2
TIBCO中间件支持多种协议和标准,可以与各种 应用系统和数据库进行无缝集成,实现数据的实 时传输和处理。
多云管理与跨云协同
多云管理和跨云协同将成为未来云服务的重要发 展方向。TIBCO中间件需要支持多云管理和跨云 协同,实现不同云平台之间的无缝连接和业务协 同。
THANK YOU
TIBCO中间件在微服务架构中的角色
01
TIBCO中间件为微服务架构提 供了强大的集成和通信能力, 支持跨平台、跨语言的服务调 用和数据交换。
02
TIBCO中间件通过提供消息队 列、事件驱动、API管理等功 能,帮助构建稳定、可靠、高 性能的微服务架构。
03
TIBCO中间件还支持服务的注 册与发现、负载均衡、容错处 理等功能,提高了微服务架构 的可扩展性和可维护性。
的业务需求。
实时数据处理
TIBCO中间件支持实时数据流处理, 能够快速响应业务需求,提高数据处 理效率。

(完整版)中间件技术原理与应用复习资料

第一章1、简述中间件的概念、组成结构和作用。

定义:中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。

组成结构:(1)执行环境软件(2)应用开发工具作用:使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

2、中间件的特性(1)易用性(2)位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器(3)消息传输的完整性:消息不应丢失或重复(4)消息格式的完整性:消息格式不应被破坏(5)语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响3、中间件的分类事务处理中间件(TP Monitor: Transaction ProcessMonitor)消息中间件(MOM: Message-Oriented Middleware)数据库中间件(Database Middleware)远程过程调用中间件(RPC: Remote Process Call)对象请求代理中间件(ORB: Object Request Broker)J2EE中间件4、RPC:工作原理:1.2.4.5.执行远程过程6.执行的过程将结果返回服务器句柄7.8.9.10.客户接收句柄返回的数据5、RMI存根和框架的作用:Stub为客户端编码远程命令并把他们发送到服务器,等待服务器返回结果,stub再解码返回调用结果给客户端。

Skeleton是把远程命令解码,调用服务端的远程对象的方法,把结果再编码发给stub。

6、RPC相关概念RPC(Remote Procedure Call Protocol)而不需要了解底层网络技术的协议。

RPC采用客户机/请求程序就是一个客户机,而服务提供程序就是一个服务器。

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

中间件概述什么是中间件?在一个具体的应用项目之中,到底能不能够不用中间件?这也是中间件厂商经常被问到问题之一。

之所以有此一问,说明了用户只是知道了中间件,听说其很重要,但并真正不知道什么是中间件?我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。

1998年IDC 公司对于中间件有一个定义,并根据用途将其划分为6个类别。

如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。

例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。

但随着IBM大机环境越来越少,但是盛行一时的此类中间件如今已经很少再被单独提及。

2000年前后,互联网盛行起来,随之产生了一个新的东西,就是应用服务器。

实际上,交易中间件也属于是应用服务器,为了区分,人们传统的交易中间件称为分布交易中间件,因它主要应用在分布式环境下,而将新的应用服务器,称为J2EE中间件,到目前为止,这都是市场上非常热门的产品。

EAI概念出来之后,市场上又推出了一些新的软件产品,,例如工作流、Portal等,但从分类上不知道怎么归类,向上不能够划归应用,往下又不能归入操作系统,于是就把它归入了中间件,如此中间件的概念更加扩大了。

目前,市场上对于中间件,各家的说法不一,客观上也导致了理解上的复杂性。

如今,市场上又推出了很多新的概念,例如三层结构、构件、Web服务,其中风头最劲的当属SOA(面向服务的架构)。

实际上,他们都不是一个产品,而是一种技术的实现方法,是开发一个软件的一种方法论。

我们知道,最早软件开发方法就是编程、写代码的,其缺点在于无法复用,为此提出了构件化的软件开发方法,通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如我们开发一个新软件,可能要用到构件1、构件2、构件3,那么,我们只要对其进行本地组装,就可以得到我们想要的应用软件。

在互联网得到普及重视之后,软件开发方法在构件化基础上又有新发展,核心思想是软件并不需要囊括构件,所需要的仅仅是构件的运行结果,例如编写一个通信传输软件,就可以到网上寻找构件,并提出服务请求,得到结果后返回,而不需要下载构件并打包,这就是现在所说的SOA。

想要现实SOA,就要规范构件接口,同时还要规范构件所提交的服务结果,如此,新的软件开发的思想才能够行的通。

但SOA并不是一个产品,而是一种思想方法,而实现这种方法的基础,如今看来只有中间件。

那么,到底什么才是中间件,什么不是中间件?中间件应该具备两个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作系统的层面,并却保持运行工作状态,具备了这样两个特征才能称为中间件。

现在很多人把开发工具也称为中间件是不合适的,因为开发工具开发出来的软件,并不依赖开发工具与底层操作系统连接。

传统的客户/服务器模式是一种双层的结构,通常是一台个人计算机做客户机使用(运行客户端程序),另外一台服务器用于存放后台的数据库系统,应用程序可客户端直接相连,中间没有其他的逻辑。

程序的业务逻辑则一般存在于前台的应用程序中,即程序员根据客户的业务要求定制客户端程序,这种定制的程序没有通用性。

或者业务逻辑也存在于后台数据库中,以触发器(trigger)的方式实现。

这种方式有一个很大的缺点,就是一旦客户的业务逻辑有所改变的话,将引起应用程序的修改以及后台触发器的修改,将所有程序模块都重新修改、编译、连接的工作量是相当大的。

另外由于这种结构将用户界面和业务逻辑以及数据源绑定在一起,会消耗客户机的大量资源,对客户机来说是一个很大的负担。

为了克服由于传统客户/服务器模型的这些缺陷给系统应用带来的影响,一种新的结构出现了,这就是三层(N层)客户/服务器模型。

三层客户/服务器结构构建了一种分割式的应用程序。

系统对应用程序进行分割后,划分成不同的逻辑组件,主要分为三层:用户服务层:提供信息浏览,服务定位。

主要是实现用户界面,并保证用户界面的友好性、统一性。

业务处理层:实现客户的全部业务逻辑。

数据服务层:实现数据定义、存储、备份、检索等功能,主要有数据库系统实现。

这三个层次共同组成应用系统。

使用这种模型,可以将系统需求划分成可以明确定义的服务,例如事务服务、名字服务等。

将这些服务以组件的形式实现,一个组件可以实现系统中的一种或者多种服务,是这些服务的物理封装。

根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件。

并且根据业务的改动可以灵活的对这些服务组件进行修改,而不影响其它的组件,从而降低维护的费用。

另外,这些组件应该做成通用的,基于某一标准接口的,所以它们可以被重用,其他应用程序可以使用它们提供的应用程序接口调用组件,完成所需的操作。

这就是基于ORB的中间件模型。

这种模型完全克服了传统的客户/服务器模型的缺点,具有可重用性、灵活性、可管理性、易维护性等一系列优良的特性。

目前对ORB及其支撑环境--应用程序服务器的研究正是如火如荼,感兴趣的朋友想进一步了解,可以查阅相关文献和资料。

基于ORB的中间件模型虽然在性能上非常优异,但是目前在国内的应用远远没有达到普及的程度,应用最广泛的是基于Web数据库的中间件技术。

下面进行一些探讨。

数据库中间件的工作原理示意图如下:数据库中间件连接客户端程序(通常是应用程序)可数据库,为用户提供可靠便捷的数据库访问。

举一个简单的例子:在一个局域网环境下,使用Delphi编写客户端应用程序,后台数据库使用Ms NT4 +SQL Server,在Delphi中,通过ODBC或者BDE连接到后台数据库。

在此ODBC就是一种标准的数据库中间件,它是Windows操作系统自带的服务。

BDE (Borland Database Engine)不是中间件,因为程序员虽然可以通过BDE和后台数据库相连,但是实际上BDE还是要通过ODBC的。

后面提到的Web环境下的JDBC和ODBC类似,也是操作系统提供的标准数据库中间件。

这是一种传统的结构,这种结构有很多不足之处,例如有很"胖"的客户端,从而造成系统的可扩展性差等。

我们要重点介绍的是基于Web的数据库中间件。

下面是它的工作原理图:这是目前得到广泛应用的一种标准结构。

在这种结构中,用户使用标准的浏览器(如微软公司的IE)通过Internet和http协议访问服务方提供的Web服务器,Web服务器分析用户浏览器提出的请求,如果是页面请求,则直接用http协议向用户返回要浏览的页面。

如果有数据库查询操作的请求(当然也包括修改、添加记录等),则将这个需求传递给Web服务器和数据库之间的中间件,这个中间件当然不是odbc了,由中间件再向数据库系统提出操作请求,得到结果后再返回给Web服务器,Web服务器把数据库操作的结果形成html页面,再返回给浏览器。

在这种结构下,有许多中间件方案可以选择:1、CGI(公共网关接口)公共网关接口是一种Web站点上可以用来访问Web站点的用户交互的各种程序的标准,这里讲的交互主要是允许用户在浏览器上访问数据库,完成各种数数据库的操作。

支持CGI的平台非常广泛,而且开发者在开发CGI程序时,也可以采用任何一种语言,如Perl,C,C++,vb,Delphi等。

CGI有个最大的缺点就是执行效率低,因为Web服务器都支持并发访问,对每个数据查询请求都要启动一个CGI的进程,这样极大的浪费服务器资源。

2、ASP(Active Server Pages)ASP是一种开放的应用程序环境。

它支持将Html脚本和可重用的Active server组件结合在一起构建交互式网页。

所采用的技术主要是微软的组件技术(COM),通过组件ActiveDataObject(ADO)建立和数据库的连接。

另外,ASP可以直接在Html文件中包含可执行的脚本,这样页面文件和脚本的开发就变成了一个过程。

而在使用CGI的时候,程序和页面文件是要在不同的开发环境下进行开发的,这就导致了程序编制和修改的困难性。

3、JSP(Java Server Page)近年来Java的流行想必大家都已经熟知了。

Java是Sun公司开发的一种面向对象的程序设计语言,它和传统的程序设计语言不同,支持多线程控制,而且跨平台。

Java为Internet 应用带来了一场变革。

Sun公司提供了一种标准的访问数据库的Java应用程序接口:JDBC,JDBC定义了Java与数据库之间的接口类库,是Java语言中执行SQL语句的API。

程序设计人员通过它可以方便的建立与数据库的连接,操纵数据库。

JSP综合了中间件和Java的优点:前者的优点在于可以使程序访问异构的数据库,而不必对应用程序作出改动,后者的优点在于具有平台无关行,不需要为不同平台编写不同的应用程序。

也就是同样的程序可以在Windows环境下运行,也可以在Unix或者Linux下运行.JSP的工作方式为:客户端浏览器首先访问Web服务器,从Web服务器上下载Java小程序Apple t的字节码文件,以及相关类和JDBC接口的字节码文件。

然后和Web服务器脱离,Applet根据数据库服务器的地址、端口号、帐号和数据库服务器连接,进行交互操作。

由于JSP技术有可操作性、可维护性、安全性、高效性等一系列优良特性,因此和其他中间件技术相比,有很大的优势。

目前,JSP技术已经越来越广泛的应用到各行各业当中。

相关文档
最新文档