9512.net
甜梦文库
当前位置:首页 >> IT认证 >>

中间件技术的简介



中间件技术的简介

1.1 两层结构与三层结构

长期以来,我们一直使用着"客户端/服务器"的两层结构,这种两层的结构曾让无数人 为之兴奋和惊叹,即客户端提供用户界面、处理业务逻辑,数据库服务器接受客户端 SQL 语句并对数据库进行查询,更新等操作,然后操作结果返回给客户端,如图所示。

客户端

用户界面和 业务逻辑 客户端

数据库

客户端

在一个比较简单的计算机应用系统中,采用两层体系结构的确给人们带来了相当的灵 活性。但随着计算机应用水平的飞速发展、企业信息化水平的不断深入、企业客户的不断增 加,以及新业务的不断出现,越来越多的用户对计算机应用系统提出了更高的要求:
1. 要能够同时支持成千上万乃至更多用户的并发服务请求 2. 由单一的局域网向跨多个网络协议的广域网扩展 3. 不仅要支持一般的信息管理,而且还要支持关键业务的联机交易处理 4. 从支持单一的系统平台和数据源转向支持异构的多系统平台和多数据源 面对用户的新需求,二层结构的应用模式由于采用客户机与服务器直接联接的方式形成了其固 有的一些缺陷: 1. 难以维护 client/server 结构用户界面、业务逻辑和数据逻辑相互交错,通常在第一次部署的时候比较 容易,但难于升级或改进,而且经常基于某种专有的协议(通常是某种数据库协议) 。它使得重 用业务逻辑和界面逻辑变得非常困难。 2.难以扩展 随着系统的升级,系统复杂程度大大增加,难以扩展,另外它是一个封闭的系统,很难与其他 的应用系统实现互操作。 3.安全性差 客户端程序可以直接访问数据库, 可通过编程语言或数据库提供的工具直接对数据库进行操作,

不安全 4. 性能不好 客户端直接与数据库建立连接,当有大量的并发用户存在时,会使数据库不堪重负,性能迅速 下降,甚至当机。

三层结构 为解决传统二层模式与应用需求日益突出的矛盾,以交易中间件为基础框架的三层应用模 式应运而生,三层结构以中间层管理大量的客户端并为其联接、集成多种异构的服务器平台, 通过有效的组织和管理,在极为宽广的范围内将客户机与服务器进行高效组合。同时中间件开 创的以负载平衡、动态伸缩等功能为代表的管理模式,已被广泛证实为建立关键业务应用系统 的最佳环境,使在二层模式下不可能实现的应用成为可能,并为应用提供了充分的扩展余地。 这种模式的成功应用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金 钱。由此促使越来越多的系统开发商和用户采用三层结构模式开发和实施其应用。 三层客户机/服务器模式的核心概念是利用中间件将应用的用户界面、 业务逻辑和数据逻辑 分为三个不同的处理层,如图所示.

客户端

客户端

应用 服务器

数据库

客户端

1. 表示层(用户界面) :它的主要功能是实现用户交互和数据表示,为以后的处理收集数据, 向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。这一层通常采用 VB,PB, DELPHI 等语言编写,或采用浏览器实现 2. 中间层(业务逻辑) :实现整个应用系统核心业务逻辑,通常把业务逻辑划分成一个个独立 的模块,用中间件提供的 API 结合数据库提供的编程接口实现。客户端通过调用这些模块 实现相应的业务操作。 3. 数据层(数据逻辑) :数据库负责管理整个应用系统的数据资源,完成数据操作。中间层上 应用程序在处理客户端的请求时,通常要存取数据库。 随着市场竞争的日益加剧和企业电子信息化建设的不断深入,高度灵活、能快速部署新服 务和新应用的三层结构应用系统将成为企业信息化的必由之路。采用以中间件为基础的三层结 构来架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式 系统成本低、可扩展性强、开发周期短等优点。可以很好解决两层结构所面临的问题。中间件 作为构造三层结构应用系统的基础平台,在三层结构中起着关键的作用,下一节我们将对中间 件技术做一个概括性的介绍。

