Tomcat、WebLogic、Websphere、Jboss为啥被称作中间件?应怎么理解?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat、WebLogic、Websphere、Jboss为啥被称作中间件?应怎么理解?相关的知识,希望对你有一定的参考价值。

简单来说,中间件就是操作系统和应用程序之间的桥梁。没有中间件,你写出来的应用程序(主要是web application 和 J2EE )就无法运行

我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。但随着IBM大机环境越来越少,但是盛行一时的此类中间件如今已经很少再被单独提及。

2000年前后,互联网盛行起来,随之产生了一个新的东西,就是应用服务器。实际上,交易中间件也属于是应用服务器,为了区分,人们传统的交易中间件称为分布交易中间件,因它主要应用在分布式环境下,而将新的应用服务器,称为J2EE中间件,到目前为止,这都是市场上非常热门的产品。

EAI概念出来之后,市场上又推出了一些新的软件产品,,例如工作流、Portal等,但从分类上不知道怎么归类,向上不能够划归应用,往下又不能归入操作系统,于是就把它归入了中间件,如此中间件的概念更加扩大了。目前,市场上对于中间件,各家的说法不一,客观上也导致了理解上的复杂性。

如今,市场上又推出了很多新的概念,例如三层结构、构件、Web服务,其中风头最劲的当属SOA(面向服务的架构)。实际上,他们都不是一个产品,而是一种技术的实现方法,是开发一个软件的一种方法论。我们知道,最早软件开发方法就是编程、写代码的,其缺点在于无法复用,为此提出了构件化的软件开发方法,通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如我们开发一个新软件,可能要用到构件1、构件2、构件3,那么,我们只要对其进行本地组装,就可以得到我们想要的应用软件。在互联网得到普及重视之后,软件开发方法在构件化基础上又有新发展,核心思想是软件并不需要囊括构件,所需要的仅仅是构件的运行结果,例如编写一个通信传输软件,就可以到网上寻找构件,并提出服务请求,得到结果后返回,而不需要下载构件并打包,这就是现在所说的SOA。想要现实SOA,就要规范构件接口,同时还要规范构件所提交的服务结果,如此,新的软件开发的思想才能够行的通。但SOA并不是一个产品,而是一种思想方法,而实现这种方法的基础,如今看来只有中间件。

那么,到底什么才是中间件,什么不是中间件?从东方通科技的观点看,中间件应该具备两个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作系统的层面,并却保持运行工作状态,具备了这样两个特征才能称为中间件。现在很多人把开发工具也称为中间件是不合适的,因为开发工具开发出来的软件,并不依赖开发工具与底层操作系统连接。
参考技术A Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

webserver是用来构建网站的必要软件。可用来解析、发布网页等功能,它是用纯java开发的。

WebSphere 是一个模块化的平台,基于业界支持的开放标准。您可以使用受信任和持久的接口,将现有资产插入 WebSphere,并且可以随着需要的增长继续扩展您的环境。

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。

中间件就是起到桥梁的作用的,目前国内专业做中间件的厂商并不多,比较出名的有方正飞鸿中间件!
参考技术B 简单通俗的说就是信息交换的软件(中间桥梁)

这里只是 客户机与服务器交换信息
参考技术C 不好意思帮不了你···

tomcat下正常,weblogic发布后无法进入登陆页面,错误代码如下,求大侠指点

Error 500--Internal Server Error

java.lang.NullPointerException
at java.io.File.(File.java:222)
at com.dareway.ostm.webapp.taglib.CssTag.existsFile(CssTag.java:93)
at com.dareway.ostm.webapp.taglib.CssTag.getData(CssTag.java:75)
at com.dareway.ostm.webapp.taglib.CssTag.doStartTag(CssTag.java:46)
at jsp_servlet.__login._jsp__tag4(__login.java:324)
at jsp_servlet.__login._jspService(__login.java:142)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

参考技术A at jsp_servlet.__login._jsp__tag4(__login.java:324)
at jsp_servlet.__login._jspService(__login.java:142)

login.jsp里面有错误

以上是关于Tomcat、WebLogic、Websphere、Jboss为啥被称作中间件?应怎么理解?的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat、WebLogic、Websphere、Jboss为啥被称作中间件?应怎么理解?

将应用程序从websphere迁移到tomcat

项目从tomcat6放到weblogic11g上,启动报错

tomcat下正常,weblogic发布后无法进入登陆页面,错误代码如下,求大侠指点

Tomcat war包部署

JAXB 在 websphere 或 weblogic 上的工作方式不同?