Juntamente com essa plataforma, também utilizaremos componentes do framework PrimeFaces para criação das telas de um sistema exemplo (neste caso, de controle de projetos).
Aqui, criaremos a arquitetura da aplicação, o banco de dados, a primeira tela de cadastro e um serviço RESTful para popular dados no banco de dados de cidades e estados, recursos presentes em praticamente toda aplicação web sendo, portanto, um conteúdo fundamental ao seu dia a dia.
A cada nova versão da plataforma Java Enterprise Edition, muitas são as atualizações em especificações, além, é claro, da adição de novas tecnologias.
Neste contexto, dentre as principais novidades lançadas na Java EE 7, podemos citar a nova API de aplicações Batch, que se baseou na já consolidada API Spring Batch, a API JSON-P, para manipulação de documentos no formato JSON, e a Concurrency Utilities, uma nova especificação que traz uma API para lidar com concorrência em aplicações Java EE.
Muito semelhante à API ExecutorService já presente na plataforma Java SE, a Concurrency Utilities busca resolver um problema bastante comum: lidar com threads em aplicações corporativas.
Além das novas especificações, várias tecnologias também obtiveram importantes atualizações como, por exemplo, a JPA 2.1, com o suporte transparente a chamadas de procedures, EJB 3.2, que passou a dar suporte a transações dentro dos métodos de callback do ciclo de vida dos EJBs, Bean Validation 1.1, cujas anotações podem ser utilizadas em parâmetros de métodos, e JSF 2.2, que possibilitou uma melhor integração com o HTML5 e trouxe as novas annotations @ViewScoped e @FlowScoped, que ajudam na criação de telas semelhantes a telas de wizards ou workflow, dando melhor suporte a fluxos de negócio passo a passo.
Ademais, tivemos também a nova versão da especificação JAX-RS, a 2.0, que possui uma nova API de cliente, quando até então era necessário utilizar bibliotecas ou APIs de terceiros, e também a API de JMS 2.0, que reduziu consideravelmente a verbosidade de código das versões anteriores. Assim, agora é mais simples e rápido criar componentes para enviar e receber mensagens JMS.
São muitas as novidades presentes na plataforma Java EE 7 e o leitor pode conhecer cada uma delas ao ler as Edições da Java Magazine 117, 119, 121, 122, 123, 124 e 125. Nessas edições, além dos conceitos teóricos da Java EE, o leitor poderá acompanhar vários exemplos práticos reforçando esses conceitos.
Devido à quantidade de mudanças e novidades, se torna inviável demonstrar todas elas em um único artigo. Sendo assim, vamos explorar alguns desses novos conceitos através de um exemplo prático.
A aplicação Controle de Projetos
A nossa aplicação exemplo tem como objetivo controlar os projetos desenvolvidos por uma empresa, possibilitando para isso a alocação de colaboradores, o controle da situação atual dos projetos e o cadastro de departamentos. Para termos uma ideia de como as classes do modelo de negócio desse sistema se relacionam, a Figura 1 apresenta o diagrama de classes da aplicação.

Figura 1. Diagrama de classes do projeto.
Nesta primeira parte do artigo construiremos a tela para cadastro de projetos. Nessa tela deve ser informado o nome do projeto, o orçamento, a descrição e a sua situação do projeto (em desenvolvimento, pré-venda, em análise e pós-venda).
Como um dos diferenciais, visando explorar mais recursos da plataforma Java EE, no projeto será construído um web service RESTful com JAX-RS, para que possamos, através da chamada a este serviço, inserir dados referentes a cidades e estados na base de dados.
Ao final desse primeiro artigo o leitor terá toda ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais