Artigo no estilo Mentoring

Mentoring: O desenvolvimento de aplicações corporativas é uma atividade complexa que requer cuidados com transações, portabilidade, interoperabilidade, segurança, entre outros aspectos. Assim, a utilização de um servidor Java EE pode simplificar consideravelmente essas preocupações, deixando aos cuidados do servidor o gerenciamento destes recursos. Ciente disso e visando apresentar uma alternativa aos desenvolvedores e arquitetos, a Apache lançou, em abril de 2012, o Apache TomEE, um servidor leve e robusto, baseado no Apache Tomcat, que implementa as especificações da plataforma Java EE.

Considerando essa opção, este artigo apresenta os recursos desse servidor de aplicações e demonstra, através de um exemplo prático, os ganhos que ele traz para aqueles que precisam desenvolver aplicações corporativas, mas querem evitar as preocupações com bibliotecas e suas dependências. Ao adotá-lo, os esforços serão concentrados nos requisitos funcionais, agilizando e simplificando o processo de desenvolvimento.

Embora exista no mercado servidores como WildFly, GlassFish, WebSphere, entre outros, o Apache Tomcat tem sido a alternativa mais popular e viável para a maioria dos desenvolvedores de aplicações Java. Apesar disso, apenas as tecnologias JSP e Servlet, implementadas pelo Tomcat, não atendem, em sua maioria, às demandas das soluções modernas. Com a evolução da plataforma Java EE, observa-se que há um grande abismo entre os recursos oferecidos pelo Tomcat e os necessários para a implementação de aplicações mais robustas, que envolvam vários componentes.

É claro que, ao criar uma aplicação corporativa é possível adicionar bibliotecas aos projetos e assim ampliar as possibilidades de desenvolvimento. No entanto, nesses casos fica a cargo do desenvolvedor identificar quais bibliotecas precisam ser adicionadas, assegurando que elas funcionarão corretamente e que não haverá conflito entre versões. O Apache TomEE, por ser um servidor Java EE, traz consigo implementações de várias APIs que ajudam a preencher esta lacuna.

No artigo “Conhecendo o Apache Tomcat e o TomEE”, publicado na Java Magazine 146 (veja a seção Links), falamos sobre a origem deste servidor de aplicações que, baseado no Tomcat e sob o guarda-chuva da Apache Software Foundation, se apresenta como uma alternativa promissora aos servidores de aplicações pré-estabelecidos.

Neste artigo, apresentaremos os recursos que demonstram o poder do Apache TomEE. Para isso, faremos uma breve consideração sobre as versões disponíveis para download, falaremos sobre a configuração do ambiente de desenvolvimento e em seguida iniciaremos a implementação da aplicação utilizando os recursos Java EE de forma que seja possível rodá-la no TomEE. Após a leitura e a execução do exemplo, o leitor verá como é fácil e prático construir aplicações corporativas com esse servidor.

Download do Apache TomEE

Antes de iniciarmos, é importante lembrar que o Apache TomEE está disponível em três distribuições: Perfil Web (Web Profile), JAX-RS e Plus. A primeira, compatível com o Perfil Web da especificação Java EE 6; a segunda, também construída com base no Perfil Web, mas contando com a adição do suporte a JAX-RS, através de uma versão simplificada do Apache CXF; e a distribuição Plus, que fornece um pacote completo com todos os componentes disponíveis para TomEE, incluindo JMS, JAX-WS e JCA. Ambas as distribuições estão disponíveis na versão 1.7.3 e rodam sobre o Apache Tomcat 7.x.

Além destas, já está disponível o TomEE 7.0 Milestone 1, que roda sobre o Tomcat 8.x e encontra-se na fase de testes. No exemplo que estamos desenvolvendo trabalharemos com a distribuição PluME versão 1.7.3, que utiliza as implementações Mojarra, para JSF, e Eclipse Link, para JPA (ver Tabela 1). O site para download do Apache TomEE está disponível na seção Links.

Componente

JSR

Tomcat

PluME

Implementação

Servlets 3.x

315

ü

ü

Apache Tomcat

JavaServer Pages (JSP)

245

ü

ü

Apache Tomcat

Java Standard Tag Library (JSTL)

52

ü

ü

Apache Tomcat

JavaServer Faces (JSF)

314

ü

Oracle Mojarra

Java Transaction API (JTA)

907

ü

Apache Geronimo

Java Persistence API (JPA)

317

ü

Eclipse Link

Java Context and Dependency Injection (CDI)

299

ü

Apache OpenWebBeans

Java Authentication and Authorization Service (JAAS)

196

ü

Apache Geronimo

Java Authorization Contract for Containers (JACC)

115

ü

Ap ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo