Escolhendo uma implementação Jakarta EE & Microprofile.io

Especificações Jakarta EE & Microprofile.io

Escolhendo uma implementação Jakarta EE & Microprofile.io

Post originalmente publicado em dev.to.

Especificações Jakarta EE & Microprofile.io
(série de 3 partes)

Jakarta EE e Microprofile.io
Escolhendo uma implementação Jakarta EE & Microprofile.io
Contexts and Dependency Injection (CDI) 2.0

O primeiro passo ao se desenvolver uma aplicação Jakarta EE ou Microprofile.io é escolher qual será a implementação que você irá utilizar. Ou o mais conhecido Servidor de Aplicação.

As implementações de Microprofile.io são mais leves que as implementações de Jakarta EE. Isso acontece porque o número de especificações implementadas por um servidor Jakarta EE é muito maior do que o de Microprofile.io. Logo, se você deseja implementar um simples Microsserviços, escolher um WildFly seria como escolher um canhão pra matar uma mosca.

Starters

Um bom ponto para iniciar é por um Starter. O Microprofile.io tem seu próprio Starter, com ele é possível escolher qual versão da especificação e qual plataforma deverá ser usada.

Não encotrei um Starter para Jakarta EE oficial, mas há muitos tutoriais na internet. Nessa série nosso foco será em projetos Microprofile.io, logo este starter é suficiente.

Caso queira um Starter Jakarta EE, há alguns:

Servidores de Aplicação

Segue abaixo uma lista não exaustiva dos servidores de aplicação existente. Nesse tutorial usaremos o Thorntail.io para nossas implementações.

Todos os servidores 100% compatíveis podem ser encontrados nas paginas de cada projeto:

GlassFish

O GlassFish é a implementação oficial do Jakarta EE. O mesmo será 100% compatível com as especificações.

Payara

Compatível com Jakarta EE e Microprofile.io. Getting started with Payara…

WildFly

Um dos mais conhecidos no mercado. Anteriormente conhecido como JBoss. Compatível com Jakarta EE.

TomEE

Compatível com Jakarta EE e Microprofile.io.

OpenLiberty

Compatível com Jakarta EE e Microprofile.io.

Quakus.io

O Quarkus.io não é 100% compatível com nenhuma das duas especificações! Mas ele está caminhando nesse caminho. Sua ideia principal é prover um servidor de aplicação mais leve que os outros e de fácil desenvolvimento. Ainda é possível usar a GraalVM.

Quarkus.io

Thorntail.io

Fork do WildFly, o Thorntail é voltado para implementação. Para o deploy não é necessário configurar um servidor de aplicação. O mesmo, junto com suas dependências, é configurado automaticamente pela build Maven. Assim é gerado ou um Fat-Jar ou um War + Hollow Jar.

No Fat-Jar temos todas as dependências prontas para serem executadas.

No Hollow-Jar temos todas as dependências empacotadas separadamente.

Licença Creative Commons
Este obra está licenciado com uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional .

Especificações Jakarta EE & Microprofile.io
(série de 3 partes)

Jakarta EE e Microprofile.io
Escolhendo uma implementação Jakarta EE & Microprofile.io
Contexts and Dependency Injection (CDI) 2.0