什么是中间件,什么又是应用服务器?

什么是中间件,什么又是应用服务器?,第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这些。中间件应用领域很广的。简直大一点的应用都可以用到中间件。国内也有一些开发商自己写中间件,不过好象是自己用,没形成市场。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

麻烦详细点,通俗点。

解析:

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

应用服务器中间件:为政府和企业信息化提供SOA基础设施;

工作流中间件:致力于解决部门内部、特别是部门之间业务协同的问题;通过流程将资源进行整合,实现业务流程自动化、配置化和定制化,以快速适应内、外部环境的变化;通过对业务流程仿真、分析和优化,实现规范化、量化和精细化管理。金税三期工程用到工作流,指定厂家是中创中间件;

企业服务总线:致力于解决业务系统之间的数据整合与信息共享;

物联网中间件:作为联接物联网应用层和感知层之间的桥梁和纽带;

分布对象中间件:以分布对象技术为基础,不仅能够支持应用集成框架的建立,满足协同工作的需求,而且建立了多层次的软构件框架,更加便于应用领域框架及领域构件的开发。它也支持以构件形式实现集成平台的系统管理和公共服务,使系统具有良好的开放性和扩展性;

另外还有些安全类产品,如防篡改、统一监管平台、数据库审计等

常见的中间件有:我们经常管中间件叫做中间件服务器,也会叫作应用服务器。正常情况下一次web的访问顺序是:web浏览器---web服务器(W3的那个,非广义)---web容器---应用服务器---数据库服务器。
本地开发经常使用的应用服务器就是tomcat,linux系统经常使用的是jetty或apachehpptd,大型的项目就用的JBOSS或webloigc。
小项目,或者是个人开发tomcat大项目或者商业项目采用:weblgoic/webshere其他的还有jboss、glasshfish等,一些示例项目或者小项目常采用jetty。
Tomcat:是Sun的JSWDK(JavaServerWebDevelopmentKit)中Servlet的运行环境(servlet容器)。Tomcat是ApacheJakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(JavaServerWebDevelopmentKit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业JavaServlet容器的特性,并被一些企业用于商业用途。
JBoss:是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web *** 作系统(operatingsystemforweb),它体现了J2EE规范中最新的技术
WebLogic服务器:是企业级的应用服务器,支持EJB,集群以及ERP(企业资源计划)的连通性,开发公司:BEA。

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的 *** 作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。
中间件是介于 *** 作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,交易中间件,应用服务器等。由于介于两种软件之间,所以,称为中间件。
Linux系统常用的中间件
1、tomcat
是一款java语言servlet规范的服务器软件适用于本地开发,小项目,或者是个人开发(免费的开放源代码的Web 应用服务器),Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet,但是Tomcat处理静态[HTML]的能力不如Apache服务器
2、weblogic
大项目或者商业项目,Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,是美国bea公司出品的一个基于j2ee架构的中间件。
3、jetty
一些示例项目或者小项目常(开源的servlet容器),是使用Java语言编写的,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使[自动化测试]不再依赖外部环境,顺利实现自动化测试
4、JBoss
管理EJB的容器和服务器(开放源代码的项目),JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发
5、WebSphere
IBM 的软件平台,它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。


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

原文地址: https://outofmemory.cn/zz/13391996.html

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

发表评论

登录后才能评论

评论列表(0条)

保存