应用中间件有哪些

应用中间件有哪些,第1张

这其实是一个比较虚的概念。广义的中间件范围很广。起沟通作用的都可以认为是中间件。甚至ODBC这样的东西你也可以认为是中间件。
现在用的比较多的中间件应该是BEA公司的tuxedo和IBM公司的weblogic(好象是这个东西),我接触过一点tuxedo。oracle、sun和ms好象也有类似产品,不过用的人很少。tuxedo是这个领域的领导者,不过IBM正在追赶并有可能超过,毕竟,IBM就是IBM。
tuxedo这东西我们用来做数据库和前台应用之间的中间件。
使用了中间件之后,以前直接连接的前台应用程序和数据库之前就多了个tuxedo,现在前台程序把请求发给tuxedo,tuxedo再把请求发给数据库,数据库处理结束之后把结果返回tuxedo,tuxedo再把结果送回给前台。这样一搞,表面看复杂了很多。不过带来一些好处,比如:
安全。tuxedo的服务是定制的,这就有点象是存贮过程,因为应用程序无法直接接到数据库而只能通过tuxedo,所以应用程序无法做tuxedo服务之外的事情。你把你的应用逻辑写在tuxedo中,你就可以保证你的数据是安全的。
性能。有些数据库性能不好,比如oracle一个连接就是好多M,连接数一多,机器内存就没了,有了tuxedo之后,tuxedo负责连接数据库,连接数比较少,tuxedo可以用排队的方式来处理这些数据库请求,这样提高了性能。中间件的高级应用好象还可以把数据库分布在不同的机器上,由tuxedo动态分配前、后台的请求和处理,把它们搞在不同的机器上,所以你用了中间件之后如果后台数据库处理来不及,可以加一台机器,前台请求太多(比如网站)可以加多前台机器。你可以灵活的调整性能。
应用服务器做的人好象就更多了。而且应用服务器这东西和中间件类似(逻辑上)我觉得它应用也是中间件的一种,不过大家一般说中间件都是指的狭义的中间件,就是tuxedo这些。
中间件应用领域很广的。简直大一点的应用都可以用到中间件。国内也有一些开发商自己写中间件,不过好象是自己用,没形成市场。

中间件的主要作用和功能:它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

中间件在 *** 作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

中间件独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的 *** 作系统之上,管理计算资源和网络通信。

中间件应用

1、中间件与电子商务的整合。

Intemet是电子商务发展的基础,让商户可以通过它,把商业扩展到能到达的任意地点。这其中离不开大量的信息传输,而电子商务则使用了浏览器/服务器B/S()的技术来达到大量数据处理的目的。

2、中间件在B/S模式中的架构。

中间件在B/S模式下起到了功能层的作用。当用户从WEB界面向服务器提交了数据请求或者应用请求时,功能层负责将这些请求分类为数据或应用请求,再向数据库发出数据交换申请。

数据库对请求进行筛选处理之后,再将所需的数据通过功能层传递回到用户端。通过如此处理,单一用户可以进行点对面的 *** 作,无需通过其他软件进行数据转换。

中间件,是提供系统软件和应用软件之间连接的软体,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛。如数据库、Apache的Tomcat,IBM公司的WebSphere,BEA公司的WebLogic应用服务器以及Kingdee公司的Apusic等都属于中间件。
严格来讲,中间件技术已经不局限于应用服务器、数据库服务器。围绕中间件,Apache组织、IBM、Oracle(BEA)、微软各自发展出了较为完整的软件产品体系。(Microsoft Servers是微软公司的服务器产品介绍)中间件技术建立在对应用软件部分常用功能的抽象上,将常用且重要的过程调用、分布式组件、消息队列、事务、安全、连结器、商业流程、网络并发、>分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

麻烦详细点,通俗点。

解析:

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于 *** 作系统软件与用户的应用软件的中间。中间件在 *** 作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

在众多关于中间件的定义中,比较普遍被接受的是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。而中科院软件所、国防科技大学等研究机构也对中间件技术进行了同步研究。可以说,在中间件领域,国内的起步时间并不比国外晚多少。

服务器是计算机的一种,它是在网络 *** 作系统的控制下为网络环境里的客户机提供(如PC) 共享资源(包括查询、存储、计算等)的高性能计算机,它的高性能主要体现在高速度的CPU 运算能力、长时间的可靠运行、强大的I/O 外部数据吞吐能力等方面。

服务器的构成包括:处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

在网络环境下,服务器主要为客户机提供:Web应用、数据库、文件、打印、存储、计算等服务。简单的说,服务器就是在网络中为其他客户机提供服务的计算机。

服务器类型:

按照外形结构划分:塔式服务器、机架式服务器、刀片式服务器、高密度服务器、机柜式服务器,五种类型。

按照应用层次划分:入门级服务器、工作组服务器、部门级服务器、企业级服务器

评估中间件掌握方法是关键要选择一个技术上符合要求的中间件既要了解自己的需求,还得能对一个中间件软件作出技术上的评估

我们这里不谈如何了解您的需求,只谈如何对中间件做技术上的评估

随着中间件的广泛应用,最终用户和应用开发商时常面临这个问题

中间件的种类越来越多,单一产品的功能特性又越来越丰富,如果不得要领,就会陷入到无尽的细节之中

因此,掌握方法就非常重要

选择中间件当然不能只关注技术,必须考虑厂商实力、提供的服务、价格等相关因素,但技术上是否满足需要无疑是位居第一位的

以同类中间件的“标准功能”作为参考你完全可以从你的具体需求出发,看看这个软件是否适用,或者好不好

如果你知道你要评估的这一类中间件软件通常具有的功能——我们称它是“标准功能”——你就有了一个可作为参考的依据

你可以看一看你面前的中间件有没有这些“标准功能”,如果没有,是否对你有重要的影响

把握功能需求、非功能需求与技术标准三个方面我们在设计一个软件时,可以把对软件的需求划分成功能需求和非功能需求

功能需求指明软件必须执行的功能,定义系统的行为——即软件在某种输入条件下要给出确定的输出必须做的处理或转换

功能需求通常是软件功能的“硬指标”——如“支持分布式环境中消息的可靠传输”;非功能需求不描述软件做什么,描述软件如何做

非功能需求通常作为软件设计的“软指标”——如“系统具有可伸缩性”

为此,我们可以把功能需求对应的功能称为“功能性特征”,把非功能需求对应的功能称为“非功能性特征”

评估一个中间件软件,最主要的是看这个软件的功能,包括功能性特征和非功能性特征,是否符合我们的要求,或者符合大多数人的通常要求

如果你知道某一种中间件软件的“标准功能”,你可以进一步把它分成“功能性的特征”和“非功能性特征”

如果你不知道,你只需从你的需求出发,研究一下你面前中间件的“功能性特征”和“非功能性特征”是否满足你的功能需求和非功能需求

中间件是处于支撑地位的通用软件,其技术的标准化具有重要意义

中间件对技术标准的支持表现为使用标准的API、使用标准化的技术和实现标准化的功能等几个方面

中间件支持标准通常意味着用户和应用对厂商的依赖更小、应用开发人员学习使用一种新产品更容易,中间件软件可以和更多的系统互 *** 作,技术更开放

因此,评估一个中间件不仅要看它是否具有某项功能,还要看这个功能是否使用了标准的技术

功能性特征是中间件的基本特征中间件的功能性特征是一种中间件软件的基本特征

不同种类的中间件的差异首先表现为基本功能的不同,因此我们不能总结出一套适合所有中间件门类的、一般性的“功能性特征”

对于某一个具体的中间件软件,我们能够把它的功能性特征提取出来

我们假定某一中间件定位于解决分步式环境中消息的发送者和接收者之间消息传输、管理和控制问题,该软件提供了多种消息交换方式、支持多种消息类型,提供可靠传输等服务质量控制机制,该软件支持多系统平台,支持高吞吐量的业务处理很显然,我们可以把“提供多种消息交换方式、支持多种消息类型,提供可靠传输等服务质量控制机制”看成是该中间件的功能性特征,而把“支持高吞吐量的业务处理”作为非功能性的特征

如果中间件的选择者能够从自己的需求中归纳出对中间件的“功能需求”,就可以把它们和面前的中间件的功能性特征做一下对照

功能性特征一般比较容易测试,因而也比较容易验证

非功能性特征是跨中间件的共性特性软件的“非功能需求”是软件需求的重要方面

中间件软件的“非功能性特征”也是中间件功能的重要方面

事实上,中间件软件的非功能性特征是跨中间件种类的、非常重要的一般性特征,是中间件软件功能强大的表现

我们这里采用了在2000年的《中间件——达成灵便的电子商务的技术基础》一文中对成功的中间件的共性特征的归纳(做了一点裁减):许多情况下,非功能性和功能性并非有严格的界线

比如,对于消息中间件来说,可靠传输一定是功能性的特征;对于其它的中间件未必如此;对于安全中间件来说,安全不能算作非功能性特征

非功能性特征一般比较难以测试,但仍然是一定程度可测试的

支持标准对于中间件必可缺少面向消息的中间件一直以来缺乏技术标准/规范

自从J2EE制定出基于Java的Java消息传输服务(JMS)以后,人们对消息中间件的技术要求就有多了一项内容

相比较而言,事务处理监控程序(交易中间件)相关的技术规范就要多一些,主要是X/OPEN(现称为OPENGROUP)的分布式事务处理系列规范,包括TPM的架构、应用与TPM的接口及事务提交管理协议等重要内容

对于J2EE应用服务器,技术规范的影响就更大

我们甚至可以说,J2EE应用服务器的功能体现在了对技术标准和规范的支持上

标准/规范虽然重要,我们不可迷信,唯标准是从

因为,第一,“标准”可能仅是建议性的,并非所有的厂商都会遵守;第二,“标准”可能是妥协的结果,只是将提交的多个可选内容统统收入,各项内容甚至不能互换;第三,“标准”可能是不完整的,仅仅实现了标准要求的内容可能意味着欠缺重要的功能

比如,X/OPENDTP模型中定义的应用与TPM的接口就是妥协的结果

所谓“标准”就是两个厂家提交的完全不同的建议的罗列,两者完全不能互换

事实上也未见第三家厂商遵从上述的“标准”

这样的“标准”也只咎由自取参考意义

在看JMS,JMS当前规范只涉及一个消息服务器,规范只保证该服务器的客户方都使用一个一致的接口

如果厂商只是实现了JMS规范定义的内容,那么它就必不能支持服务器到服务器之间的可靠传输,其功能就会大打折扣

无论是用户还是中间件厂商,对标准都不应该迷信

中间件对标准的支持一般会体现在软件的功能性特征上,多数情况下是可测试和验证的

中间层 (Middle Tier)也称作“应用程序服务器层或应用服务层”,是用户接口或 Web 客户端与数据库之间的逻辑层。典型情况下 Web 服务器位于该层,业务对象在此实例化。中间层是生成并 *** 作接收信息的业务规则和函数的集合。它们通过业务规则(可以频繁更改)完成该任务,并由此被封装到在物理上与应用程序程序逻辑本身相独立的组件中。请参见客户端层、数据源层。
三层网络结构指的是将数据处理过程分为三部分:第一层是客户端(用户界面层),提供用户与系统的友好访问;第二层是应用服务层(也叫中间层),专司业务逻辑的实现;第三层是数据源层(数据服务层,数据库系统),负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务层,大大降低了客户端负担,因此也成为瘦客户(Thin Client)结构,三层结构在传统的二层结构的基础上增加了应用服务层,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。三层结构将表示部分和业务逻辑部分按照客户层和应用服务层相分离,客户端和应用服务层、应用服务层和数据库服务层之间的通讯、异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务层的业务逻辑改变时,客户端并不需要改变,反之亦然,大大提高了系统模块的复用性,缩短开发周期,降低维护费用。

文件服务器、数据库服务器、邮件服务器。
文件服务器是指在计算机网络中,以文件数据的存储与共享为主要功能的服务器,负责中央存储和数据文件管理,处于同一网络环境。数据库服务器因为数据文件的重要性及数据的文件都较大,数据库服务器一般是指运行在网络中的一台或多台服务器和数据库管理系统软件,邮件服务器。
文件服务器(Fileserver),又称档案伺服器,是指在计算机网络环境中,所有用户都可访问的文件存储设备,是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/13310324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-12
下一篇 2023-07-12

发表评论

登录后才能评论

评论列表(0条)

保存