Curso Java EE: Construa sistemas tirando proveito da plataforma

  • Curso sobre a utilização do Java EE como plataforma;
  • Mensageria com Java Message Service (JMS) com HornetQ;
  • JPA para o acesso ao banco de dados;
  • JSF para a construção da parte web;
  • Facelets para organizar seu layout;
  • RESTful Services e API com JAX-RS;
  • Comuniçacão assíncrona com JAX-RS e Servlet 3;
  • Bean Validation além do básico;
  • JTA para controlar as transações;
  • EJB Stateful para controlar melhor o EntityManager;
  • Autenticação e Autorização com o JAAS.

Sobre o curso FJ-37

Vamos reconstruir a aplicação da Casa do Código utilizando a plataforma JAVA EE como um todo. Vamos utilizar o poder das especificações trabalhando em conjunto, para conseguir implementar todas as funcionalidades necessárias para a criação da aplicação.

Utilizaremos a última versão do JSF para a construção da parte web da aplicação e tiraremos proveito de toda a flexibilidade oferecida por ele em relação a integração com os novos componentes do HTML. Trabalharemos também com o JAX-RS para expor certas partes do sistema como serviço, que podem ser consumidas por outros tipos de clientes. Além disso será trabalhado a parte de segurança, processamento assíncrono, transações e muito mais. Tudo já oferecido pela própria especificação e que você já pode utilizar para construir suas aplicações. O grande diferencial é que tudo será trabalhado de maneira integrada!

Curso novo, com primeira turma em São Paulo em 2016. Ementa final sujeita a pequenas mudanças.

Veja também a ementa detalhada do curso.

Pré-requisitos

60 horas aula

Próximas turmas

Data Período Cidade Comentário
27/03 a 14/04 Noturno (19h às 23h) São Paulo Turma Promocional!!! Cód: 6659

Não achou a turma ideal pra você? Entre em contato e consulte outras turmas e horários.

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Saindo do zero

  1. Configuração e criação do projeto
  2. Acessando o primeiro endereço
  3. Um pouco por dentro do JSF
  4. Conclusão

Cadastro de produtos

  1. Formulário de cadastro
  2. Lógica de cadastro
  3. Gravando os dados no banco de dados
  4. Configurando a JPA
  5. Configuração do DataSource no Wildlfy
  6. A necessidade de uma transação
  7. Conclusão

Melhorando o cadastro e um pouco mais de JSF

  1. Associando vários autores
  2. Limpando o formulário
  3. Listando os livros
  4. Forward x Redirect
  5. Exibindo a mensagem de sucesso
  6. Isolando o código de infraestrutura
  7. Conclusão

Validação e conversão de dados

  1. Validação básica
  2. Exibindo as mensagens de erro de maneira amigável
  3. Trocando as mensagens default do JSF
  4. Integração com a Bean Validation
  5. Convertendo a data
  6. Converter para entidades
  7. Conclusão

Upload de arquivos

  1. Recebendo o arquivo no Managed Bean
  2. Salvando o caminho do arquivo
  3. Gravando os arquivos fora do servidor web
  4. Conclusão

Carrinho de compras

  1. Exibindo os livros na página inicial
  2. Navegando para o detalhe do produto
  3. Lidando com LazyInitializationException
  4. Será que o melhor é o DAO ser um EJB stateful?
  5. Formatando a data de publicação
  6. Carrinho de compras e o escopo de Sessão
  7. Conclusão

Fechamento da compra e processamento assíncrono

  1. Implementando a tela de finalização
  2. Gravando as informações do usuário
  3. Validação seletiva com a BeanValidation
  4. Salvando as informações do Checkout
  5. Integrando com outra aplicação
  6. Executando operações demoradas assincronamente
  7. JAX-RS Para todas as outras requisições HTTP
  8. Configurando o JAX-RS
  9. Curiosidade: usando um ExecutorService gerenciado
  10. Conclusão

Melhorando performance com Cache

  1. Cacheando o retorno das consultas na JPA
  2. Provider de Cache e suas configurações
  3. Invalidação do cache por alteração
  4. Cacheando trechos da página
  5. Conclusão

Respondendo mais de um formato

  1. Expondo os dados em outros formatos
  2. Content negotiation
  3. Simulando um cliente para o nosso serviço
  4. Conclusão

Mais de processamento assíncrono com JMS

  1. Enviando o e-mail de finalização
  2. Um pouco mais sobre processamento assíncrono
  3. Utilizando o JMS para mensageria
  4. Registrando tratadores de mensagens com MDBs
  5. Implementação do JMS utilizada pelo WildFly
  6. Cautela no uso do código assíncrono
  7. Conclusão

Protegendo a aplicação

  1. Definindo as regras de acesso com o JAAS
  2. Configurando o formulário de login
  3. Configurando o LoginModule do JAAS
  4. Exibindo o usuário logado e escondendo trechos da página
  5. Conclusão

Organização do layout em templates

  1. Criando seus templates com Facelets
  2. Conclusão

Internacionalização

  1. Isolando os textos em arquivos de mensagens
  2. Accept-Language header
  3. Passando parâmetros nas mensagens
  4. Deixe que o usuário defina a língua
  5. Conclusão

Enviando e recebendo informações via WebSocket

  1. Como notificar os usuários?
  2. API de WebSockets e o navegador
  3. Enviando mensagens a partir do servidor
  4. Outros detalhes da especificação de WebSockets
  5. Conclusão

Últimas considerações técnicas

  1. Deploy
  2. Profiles
  3. Testes
  4. Projetos paralelos que podem nos ajudar
  5. Conclusão


* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.