Próximas Turmas
- Frequência: Terça e Quinta
- Horário: 09:00/13:00h
- Término Previsto: 08/05/2025
- Modalidade: Presencial/online
- Professor: Sergio Mendes
Entrada: R$ 739,20 + 36x de R$ 290,35
ou
12*560,00 no cartão
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 e AZURE.
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
- CQRS - Command Query Responsibility Segregation
- Arquitetura Hexagonal (Ports and adapters)
AWS - Amazon Web Services / Microsoft AZURE:
- Deploy de aplicações no AZURE usando GITHUB Actions (Deplpy contínuo)
- Hospedando aplicações com AWS Elastic Beanstalk
- Hospedando bancos de dados com AWS RDS
- Gerenciando sistemas de arquivos com AWS S3
- Implantando conteineres com EKS - Elastic Kubernetes Services
- Gerenciando permissões com IAM
- 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, CQRS e Arquitetura hexagonal
- Definindo o domínio da aplicação
- Domain Entities
- Domain Services
- Repositories
- InfraStructures
- Applications
- DTOs
- Separando responsabilidades
TDD - Test Driven Development
- Criando testes com JUnit
- Asserções
- Implementando testes de integração
AWS - Amazon WebServer / Microsoft AZURE
- Publicando o código no GITHUB
- Publicando o projeto no AZURE com GUTHUB ACTIONS
- 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
- AWS EKS - Elastic Kubernetes Services
- 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