1 TomEE是Tomcat的升级版将TomEE看作是Tomcat加上一些花哨的东西这样更容易理解一些,因为TomEE是构建在Tomcat之上的 。具体来说,TomEE 8是完整的Tomcat 9发行版加上Jakarta EE 8(以前是Java EE 8)特定的API而来的,支持Java EE 8规范的企业级的应用服务器,包含更多的开箱即用的功能脚手架,让开发者更关注业务和应用,而不是技术本身 。
Tomcat是一个功能强大且非常流行的Java Web服务器 。它实现了四个Jakarta EE web规范 。
- ? Jakarta WebSocket 1.1
- ? Jakarta Servlet 4.0
- ? Jakarta Expression Language 3.0
- ? Jakarta Server Pages 2.3
注意:在2019年底时,TomEE 8已通过了Jakarta EE 8 Web Profile兼容性测试的96% 。相信很快它将是100%兼容的 。
2 TomEE 8中的Jakarta EE规范那么TomEE所拥有的什么是Tomcat没有的呢?最新版本TomEE 8增加了很多Jakarta EE 8 Web Profile所需的企业技术,但在Tomcat中却没有,包括:
1) Jakarta EE Web Profile 8 (Targeted)
2) Jakarta JSON Processing 1.1
3) Jakarta JSON Binding Specification 1.0
4) Jakarta Server Faces 2.3
5) Jakarta Standard Tag Library
6) Jakarta Interceptors 1.2
7) Jakarta Batch 1.0
8) Jakarta Concurrency 1.1
9) Jakarta Contexts and Dependency Injection 2.0
10) Jakarta Annotations 1.3
11) Jakarta Bean Validation 2.0
12) Jakarta Enterprise Beans 3.2
13) Jakarta Connectors 1.7
14) Jakarta Persistence 2.2 (警告:基于openjpa的发行版提供了一个JPA 2.0运行时)
15) Jakarta Messaging 2.0 (layer based on ActiveMQ 5 / JMS 1.1 for default distributions- (基于ActiveMQ 5 / JMS 1.1的层,用于默认发行版))
16) Jakarta Transactions 1.3
17) Jakarta Security 1.0
18) Jakarta Authentication 1.1
19) Jakarta Mail 1.6 (NOTE: EE 7 requires 1.5)
20) Jakarta RESTful Web Services 2.1
21) Jakarta Managed Beans 1.0
22) Jakarta Enterprise Web Services 1.4
23) Jakarta Debugging Support for Other Languages 1.0
以上,你可以看作是TomEE8作为应用服务器或所中间件所具有的特性 。
3 Jakarta EE:只使用你需要的所有这些APIs都很重要,这取决于上下文,就像Java SE中的所有APIs都很重要,这取决于您需要什么 。在Java SE中,如果您不想使用特定的API(例如Java.rmi),就不要使用它 。没有额外的认知负荷,因为你可以专注于你所需要的,而忽略其他 。Jakarta EE也是如此 。实现中确实提供了很多,但你可以只专注于你需要的部分 。你没必要知道所有的事情,你都可以忽略,直到你确实需要了解时采取研究就行了 。
也就是说,如果没有您需要的东西,那么将它集成到项目中是很痛苦的,特别是在所有其他企业级APIs环境中 。这就是Jakarta EE的优势所在 。Jakarta EE平台的重点不是捆绑一堆不相关的api 。Jakarta EE的目的是确保各种有用的企业APIs能和谐地一起发挥作用(可以聚合性的和平共处地工作) 。
基于这样的应用服务器的支持,通常我们的企业级Java应用架构类似一下模式:

文章插图
企业级Java应用架构模式
我们的TomEE就是对应着服务器层 。
4 TomEE 版本TomEE本身有四种风格的产品版本,分别是TomEE、TomEE JAX-RS、TomEE +(TomEE Plus)和TomEE PluME 。在下一篇文章中,我们将更多地讨论这些风格和Jakarta EE支持的版本,但是现在,你可以假定TomEE的任何版本至少都是针对Jakarta EE 8 Web Profile的要求的,或者说是满足Jakarta EE规范的某一子集要求 。
这一部分内容,我们就简要说这些了 。下一次,将来谈谈TomEE各个版的异同 。
分享出去吧,顺手点个赞或收藏备查 。谢谢 。
【企业级Java标准体系及产品级服务器TomEE】
推荐阅读
- 淘宝网店开店费用标准 淘宝个人开店流程及费用多少
- 1米65女生标准体重
- 2021年社会养老保险缴费标准是怎样的?
- 取代H.265/HEVC!H.266编解码标准发布:视频清晰度不变、数据量减半
- 不合适初学者 揭秘JAVA JVM内幕
- 生意参谋是干嘛的 生意参谋标准版有什么功能
- 2021年江苏社保个人缴费标准是什么?
- 店铺转让协议标准范本 店铺转让协议书简单
- 天真,居然还有人认为java的参数传递方式是引用传递
- Java 与 Kotlin,谁将是未来的趋势?