1.2 中间件技术简介 什么是中间件 随着计算机技术的发展,IT 厂商出于商业和技术利益的考虑,各自产品之间形成了差异,技术 在不断进步,但差异却并没有因此减少。计算机用户出于历史原因和降低风险的考虑,必然也 无法避免多厂商产品并存的局面。 于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软 件开发与工作的复杂性,就成为技术不断进步之后,人们不能不面对的现实问题。 显然,由一 个厂商去统一众多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去弥 补其中的大片空档,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运 而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。 在中间件产生以前,应用 软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越 复杂,开发者不得不面临许多很棘手的问题: 1. 一个应用系统可能跨越多种平台, UNIX, 甚至大机, 如 NT, 如何屏蔽这些平台之间的差异? 2. 如何处理复杂多变的网络环境,如何在脆弱的网络环境上实现可靠的数据传送? 3. 一笔交易可能会涉及多个数据库,如何保证数据的一致性和完整性? 4. 如何同时支持成千上万乃至更多用户的并发服务请求? 5. 如何提高系统的可靠性,实现故障自动恢复和故障迁移。保证系统 7*24*52 可用。 6. 如何解决与已有应用系统的接口。 这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人 提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复 用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。 中间件(middleware)现在是与操作系统,数据库并列的 3 大基础软件之一,顾名思义,中间 件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用 软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、 高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接受的是 IDC 的定义:中间件是一种独立的系统软件 或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服 务器的操作系统之上,管理计算资源和网络通信。 IDC 对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要 实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 最早具有中间件技术思想及功能的软件是 IBM 的 CICS,但由于 CICS 不是分布式环境的产物, 因此人们一般把 Tuxedo 作为第一个严格意义上的中间件产品。Tuxedo 是 1984 年在当时属于 AT&&T 的贝尔实验室开发完成的, 但由于分布式处理当时并没有在商业应用上获得像今天一样 的成功,Tuxedo 在很长一段时期里只是实验室产品,后来被 Novell 收购,在经过 Novell 并不 成功的商业推广之后,1995 年被现在的 BEA 公司收购。尽管中间件的概念很早就已经产生, 但中间件技术的广泛运用却是在最近 10 年之中。BEA 公司 1995 年成立后收购 Tuxedo 才成为 一个真正的中间件厂商,IBM 的中间件 MQSeries 也是 90 年代的产品,其它许多中间件产品也 都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时 期。 东方通科技早在 1992 年就开始中间件的研究与开发, 1993 年推出第一个产品 TongLINK/Q。 可以说,在中间件领域国内的起步时间并不比国外晚多少。

中间件的作用: 中间件的作用: 的作用 具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发 环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件 上的移植而重复工作,从而大大减少了技术上的负担。 中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和 管理的工作量,还减少了计算机总体费用的投入。Standish 的调查报告显示,由于采用了中间 件技术,应用系统的总建设费用可以减少 50%左右。在网络经济大发展、电子商务大发展的今 天,从中间件获得利益的不只是 IT 厂商,IT 用户同样是赢家,并且是更有把握的赢家。 其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发应用 软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做 不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍 然物有所用,节约了大量的人力、财力投入。

中间件的分类 的分类: 中间件的分类: 中间件技术已经日渐成熟,并且出现了不同层次、不同类型的中间件产品。大致可分为以下几 类: 消息中间件(Message Orient middleware: MOM) 消息中间件 将数据从一个应用程序发送到另一个应用程序,这就是消息中间件的主要功能。 它要负 责建立网络通信的通道,进行数据的可靠传送。保证数据不重发,不丢失,消息中间件的一个 重要作用是可以实现跨平台操作,为不同操作系统上的应用软件集成提供数据传送服务。它适 用于进行非实时的数据交换,如银行间结算数据的传送.主要的产品有:IBM MQSeries BEA MessageQ BEA Tuxedo /Q MicroSoft MSMQ 东方通科技 tonglink/q。 交易中间件(Transaction Processing: TP) 交易中间件 交易中间件也和消息中间件一样具有跨平台,跨网络的能力,但它的主要功能是管理分布于不同 计算机上的数据的一致性,协调数据库处理分布式事务,保障整个系统的性能和可靠性。交易中 间件所遵循的主要标准是 x/open dtp 模型。它适用于联机交易处理系统,如银行的 ATM 系统, 电信的计费营收系统.主要产品有:BEA TUXEDO, IBM CICS,东方通科技 tongeasy 对象中间件(Object Momitor) 对象中间件 对象中间件也叫 Object TP Momitor,它一般也具有交易中间件的功能,但它是按面向对象的模式 来组织体系结构的,在线的电子交易很适合采用这种中间件类型.因为这种类型的应用会被频繁 的修改,面向对象的体系结构可以保持足够的弹性来应付这种改动.提到面向对象的中间件,就不 得不提到对象请求代理(Object Request Brokers: ORBs),现在有 3 种对象请求代理体系结构 ,CORBA,EJB,COM+,ORBs 是一组协议或是标准,现在的对象中间件都是按照上面三种体系结构 的 某 一 种 来 构 造 的 . 如 : Borland VisiBroker,MicroSoft Transaction Server,IONA orbix,IBM componentbroker,东方通科技 tongbroker

应用服务器(Application Server) 应用服务器 应用服务器主要用来构造基于 WEB 的应用,是企业实施电子商务的基础平台。它一般是基于 J2EE 体系结构。让网络应用的开发、部署、管理变得更加容易。使开发人员专注于业务逻

辑。主要的产品有 BEA weblogic IBM webspere,Borland AppServer 等,还有一些开放源代码的 J2EE 应用服务器,如 JBOSS 等.
企业级应用集成(Enterprise Application Intergration : EAI) 企业级应用集成 一个大型企业内部往往有很多的计算机应用系统,EAI 可用于对这些系统进行有效的整合。使 它们之间能够互相访问,实现互操作。EAI 所提供的上层开发工具或许是 EAI 和其他中间件最 大的区别,它允许用户自定义商业逻辑和自动使数据对象符合这些规则.EAI 的典型用户是那些 巨型企业的大量应用系统的整合,主要的产品有 BEA ELINK, BEA WLI 等. 安全中间件(Security Middlewares) 安全中间件 近几年,随着互联网的发展,信息安全越来越受到普遍关注,安全中间件也应运而生。 安全中间件是以公钥基础设施(PKI)为核心的、建立在一系列相关国际安全标准之上的一个开 放式应用开发平台, 向上为应用系统提供开发接口, 向下提供统一的密码算法接口及各种 ic 卡、 安全芯片等设备的驱动接口。主要产品有:ENTRUST entrus,东方通科技 tongsec 等。 上面对中间件的分类描述并不是一个很严格的定义,只是一个大致的划分,中间件是一个快速发 展的技术,市场越来越大,除了上面提大的大型厂商提供的通用产品,还有很多小公司专注于专有 的领域,为客户提供面向某一领域,更加符合客户需求的中间件产品.如: 清华北美的 THMT,JAVATS,青牛公司的 CT-USE 等。

使用中间件带来的好处 世界著名的咨询机构 Standish Group 在一份研究报告中归纳了中间件的十大优越性:

1. 缩短投放市场所需时间 缩短投放市场所需时间-时间因素绝对是所有项目的首要问题。 自行建立软件基础结构耗时 长,使用现成的基础结构软件则可以将软件开发时间缩短 25%-50%。如果应用系统每月可 带来100万美元的利润或节省100 万美元的开销,那么软件开发时间缩短的每一个月就相当 于在银行存入100 万美元。

2. 节省应用开发费用 节省应用开发费用-Standish组织调查100 个关键任务应用系统,对其编码中的业务/应用 部分的代码量和基础结构部分的代码量进行评估。结果表明:只有少于30% 的代码与应用/ 业务有关, 而其余部分均归属于基础结构! 如果使用现成的基础结构, 费用可节省25%-60%。 对于一个200万美元的项目而言,这意味着将节省50万-120万美元。

3. 减少系统运行开销 减少系统运行开销-一个不采用商用中间件产品部署的系统,其初期购买及运行费用将加 倍。许多大企业由于采用中间件产品而在硬件及软件方面节省了大量的投资。一个 200 万 美元的项目因此将只需花费100 万,而其中还包括了中间件的投资。

4. 降低失败率 降低失败率-Standish市场组织对项目失败的定义为项目被取消或没有完成预期的预算、 交 付使用时间以及业务要求等目标。调查表明自行开发中间件的项目失败率高达 90% 以上, 可见这种做法是十分危险 的。其结果可能由100%推翻重来,以至于1000%超出预算。

5. 提高投资效率 提高投资效率-采用中间件产品既能保护现有投资,又能提高投资效率。通过使用中间件产 品,用户可以建立专有系统以外的应用程序,不但扩展了主机应用,而且还能将主机应用 与整体系统实现无缝连接。许多企业发现其在两层客户机 / 服务器结构下建立的新 的应 用系统并不能在 Internet上运行,而已被淘汰的应用程序则更适合 Internet。采用中间 件技术可以恢复被 Internet淘汰 的应用程序的生命,该费用将大大低于应用程序重新开 发的费用。这笔费用通常会在数十万美元到数亿美元之间。

