Formação Java

Curso Laboratório Java com Testes, JSF e Design Patterns

  • Curso com um laboratório prático de boas práticas;
  • Testes unitários, TDD, refatorações e práticas ágeis;
  • Aplicações Web com Java Server Faces (JSF) e PrimeFaces;
  • Cenários reais de uso de design patterns;
  • Acesso a Web Services externos;
  • Uso de XML com XStream;
  • Não basta aprender a linguagem, o mercado exige as boas práticas.

Sobre o curso FJ-22

Esse é um laboratório de desenvolvimento em Java focado em boas práticas de programação. Durante o curso, desenvolvemos uma aplicação de análise da bolsa de valores, que busca o histórico de um Web Service e exibe gráficos de indicadores e cotações. Nesse contexto, abordamos testes unitários com JUnit, lemos XML com XStream e consumimos um Web Service. Tudo isso utilizando como interface JSF 2 e PrimeFaces.

Há bastante foco nas boas práticas como refatorações, design patterns, Test Driven Development (TDD) e XP, além de recursos avançados da linguagem Java como reflection.

Veja também a ementa detalhada do curso.

Pré-requisitos

Ou equivalente com conhecimento de Orientação a Objetos, Java SE básico, Web, JSP e Servlets.

20horas aula

A opinião de quem fez

O curso é ótimo , acho que o grande diferencial é a didática e a abordagem do conteúdo tornando simples e mostrando que não há mistério!

Antonio Gomes da Silva Junior em 29/10/2013

Teoria e conceitos aliados a prática. Excelente.”

Anderson Berlin Melo em 13/09/2013

Os cursos da Caelum são excelentes, já fiz dois módulos e pretendo continuar fazendo os demais módulos. A estrutura, os computadores e o material abrangem tudo o que precisamos saber, para encarar o mercado de trabalho. Parabéns aos instrutores!

Aislan Ramos em 29/07/2013

Próximas turmas

DataPeríodoCidadeComentário
21/04 a 23/04Integral (9h às 17h)São Paulo
22/04 a 25/04Tarde (14h às 18h)Brasília
26/04 a 10/05Sábado (9h às 17h)Brasília
26/04 a 10/05Sábado (9h às 17h)São Paulo
05/05 a 09/05Noturno (19h às 23h)Brasília
05/05 a 09/05Noturno (19h às 23h)São PauloTurma com poucas vagas.
24/05 a 07/06Sábado (9h às 17h)Brasília
24/05 a 14/06Sábado (9h às 17h)Rio de JaneiroÚltimas vagas! Solicite já a sua inscrição!
26/05 a 28/05Integral (9h às 17h)Brasília
30/06 a 07/07Noturno (18h às 22h)Rio de JaneiroInscrições abertas.
09/07 a 11/07Integral (9h às 17h)Rio de JaneiroInscrições abertas.
14/07 a 16/07Integral (9h às 17h)Brasília
02/08 a 16/08Sábado (9h às 17h)Rio de JaneiroInscrições abertas.
30/08 a 13/09Sábado (9h às 17h)Brasília

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

Tornando-se um desenvolvedor pragmático

  1. O que é realmente importante?
  2. A importância dos exercícios
  3. Tirando dúvidas e referências
  4. Para onde ir depois?

O modelo da bolsa de valores, datas e objetos imutáveis

  1. A bolsa de valores
  2. Candlesticks: O Japão e o arroz
  3. O projeto Tail
  4. O projeto Argentum: modelando o sistema
  5. Trabalhando com dinheiro
  6. Palavra chave final
  7. Imutabilidade de objetos
  8. Trabalhando com datas: Date e Calendar
  9. Exercícios: o modelo do Argentum
  10. Resumo diário das Negociações
  11. Exercícios: fábrica de Candlestick
  12. Exercícios opcionais

Testes Automatizados

  1. Nosso código está funcionando corretamente?
  2. Exercícios: testando nosso modelo sem frameworks
  3. Definindo melhor o sistema e descobrindo mais bugs
  4. Testes de Unidade
  5. JUnit
  6. Anotações
  7. JUnit4, convenções e anotação
  8. Exercícios: migrando os testes do main para JUnit
  9. Vale a pena testar classes de modelo?
  10. Exercícios: novos testes
  11. Para saber mais: Import Estático
  12. Mais exercícios opcionais
  13. Discussão em aula: testes são importantes?

Trabalhando com XML

  1. Os dados da bolsa de valores
  2. O formato XML
  3. Lendo XML com Java de maneira difícil, o SAX
  4. XStream
  5. Exercícios: Lendo o XML
  6. Discussão em aula: Onde usar XML e o abuso do mesmo

Test Driven Design - TDD

  1. Separando as candles
  2. Vantagens do TDD
  3. Exercícios: Identificando negociações do mesmo dia
  4. Exercícios: Separando os candles
  5. Exercícios opcionais

Acessando um Web Service

  1. Integração entre sistemas
  2. Consumindo dados de um Web Service
  3. Criando o cliente Java
  4. Exercícios: Nosso cliente Web Service
  5. Discussão em aula: Como testar o cliente do web service?

Introdução ao JSF e Primefaces

  1. Desenvolvimento desktop ou web?
  2. Características do JSF
  3. Exercícios: Instalando o Tomcat e criando o projeto
  4. A primeira página com JSF
  5. Interagindo com o modelo: Managed Beans
  6. Recebendo informações do usuário
  7. Exercícios: Os primeiros componentes JSF
  8. A lista de negociações
  9. Formatação de Data com JSF
  10. Exercícios: p:dataTable para listar as Negociações do Web Service
  11. Para saber mais: paginação e ordenação
  12. Exercício opcional: adicione paginação e ordenação à tabela

Refatoração: os Indicadores da bolsa

  1. Análise Técnica da bolsa de valores
  2. Indicadores Técnicos
  3. As médias móveis
  4. Exercícios: criando indicadores
  5. Refatoração
  6. Exercícios: Primeiras refatorações
  7. Refatorações maiores
  8. Discussão em aula: quando refatorar?

Gráficos interativos com Primefaces

  1. Por que usar gráficos?
  2. Gráficos com o Primefaces
  3. Propriedades para personalizar o gráfico
  4. Definição do modelo do gráfico
  5. Isolando a API do Primefaces: baixo acoplamento
  6. Para saber mais: Design Patterns Factory Method e Builder
  7. Exercícios: Gráficos com Primefaces

Aplicando Padrões de projeto

  1. Nossos indicadores e o design pattern Strategy
  2. Exercícios: refatorando para uma interface e usando bem os testes
  3. Exercícios opcionais
  4. Indicadores mais elaborados e o Design Pattern Decorator
  5. Exercícios: Indicadores mais espertos e o Design Pattern Decorator

A API de Reflection

  1. Escolhendo qual gráfico plotar
  2. Exercícios: permitindo que o usuário escolha o gráfico
  3. Montando os indicadores dinamicamente
  4. Introdução a Reflection
  5. Por que reflection?
  6. Constructor, Field e Method
  7. Melhorando nosso ArgentumBean
  8. Exercícios: indicadores em tempo de execução
  9. Melhorando a orientação a objetos

Apêndice Testes de interface com Selenium

  1. Introdução ao teste de aceitação
  2. Como funciona?
  3. Trabalhando com diversos testes de aceitação
  4. Para saber mais: Configurando o Selenium em casa
  5. Exercícios: Teste com Selenium


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