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
Entrada de R$336,00 + 36x de R$143,19 no boleto
ou12x R$280,00 no cartão de crédito
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