6. 简化应用集成 简化应用集成-使用中间件产品,现有应用程序、新开发应用程序以及所有其他购买软件均 能实现无缝集成。从而能够从开发、投放市场时间两方面节约数百万美元的开支。

降低软件维护费用-自行开发基础结构成本很高,维护时则更会变本加厉。对于自行开发的 7. 降低软件维护费用 基础结构,其年维护费可达开发费用的15%-25%;而应用程序的维护费则达到开发费用的 10%-20%。以一个200 万美元的项目为例,其中120万用于基础结构建立,其年维护费为18 万-28万美元。而购买现成的中间件仅需项目总成本的15%-20%,依购买规模和供应商的不 同还有可能大大低于该价格。

8. 高质量 高质量-在自行建立中间件的应用系统中,每次将新的应用组件加入系统时,相应的新的中 间件模块被加入到当前的中间件之上。在一 个实际的应用系统中, Standish集团发现其 使用了17000 个应用接口。而商用中间件产品则具有清晰的接口层次,从而大大降低新系 统及原有系统的维护成本。此外,由于商用中间件支持数百万的交易吞吐量,其质量远远 高于用户自行开发的中间件产品。

9. 保证技术革新 保证技术革新-除了需对自行建立的中间件进行维护,还需对其进行技术革新,而这似乎不 太现实。而从第三方购买的中间件产品则会随着其所属公司对其进一步的投资不端得到增 强。采用具有层次接口设计的中间件产品,将能节省时间和费用。

10. 增强应用程序吸引力 增强应用程序吸引力-由于中间件提供了一个灵活的平台,许多新功能、新特性均可以在应
用系统中得以建立。

中间件的市场前景 据 IDC 预测:到 2002 年全球中间件市场销售额将达到 80 亿美元; 建立在中间件基础上的通用组 件销售额也会增加至 70 亿美元。 在中国,1998 年中间件市场总值达 12.34 亿美元; 1999 年为 17 亿美元; 到 2004 年将达到 90.3 亿美元,年增长率为 39.7%,远远高于软件业的平均增长水平。



更多相关文章:
中间件技术原理与应用复习资料
第一章 1、简述中间件的概念、组成结构和作用。 定义:中间件是介于应用系统和系统软件之间的一类软件,是位于 操作系统和应用软件之间的一个软件层,向各种应用软件...
中间件介绍
中间件介绍_计算机软件及应用_IT/计算机_专业资料中间件的相关资料 ...在已有的 IP 负载均衡技术中,主 要有通过网络地址转换(Network Address ...
浅谈中间件
浅谈中间件_计算机软件及应用_IT/计算机_专业资料。一、前言 客户机/服务器已经...代之于 Web 技术、对象技术、数据仓库技术等新的概念和结构,但是,实际上 客户...
数据库中间件高级技术支持服务说明
数据库中间件高级技术支持服务说明_计算机软件及应用_IT/计算机_专业资料。数据库中间件高级技术支持服务说明 标准提升品质 服务创造价值 数据库和中间件技术支持 服务...
物联网中间件介绍
物联网中间件介绍_IT/计算机_专业资料。物联网被誉为本世纪最有影响的技术革命和改变世界的技术,开展物联网的相关研究,具有重要的社会、经济意义和长远的战略意义...
SAP系统中间件技术应用
SAP系统中间件技术应用_计算机软件及应用_IT/计算机_专业资料。SAP中间件技术在CRM与ERP数据交互中的应用。作者:周清湘、岳帅。SAP 系统中间件技术应用 2013-07-15...
weblogic中间件介绍_图文
weblogic中间件介绍_计算机软件及应用_IT/计算机_专业资料。目录一、Weblogic11g ...可以根据技术或者是业务需要对其进行配置和管理,即使是在部署应用程序之后或在生产...
中间件厂商及产品
中间件厂商及产品_销售/营销_经管营销_专业资料。选填,简要介绍文档的主要内容,方便文档被更多人浏览和下载。东方通科技是中间件平台技术与业厂商, 是信息产业部电子...
中间件
中间件_计算机软件及应用_IT/计算机_专业资料。常用的中间件整理。webSphere...WebSphereChina 是 WebSphere 技术应用与开发的专业站点,能为您带来实际帮 助, ...
XX数码Oracle中间件技术服务内容介绍
Fundamentals of J2EE Web Application Development Using ORACLE 中间件 Weblogic Server(WLSD11) 课程时间:5 天 课程概述:介绍J2EE和Weblogic Server的核心服务 · ...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图