Junte-se aos melhores!!
Facebook Instagram Linkedin Whatsapp
Parcele seu curso em até 24x no boleto com uma pequena taxa de juros (sujeito aprovação). Entre em contato!

Próximas Turmas

  • Frequência: Domingo
  • Horário: 08:00/11:00h
  • Término Previsto: 09/10/2022
  • Modalidade: Online
  • Valor: 12xR$175,00
  • Professor: Sergio Mendes
Inscreva-se agora

O que você vai aprender nesse curso

O objetivo do curso é capacitar o aluno para atuar como Arquiteto de Sistemas Java.
O curso aborda as melhores práticas arquiteturais, são elas: DDD (Domain Driven Design), TDD (Test Driven Developmenr), BDD (Behavior Driven Development) e CQRS (Command Query Responsibility Segregation), além do SOLID, Design Patterns e boas práticas de Clean Code em Java.
Durante o treinamento o aluno irá desenvolver uma aplicação completa baseada em Microserviços (API) utilizando Spring Boot e Apache Kafka para serviços de mensageria. O aluno fará o desenvolvimento completo do projeto e sua implantação no AWS.

IDE: Eclipse

Práticas arquiteturais:

  • DDD - Domain Driven Design
  • TDD - Test Driven Development
  • BDD - Behavior Driven Development
  • SOLID - SRP, OCP, LSP, ISP, DIP
  • CQRS - Command Query Responsibility Segregation
  • Design Patters Gof
  • Clean Code
  • Clean Architecture

Pre-requisito: Ter feito Webdeveloper em Java na Coti ou programar.com Java a mais de 3 anos no mercado de trabalho

Conteúdo do curso

Ementa:

  • Configurando o Spring Boot
  • Criando um projeto Spring Boot
  • Padrão REST
  • Arquitetura de microserviços
  • Requests
  • Responses
  • Configurando Swagger
  • Mapeamento de JavaBeans com LOMBOK
  • CORS - Cross Origin Resource Sharing
  • JPA e mapeamento objeto relacional (ORM)
  • Repositório genérico com Hibernate
  • Service Layer
  • Validação de dados da API
  • Construindo Repositórios
  • JPQL - Java Persistence Query Language
  • Injeção de dependência
  • Autenticação com JWT - JSON Web Tokens
  • Executando testes unitários com Junit
  • Geração de Logs
  • Apache Katka para envio de mensagens (Mensageria)
  • Gerenciamento de filas de mensagem
  • Consumer e Producer

DDD - Domain Driven Design

  • Definindo o domínio da aplicação
  • Domain Entities
  • Domain Services
  • Bases (SuperTypes)
  • Repositories Contracts
  • Query Specifications
  • Contexts
  • Aggregates
  • InfraStructures

TDD - Test Driven Development

  • Criando testes com JUnit
  • Asserções
  • Criando massa de dados de teste
  • Setup de testes
  • Implementando testes de integração
  • Refactoring

BDD - Behavior Driven Development

  • Configurando o Cucumber
  • Criando features de teste com Gherkin
  • Sintaxe GIVEN, WHEN, THEN
  • Configurando Selenium para automação de testes
  • Criando testes automatizados com Selenium WebDriver
  • Gerando relatórios

CORS - Cross Origin Resource Sharing

  • Entendendo o padrão CQRS
  • Configurando MongoBD
  • Persistência de dados no MongoDB
  • EventSourcing
  • EventStore
  • Notifications
  • Definindo Commands
  • Definindo Queries

AWS - Amazon WebServer

  • Publicando o código no GITHUB
  • Configurando servidor de aplicação no AWS
  • Configurando banco de dados no AWS
  • Publicando a aplicação