Próximas Turmas

  • Frequência: Terça e Quinta
  • Horário: 18:00/22:00h
  • Término Previsto: 20/06/2024
  • Modalidade: Presencial/online
  • Professor: Sergio Mendes
Investimento:

Entrada de R$336,00 + 36x de R$143,19 no boleto
ou12x R$280,00 no cartão de crédito

Realizar matrícula

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 Development), além do SOLID 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 RabbitMQ 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
  • SOLID - SRP, OCP, LSP, ISP, DIP
  • Clean Code
  • Clean Architecture
  • Arquitetura de Microserviços REST

AWS - Amazon Web Services:

  • Hospedando aplicações com AWS Elastic Beanstalk
  • Hospedando bancos de dados com AWS RDS
  • Gerenciando permissões
  • AMQP (Mensageria RabbitMQ)
  • MongoDB Atlas (Banco de dados NoSQL)
  • Docker e virtualização

Pré-requisito: Java Developer - Formação Full Stack ou experiência como desenvolvedor Java

Conteúdo do curso

Ementa:

  • Arquitetura de Microserviços REST
  • 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
  • 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 de integração com Junit

DDD - Domain Driven Design

  • Definindo o domínio da aplicação
  • Domain Entities
  • Domain Services
  • Repositories
  • InfraStructures
  • Applications
  • DTOs

TDD - Test Driven Development

  • Criando testes com JUnit
  • Asserções
  • Implementando testes de integração

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
  • Elastic Beanstalk
  • RDS para gerenciamento de banco de dados
  • EC2 e VPC
  • Permissões

Serviços de Mensageria

  • Implementando mensageria com RabbitMQ
  • Producers
  • Consumers
  • Gerenciamento de filas

Docker

  • Docker, containers e imagens
  • DockerHub 
  • Realizando fluxo DevOps
  • Implantação automatizada de aplicações