TomEE:Tomcat+Java EE

Apache TomEE(发音为”Tommy“)是一个通过Java EE 6 Web Profile认证的全功能Apache容器,其中Apache Tomcat是组合的中坚力量。Apache TomEE从一个普通的Apache Tomcat压缩包上编译而来。我们可以从Apache Tomcat开始,增加我们的jar文件然后打包。结果就得到的Tomcat具有了JavaEE功能——TomEE。

apache_tomee

TomEE包含以下4个版本。基础版本为Web Profile,其他3个版本都是建立在Web Profile之上。

Web Profile(JavaEE 6认证)主要特性及实现方式
  • CDI — Apache OpenWebBeans
  • EJB — Apache OpenEJB
  • JPA — Apache OpenJPA
  • JSF — Apache MyFaces
  • JSP — Apache Tomcat
  • JSTL — Apache Tomcat
  • JTA — Apache Geronimo Transaction
  • Servlet — Apache Tomcat
  • Javamail — Apache Geronimo JavaMail
  • Bean验证— Apache BVal
JAX-RS版本(JavaEE 6认证)主要特性
  • 支持JAX-RS(Restful Service)
Plus版本(JavaEE 6 未认证)主要特性:
  • 支持JAX-RS
  • 支持JAX-WS
  • 支持JMS
  • 支持Connector
Plume版本(JavaEE 6 未认证)主要特性:
  • 支持Mojarra
  • 支持Eclipselink

目标

  • 简单,不放弃Tomcat中任何东西。

重点

遵循一些核心重点引导整合:

  • 不与Tomcat混在一起
  • 把事情简单化
  • 避免过度架构

尽管已经存在一些成熟的应用程序服务器,其中许多都包含了Tomcat部分或者以精简的形式存在。然而这些应用程序服务器不是TomEE,所以加强Tomcat安装的需求一直存在。

幕后

Apache TomEE是从一个寻常的Apache Tomcat压缩包上编译过来的。我们可以从Apache Tomcat开始,增加我们的jar文件然后打包。结果就是Tomcat具有了JavaEE的功能——TomEE。

Tomcat提供了大量钩子(hook)可以来填充其部分的生命周期。 我们利用钩子来填补空白,结果带来了大量的共享!

Servlet现在可以访问JPA和事务,EJB可以访问Tomcat提供的安全模块。任何Tomcat提供的资源,比如context.xml,可以被系统托管的组件查找或者注入。

保持紧凑,保持简单

Apache TomEE定义了一个”少即是多”的理论。当开发一个应用服务器的时候,很容易因为简单而走得更远。结果通常启动缓慢占用内存,这样很讨厌。我们不打算创建一个超灵活、超级强大、无限组合的、面向任何人的全功能平台。我们用最简单的方式通过Java EE 6 Web Profile认证。

如果你想使用普通的Tomcat的安装并集成缺少的必备组件,最后你会找到TomEE。 结果不言自明:

  • 运行没有任何额外的内存需求
  • 兼容大多数Tomcat识别工具
  • 兼容Tomcat的测试应用程序

历史

Apache中TomEE的上一个版本,它只是简单地被称为OpenEJB的+ Tomcat集成。 这种描述总是很容易产生误导。 其一,即是不使用EJB,TomEE也有令人难以置信的好处​​。

相当简单,相比于其他规范,EJB是集成了最多的规格的技术。 TomEE包含JMS、Web Servics、Connectors、Servlets(EJB的WebServices仍然是由Servlet驱动的!)、JPA、JDBC、事务、安全。 所有这些技术整合需要时间和专业知识,最终已经很少和EJB相关了。 要应用这一切到Tomcat,并从一个简单的Servlet使用这些规范,自然需要扩展Tomcat。因为大部分应用服务器一开始是用作EJB服务器。

虽然大多数应用服务器去除了 Tomcat环境,Apache OpenEJB一直作为一个微小的,不可见的嵌入的容器。自然而然的方法是嵌入“EE”到Tomcat,而不是其他方法。

但最终,它不是关于EJB的。 而是关于其他规范:ActiveMQ、CXF、MyFaces、OpenJPA、OpenWebBeans,当然还有Tomcat! 所以这个不再是OpenEJB+Tomcat而是TomEE!

开发资源

官方网站:http://openejb.apache.org/apache-tomee.html
开源地址:https://github.com/apache/tomee

2 1 收藏

资源整理者简介:UncleTim

简介还没来得及写 :) 个人主页 · 贡献了6个资源 · 1


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer