本文由牛旦教诲原创发布。
作者:老崔。

后续会持续发布一些TomEE干系原创文章。

只为更好初探4个可选版企业级Tomcat系列应用做事器 休闲娱乐

若有转载请注明来源,或联系本头条号作者。

参考来源:https://www.tomitribe.com/blog/tomee-webprofile-vs-tomee-microprofile-vs-tomee-vs-tomee-plume/

1 引子

作为TomEE和其他项目的支持公司,Tomitribe从客户那里得到了很多技能和架构方面的问题。
常常听到的一个问题是,“不同的TomEE发行版有什么不同?” ——无论是开拓者选择还是企业选择,都会面对这个问题,那么这篇短文将回答这个问题。

实在,据Tomitribe,TomEE项目已经发展了20来年。
在根本层面上,它是将Jakarta EE Web Profile(以前的Java EE)干系技能添加到一个完全的Apache Tomcat发行版中来实现的。
在这篇文章中,将更详细地阐明Tomcat与TomEE的结合利用情形。

2 TomEE发布版总览

TomEE有四种发行版:TomEE WebProfile、TomEE MicroProfile、TomEE和TomEE PluME。
TomEE WebProfile的目标是完全的Jakarta EE WebProfile。
其他的也一样,但是添加了对MicroProfile、JMS、JAX-WS、Jakarta连接器的支持,并帮助那些将运用程序从Glassfish移植到TomEE的人。

TomEE不同版本的总览图

有图有原形。
这里可以看到Jakarta Web Profile是所有发行版的根本,每个发行版都添加了更多的功能。

TomEE和TomEE PluME之间的紧张差异是,TomEE PluME添加了EclipseLink,并更换了Apache MyFaces,而用Eclipse Mojarra实现来支持JSF规范。

3.TomEE WebProfile 版

TomEE WebProfile是Jakarta EE WebProfile的目标实现。
如果您只须要Jakarta EE Web Profile中定义的技能,并且不会从Eclipse Glassfish搞迁移,那么该当选择这种的TomEE版本。

TomEE WebProfile包含你在Jakarta EE WebProfile实现中所期望的所有内容(可以查看上一篇内容:企业级Java标准体系及产品级做事器TomEE),包括:

支持的企业级技能规范和实现(功能特性)

4. TomEE MicroProfile版

TomEE MicroProfile增加了对MicroProfile 1.3的全面支持,为实现Java微做事供应了一个完全而健壮的平台。
如果除了Jakarta EE Web Profile之外,您还须要对MicroProfile的支持,那么这便是您的办理方案,也便是你可以选择这个版本。

以下是TomEE MicroProfile支持的MicroProfile规范:

TomEE MicroProfile增加功能特性

5. TomEE+ (Plus)版

TomEE+包含了TomEE MicroProfie的所有功能,并增加了其余三个规范:JAX-WS、JEE连接器和JMS。
如果您将基于SOAP的web做事与XML通报或Java做事(JMS)一起利用,那么这便是适宜您的办理方案。
它还供应了对完全的Jakarta连接器规范的支持,因此您可以插入您可能须要的任何Jakarta连接器。

以下是TomEE+添加的APIs列表:

TomEE+增加功能特性

6. TomEE PluME版

TomEE PluME(发音为plume)帮助组织把项目从Eclipse Glassfish迁移到Apache TomEE。
如果你没有从Glassfish迁移到TomEE的须要,你可以忽略这个分布。

TomEE PluME供应了TomEE+供应的所有功能,但在两个关键的APIs,即JPA和JSF,有所不同。
虽然TomEE+对JSF利用Apache MyFaces,对JPA利用Apache OpenJPA,但TomEE PluME对JSF利用Eclipse Mojarra,并添加EclipseLink作为JPA的选项。

TomEE PluME和TomEE+之间的差异非常主要,由于JSF和JPA配置的某些方面并没有通过它们的规范得到办理,而且根据实现的不同而有所不同。
TomEE PluME许可现有的Glassfish运用程序移植到TomEE,而无需变动JSF或JPA组件的配置。

下面是添加到TomEE PluME中的Eclipse库:

TomEE PluME增加功能特性

7. 总结

请记住,如果您从Glassfish迁移到TomEE,您将须要利用TomEE PluME,它与TomEE+险些完备相同,除了JSF和JPA的实现。
如果你没有从Glassfish迁移到TomEE的项目或操持,那么你可以忽略TomEE PluME。
你可选择TomEE WebProfile,TomEE MicroProfile和TomEE+。

无论您选择的TomEE的发行版本如何,在它们之间迁移都一点也不难。
你要么添加你须要的做事,例如从TomEE WebProfile到TomEE MicroProfile,要么删除你不须要的东西,例如从TomEE+到TomEE WebProfile。