java应用服务器主要为应用程序提供运行环境,为组件提供服务。Java的应用服务器很多,从功能上分为两类,JSP服务器和JavaEE 服务器。相对来说JavaEE 服务器的功能更加强大。
JSP服务器有Tomcat、BejyTiger 、Geronimo、Jetty、Jonas、Jrun、Orion、Resin。
JavaEE 服务器有TongWeb、BESApplication Server 、ApusicApplication Server 、IBMWebsphere 、SunApplication Server 、Oracle的Oracle9i/AS、SunJava System Application Server 、BeaWeblogic 、JBoss、开源GlassFish。
在J2EE应用服务器领域,Jboss是发展最为迅速的应用服务器。它本身就是面向服务的架构(Service-OrientedArchitecture,SOA)。它还具有统一的类装载器,从而能够实现应用的热部署和热卸载能力。因此,它是高度模块化的和松耦合的。
OpenEJB是一个嵌入式,轻量级EJB3.0实现。既可以作为单独服务器使用,也可以嵌入到Tomcat、JUnit、Eclipse、Intellij、Maven、Ant和其它任何IDE与应用程序中。OpenEJB被用于Apple的WebObjects与Apache的Geronimo应用服务器中。
tomcat只是一个JSP的容器,只实现了servlet/jsp引擎,在Tomcat上可以运行JSP应用,但不支持EJB等企业级应用。通过向JSP应用添加一些开源中间件(Axis,Apache MQ,AspectJ),使用一些胶合作用的框架,比如著名的Spring+Hibernate,在Tomcat上也能运行符合J2EE规范的应用。
websphere和Weblogic,我们称为应用服务器。
和tomcat不同,这两个服务器都是需要收费支持的。另外,这两个服务器是EJB服务器,它们不光可以解析JSP应用,还由各自厂商根据J2EE规范实现了J2EE要求的功能,比如JMS、JNDI、WebService等等。与这两个服务器都有配套的开发IDE,比如IBMRAD。在这些IDE的支持下,用户可以方便迅速的开发J2EE应用。Weblogic本身强调的是性能和稳定性等,是一套完整的商业软件。
webSphere是IBM的,tomcat是apache的,weblogic是bea的,现在已经被oracle收购了。
三种都是基于web(B/S)架构的服务器。
JBoss开源,软件免费,收费的是服务。JBoss提供全套的开源J2EE解决方案,整合了若干项目。动态页面服务部分其实就是一个Tomcat。
webservice是一种实现远程方法调用的技术规范,在J2EE里面很复杂,J5EE里面变得简单了很多,但是运行效率不高。
EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB(EnterpriseJavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。在J2EE里,EnterpriseJava Beans(EJB)称为Java企业Bean,是Java的核心代码,分别是会话Bean(SessionBean),实体Bean(EntityBean)和消息驱动Bean(MessageDrivenBean)。
一个Bean扮演着应用程序素材的角色。它包含有一个functionalinterface,一个life-cycleinterface,以及一个实现它所支援的商业方法的类别。
JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可以扩展为一个javaweb 应用的标准部件。