preloader
  • Inicio
  • Arquitetura de Software Moderna usando CQRS

Arquitetura de Software Moderna usando CQRS

  • DURAÇÃO

    +6 horas

  • AULAS

    84 vídeo aulas

As inscrições para a TURMA #05 vão estar ABERTAS ATÉ 11/05 ou enquanto as vagas NÃO forem PREENCHIDAS.


Sobre o Curso

Os projetos de tecnologia tem exigido, dos profissionais, conhecimento não só em tecnologia e programação, como também habilidades de alinhar estratégias de negócio com uma arquitetura de software robusta, capaz de ser evolutiva e flexível às mudanças. Permitindo que a entrega de soluções tecnológicas amplifique e dê suporte aos planos de negócios dentro do mundo digital.

Atacar a complexidade em projetos de grande porte não é uma tarefa fácil e, muitas vezes, devido a falta de conhecimento sobre qual técnica deve ser aplicada, qual a tecnologia é a mais adequada, por exemplo, pode levar um projeto ao fracasso.

O curso de Arquitetura de Software Moderna usando CQRS vai te tornar um profissional de tecnologia atualizado com o mercado, usando técnicas de desenvolvimento que são utilizadas em projetos grandes e complexos de software. Este curso alinha teoria e prática, por isso a implementação de CQRS será mostrada não sobre a perspectiva de um framework, mas sim através da implementação de todo o conceito de CQRS from scratch, ou seja, do Zero ao Sucesso, através de um problema de domínio no estilo Booking.com.

Após concluir este curso, você vai ter aprendido as diferenças entre CQS e CQRS, tendo implementado CQRS de forma correta, compreendendo que CQS está relacionado aos padrões aplicados ao código, enquanto que CQRS foca em como a solução da sua arquitetura será definida. Para alcançar tudo isso você vai utilizar o sistema de mensageria mais cobiçado do mercado: Apache Kafka, você também vai implementar Serviços de Background usando a última versão do Aspnet Core: a versão 5.0, incluindo o desenvolvimento de Web APIs de escrita e leitura. Além disso, você também vai aprender a utilizar um banco de dados NoSql mais robustos do mercado e que desde a sua 1° versão trabalha com transações: RavenDB, além de aprender técnicas de modelagem usando Domain Driven Design, construindo uma arquitetura robusta e resiliente.

Esse curso vai te ajudar a alavancar a sua carreira como profissional de tecnologia.


O que vou aprender?

 

  • Módulo 1: Introdução | duração: 26 min.

Apresentação e uma viagem no tempo para entender a origem dos conceitos: CQS e CQRS, seus criadores e suas diferenças.


  • Módulo 2: Analisando um projeto legado | duração: 12 min.

Análise arquitetural sobre um projeto legado, identificando problemas arquiteturais e deficiências sobre: legibilidade, manutenabilidade, escalabilidade e separação de responsabilidades.


  • Módulo 3: Interface orientada a tarefas | duração: 27 min.

Entenda as diferenças entre uma interface (layout) baseado em CRUD vs Tarefas e como uma interface baseada em tarefas impacta diretamente na arquitetura de uma solução.


  • Módulo 4: Infraestrutura da solução no Visual Studio | duração: 2h

Vamos colocar em prática tudo o que foi visto em teoria até aqui. Você vai implementar, junto com o instrutor, uma infraestrutura num formato de componentes, onde cada projeto vai ser implementado, separadamente, usando a técnica de componentização. Além de aprender como criar scripts que automatizam sua infraestrutura usando tecnologias como: Docker, Docker Compose, Powershell e Shell script.


  • Módulo 5: Entendenda o que são Commands | duração: 29 min.

Você vai aprender o que representam os comandos para o CQRS, além de entender a importância dos DTOs comparados aos comandos e também vai entender onde os comandos e queries estão relacionados na Onion Architecture.


  • Módulo 6: Modelando o domínio de Gerenciamento | duração: 1 h

Você vai implementar toda a modelagem de domínio do Bounded Context de gerenciamento (management), usando técnicas de Domain Driven Design, eventos de domínio, produtores Kafka e persistência usando RavenDB.


  • Módulo 7: Modelando o domínio de Gerenciamento | duração: 43 min.

Você vai implementar toda a modelagem de domínio do Bounded Context de reserva (reservation), usando técnicas de Domain Driven Design, eventos de domínio, produtores Kafka e persistência usando RavenDB.


  • Módulo 8: Modelando as Queries | duração: 19 min.

A consulta do estado da aplicação, é uma implementação com bastante relevância para uma arquitetura CQRS. Através dessa implementação, você será capaz de entender porque as consultas precisam ficar em projetos separados e qual o impacto positivo e quais são os benefícios dessa abordagem.


  • Módulo 9: Sincronizando as base de dados | duração: 52 min.

Para que o projeto de consultas (Queries) tenha sentido, é necessário a implementação de um Read Model Updater (RMU) ou simplesmente um sincronizador entre base de dados. Você vai implementar um projeto AspNet Core 5.0 usando Background Services e consumidores Kafka trabalhando com conceitos de projeção de eventos e técnicas de serialização de dados entre produtores e consumidores, permitindo o desacoplamento entre projetos.


  • Módulo 10: UI do projeto & Retry Pattern | duração: 33 min.

Vamos apresentar todas as técnicas que foram utilizadas durante a implementação da UI como: Client Services, Resiliência usando Retry Pattern com o framework Polly. Aqui vamos te mostrar, na prática, toda essa arquietura em funcionamento, mostrando em tempo real o funcionamento dos conceitos de Consistência Eventual e Teorema CAP.


  • Módulo 11: Melhores práticas e equívocos | duração: 9 min.

Neste módulo, você vai aprender algumas dicas e sugestões sobre as melhores práticas de como usar CQS, CQRS e alguns equívocos sobre a aplicação de uma arquitetura CQRS.


Formato do curso

O curso é 100% ONLINE, com aulas gravadas. O projeto que você vai construir neste curso, também está armazenado em um repositório PRIVADO no Github, assim você pode acompanhar qualquer atualização e evolução desse projeto.

  • Ao adquirir o curso, você recebe o acesso as vídeo aulas logo após a confirmação da compra.

Público

Desenvolvedores Mid e Senior, Arquitetos de Software, Tech Leads, Team Leads, Tech Managers.


Requisitos

  • Conhecimento básico de desenvolvimento Web
  • Conhecimento básico sobre a linguagem C#
  • Conhecimento básico sobre HTTP/REST
  • Conhecimento básico de mensageria
  • Conhecimento básico de Padrões de Projeto

O que vou receber?

  • Conteúdo gravado, totalizando 84 vídeo aulas
  • Quiz para consolidar o seu aprendizado
  • Certificado
  • Grupo secreto no telegram, onde só os alunos podem participar
  • 1 LIVE exclusiva e privada com os alunos da turma para tirar dúvidas, 15 dias após encerramento das vendas
  • Repositório PRIVADO no GitHub com o projeto
  • Teoria aplicada na prática
  • Acesso vitalício ao contéudo
  • App 100% gratuito que te permite estudar quando e onde quiser com a opção de estudar OFFLINE.
Professores
José Roberto Araújo

José Roberto Araújo

Arquitetura de Software