为满足企业级市场日益增长的需求,JBoss公司从2003年开始就推出了24*7、专业级产品支持服务。同时,为拓展JBoss的企业级市场,JBoss公司还签订了许多渠道合作伙伴。比如,JBoss公司同HP、Novell、Computer Associates、Unisys等都是合作伙伴。
在2004年 6月,JBoss公司宣布,JBoss应用服务器通过了Sun公司的J2EE认证。这是JBoss应用服务器发展史上至今为止最重要的里程碑。与此同时, JBoss一直在紧跟最新的J2EE规范,而且在某些技术领域引领J2EE规范的开发。因此,无论在商业领域,还是在开源社区,JBoss成为了第一个通过J2EE 1.4认证的主流应用服务器。JBoss应用服务器已经真正发展成具有企业强度(即,支持关键级任务的应用)的应用服务器。
展望下一代JBoss应用服务器,其重点关注的是EJB 3.0。当前,J2EE 1.4规范使用了EJB 2.1。其中,EJB 3.0的主要目标是简化EJB模型,即用户能够更容易开发EJB组件,并且能够在EJB容器外部测试EJB组件。EJB 3.0规范草案已经于2004年6月推出。JBoss公司一直在积极参与EJB 3.0规范的制定,并且在为EJB规范的发展贡献自己的力量。其中,Gavin King(Hibernate[1]的创立者)和Bill Burke(JBoss公司的首席架构师)已经为EJB 3.0规范草案贡献了很多内容。
JBoss公司于2004年10月初发布了基于JBoss应用服务器实现的EJB 3.0预览版。尽管EJB 3.0规范草案还处于初期发展和评审阶段,但这为J2EE社区测试EJB 3.0、并提供反馈信息提供了很好的机会。这也证实了JBoss是一家创新型公司。JBoss一直在引领技术规范的发展。
Hibernate已经成为了事实上的持久化引擎。JBoss公司致力于将自身发展成为开源项目的社区,比如招募Gavin King和许多Hibernate开发者。其中,最新版的JBoss应用服务器已经将Hibernate集成为JMX MBean服务。这使得用户能够在应用服务器环境中直接使用Hibernate,而不管它是否处于J2EE上下文中。
从2003年开始,JBoss启动了JBossCache项目。JBossCache是基于内存的、可复制的、事务性的缓存系统,并且具有持久化状态存储管理能力。它受到极大的关注。用户能够在JBoss应用服务器或其他应用服务器中,或单独使用JBossCache。同时,它提供的基于JBossAOP的AOP模块能够在可复制环境中实现细粒度、域级别复制,而且能够透明地管理复杂对象。在最新版的JBoss应用服务器中,用户能够直接通过JMX MBean服务访问到JBossCache提供的服务。
JBoss应用服务器5.0于2008年12月6日正式发布,新版应用服务器的模块化更强,可配置性更高。JBoss应用服务器5.0最终版完全兼容Java EE 5.0规范,具有一个微型内核和容器,支持OSGi和REST。
版本
JBoss4
JBoss4包括web服务器(servlet/JSP容器,HTML服务器)、EJB2.0容器。完整的纯Java的数据库引擎,(Java消息服务)JMS,JavaMail,和Java事务处理API/Java事务处理服务(JTA/JTS)支持。早期的JBoss使用了ApacheTomcatWeb服务器,但在JBoss4.0中已经把Apache Tomcat内嵌到JBoss中了。后续又集成Java数据对象(JDO),对于JMS多点传送机制支持的修补,对J2EE1.4的完全实现和分布式事务机制。
JBoss的应用服务器控制和配置-JMX机制,运行一次可以部署所有的组件和服务。资源属性和可配置参数可以通过MBeans(可控制beans)映射和更改,这些控制可以在 JBoss的控制台进行设置。一旦我们的servlet-based的应用程序被部署,JBoss就自动安装一个部署MBeans,这个MBeans会被添加到JMX控制台的导航菜单中。通过这个MBean就可以部署或卸载WAR应用程序,或查看应用程序相关的属性。
Jboss4基于Jboss3.2,在J2EE标准特性方面,主要的改进包括:
· JBoss 4.0是业界第一家取得正式J2EE1.4认证的应用服务器,完全符合规范的J2EE标准
· 完全支持J2EE web services(JAX-RPC方式和WS4EE架构方式)和SOA
· 支持AOP模型,JBoss Aop极大的提高了生产力
· 与Hibernate紧密集成
· 通过一个内建的Caching构架提升集群功能和分布式Caching(TreeCache)
JBoss4完全遵循J2EE1.4标准,所以允许开发者在不同的应用服务器上重用J2EE组件(如EJB等),比如可以轻易的将部署在Weblogic或Websphere上的EJB迁移到JBoss上来,JBoss4比JBoss3.2实现了下面几个新的J2EE标准:
· JBoss4支持J2EE Web Services,包括JAX-RPC和J2EE架构的Web Services,使用EJB提供安全的Web Service环境,它是基于J2EE的SOA实现。JBoss3.2中旧的JBoss .NET Web Services API不再支持,新的Web Service实现是WS BasicProfile-1.0 compliant
· JBoss4实现JMS1.1替代了JBoss3.2中的JMS1.0
· JBoss4实现了JCA (Java Connector Architecture) 1.5替代了JBoss3.2中的JCA1.0
· JBoss4实现了新的Java Authorization Contract for Containers (JACC),JACC是JAVA2一个基本的权限机制,为访问EJB方法和web资源赋予授权描述,即J2EE应用服务器和特定的授权认证服务器之间定义了一个连接的协约,新的实现在语法上基于JBoss3.2,使用认证过的Subject声明Roles,认证与JAAS的authentication保持一致。并且security配置,JBoss4和JBoss3.2兼容
· JBoss4实现了EJB2.1规范.替代了JBoss3.2中的EJB2.0规范
JBoss 4特性:
1. JBoss4.2必须需要安装jdk5
2. JBoss Ejb3默认被安装
3. JBoss的web容器使用JBoss Web v2.x (集成tomcat6)
4. deploy/jboss-web.deployer 目录替换了原先的deploy/jbossweb-tomcat55.sar
5. JBoss Transactions v4.2为默认的事务管理器
6. JBoss WS提供web service功能
7. JGroups/JBossCache支持 channel multiplexing
8. JBoss Remoting更新到stable 2.2.x,JBossMQ(JBoss4.0使用)为默认JMS实现,但是可以使用JBoss Messaging替换。
9. EJB调用方式 由 rmi-invoker替换为JBoss Remoting 的 unified-invoker
10. log4j 和 commons-logging 升级到新版本
JBoss5
第二代基于服务的架构:核心的JBoss Microcontainer可以在多种编程和组件模型上提供改进后的级别加载、性能、生命周期管理和灵活性,其中包括Java EE、多种POJO、OSGi、Spring Framework和传统的现场和云操作环境。这种Microcontainer还提供将企业服务从核心运行时间引擎中分离出来的能力,使其更便于配置。
改进后的管理和配置:JBoss运营网络管理控制台的嵌入式版本可以提供一个全面的接口,用于管理和配置应用、控制应用服务器的运行,以及提供深入查看现场内外应用性能指标的能力。
Java EEF支持:JBoss企业应用平台支持全套的Java EE 5标准,并可为多种即将推出的Java EE 6标准提供支持,其中也包括Java EE Web Profile概念。
主要组件更新:更新的内容包括企业版的JBoss Application Server、Hibernate、Seam、JBoss Cache和JBoss Web Services,可为各类部署环境中的扩展性、高可用性和智能负载均衡提供性能增强特性。这一新版本还可支持分布式事务和全面的Web服务栈支持。
最新版的JBoss运营网络 – JBoss ON 2.3可支持运行管理。该版本提供全面的管理支持,包括在传统和基于云的部署中配置应用集群,并在多种运行环境中提供可用性和性能管理。
JBoss Developer Studio还可为开发人员提供开发工具。这种基于Eclipse的集成式开发环境能够提供全面的工具集,使开发人员能够使用Seam、Java EE、Spring、Hibernate、AJAX、RichFaces等技术,迅速建立丰富且交互性水平较高的应用和服务。
JBoss AS5中,大部分显著的新特性添加都源自于要将所有主要的JBoss子系统带到下一个阶段去。
JBoss Messaging 1.4现在取代了JBossMQ,成为缺省的JMS提供者。除了透明的故障恢复和智能的消息重分发外,JBM还支持即开即用的集群队列和主题。可以跨节点把消息复制到内存中,从而避免磁盘I/O,或者能使用支持大消息的分页技术将消息持久化到任何流行的关系数据库中。JBM证明,利用已完全出现的新的只扩展日志存储,原本就很卓越的性能和东西会变得更加优秀。
JBoss WebServices 3.0,完全支持JAX-WS/JAX-RPC、XOP和SwA的附件、还有一系列WS-*标准。JBWS转向了一个可插拔的架构,该架构允许更换底层的WebServices栈,所以你可以将JBossWS-native换成Sun Metro或Apache CXF。这样的话,你就可以因地制宜,使用最合适WebServices栈。
为了改进可伸缩性和集群Web会话的钝化,AS5中的集群支持SFSB的Buddy复制,以控制内存的使用。EJB3 Entity和Hibernate缓存有了很大的改进,因为可以针对实体和查询使用不同的缓存,它们分别是失效缓存和复制缓存。在底层的JGroups协议栈中,还有一些其它的性能优化。
JBoss Transactions是JBoss 5默认的事务管理器。JBoss TS已经与JBoss 5的Servlet容器——JBoss Web——一起在AS 4.2系列中进行了测试,JBoss Web是基于Apache Tomcat的一个实现,支持原有的APR-based连接器,它在可伸缩性和性能上不但要达到,而且要超越Apache Http服务器的水平。
就API来说,AS5是Java EE 5的实现,所有相关的API都会包含在内。对大部分Java EE 5“新的”API来说,比如EJB3、JAX-WS、JPA等,在JBoss AS 4.2系列中已经实现了,但由于JBoss AS5增加了TCK测试的覆盖范围,所以肯定会更为严格遵循规范。
JBoss5应用服务器提供了大量的新功能:除了支持最新的EJB 3.0规范外,新版的JBoss AOP也正式发布。Web Services 方面,JBoss 现在支持全部的J2EE Web Services,同时兼容Microsoft .NET;Messaging 项目采用了完整的JMS 1.1 实现,同时充分的改进了分布式目的单元格等功能的高可用性;JBoss Seam 中包括了一系列统一的革命性的组建设计模型和框架。同时JBoss 5中也集成了Hibernate 3.2
JBoss AS 4.2和企业应用平台的第一个版本(EAP 4.2)确实对AS 5造成了很大的影响。从零开始创建一个全新的内核、从MBeans转换到POJO、在最底层集成AOP、统一跨子系统的元数据处理、更改类加载系统、使部署器Aspect化,换句话说,就是改变内部架构、替换应用服务器的核心,同时还要保持与大部分已有服务的向后兼容性,为各种内部子系统引入合适的SPI。长远看来这是好事,因为它允许最大的可插拔性,以及在不同的运行时环境中(比如独立的EJB3或嵌入到不同的应用服务器中)按需要选取使用各种JBoss项目。
JBoss AS5不只是一个Java EE 5应用服务器。对下一代JBoss项目来说,它还寄托了成为最先进的服务器运行时环境的愿景。
JBoss6
JBOSS AS6 最大亮点是对Java EE 6 Web Profile规范的支持,一份关于最流行的Java EE标准的报告中,排名前5(JPA、JSP、EJB3、JSF及CDI)的都是Java EE Web Profile的必备组件。除了Java EE 6 Web Profile所需的这些组件外,AS 6还提供了可选的经过认证的组件:RESTEasy 2.1.0——JAX-RS1.1规范的实现;HornetQ2.1.2——JMS 1.1规范的实现以及JBoss Web Services CXF栈——JAX-WS 2.2规范的实现。
主要特性就是对JBoss Injection框架的完整实现。这对于满足Java EE 6平台规范所要求的Resources、Naming以及Injection是至关重要的。Infinispan v4.2.0是个开源的数据网格平台,从CR1里程碑发布时就加入了,现在它也集成到了JBoss AS 6中,并且是默认的分布式缓存提供者。Infinispan公开了一个兼容于JSR-107的Cache接口,你可以将对象存储其中。JBoss AS 6服务器可以动态探测并注册到前端的apache httpd服务器。
对于性能来说,JBoss AS 5与6之间有明显的变化。JBoss AS 6对启动性能的提升很明显,现在的平均启动时间是15秒。用户能够感觉到这种改进,一定程度上是因为延迟了随AS一同发布的管理控制台应用的部署,转而以“按需”方式提供,同时还实现了Timer Service的延迟部署。Microcontainer(v2.2)的增强(包括新的注解扫描库的实现)极大降低了应用部署的时间。
JBoss7
2011年07月13日,JBoss AS 发布了 7.0 正式版。这是一个全新的版本,带来多项的改进和新特性,特别是:
1. 极快(小于3秒的启动时间)
2. 轻量级
3. 模块化的核心
4.热部署、增量部署
5. 优雅的管理
6. 集群域的管理
7. First Class components
更多关于 JBoss AS 7 的新特性请看:下文扩展阅读。