MAC0475 Laboratório de Sistemas Computacionais Complexos
Por | EmOBJETIVOS: Capacitar os estudantes para construirem sistemas complexos e distribuídos, utilizando metodologias de desenvolvimento e tecnologias web / mobile atuais.
PROGRAMA RESUMIDO: Métodos ágeis, DevOps, sistemas distribuídos, padrões arquiteturais, princípios arquiteturais, tecnologias web fundamentais, desenvolvimento para front-end e modelos de páginas, desenvolvimento para back-end e padrões arquiteturas, autenticação e autorização, banco de dados, infraestrutura, plataformas de entrega.
PROGRAMA: Métodos ágeis (valores, princípios e práticas), DevOps (entrega contínua, versionamento, trunk-based development, automação de testes), sistemas distribuídos (teorema CAP, consistência forte e eventual, níveis de disponibilidade), padrões arquiteturais (camadas, microkernel, microsserviços, baseada em eventos, nuvem), princípios arquiteturais (aplicações com 12 fatores, sistemas reativos, sistemas nativos à nuvem), tecnologias web fundamentais (HTML, CSS, JavaScript), modelo requisição-resposta (ad hoc, REST, GraphQL), desenvolvimento para front-end e modelos de páginas (MPA, SPA, SSR, PWA), desenvolvimento para back-end e padrões arquiteturais (MVC, MVP, MVVM, JAM), autenticação (identificadores sequenciais, UUID, tokens, JWT) e autorização (protocolos de controle de acesso), banco de dados (relacionais, não relacionais, mensageiros), infraestrutura (virtualização, conteinerização, orquestração e coreografia, malha de serviços) e plataformas de entrega (IaaS, PaaS, CDN, serverless).
PRÉ-REQUISITOS: MAC0350.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:
Média ponderada de notas em presença, comprometimento ao método, empenho, autoavaliação e qualidade
do software desenvolvido.
BIBLIOGRAFIA BÁSICA:
- BONÉR, Jonas, Reactive Microsystems: The Evolution of Microservices at Scale, Sebastopol: O’Reilly Media, Inc, 2017
- GARRISON, Justin, NOVA, Kris, Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment. 1. ed. , Sebastopol: O’Reilly Media, Inc, 2017
- NEWMAN, Sam, Building Microservices: Designing Fine-Grained Systems , Sebastopol: O’Reilly Media, Inc, 2015
- SADALAGE, Pramod J., FOWLER, Martin , NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence , Upper Saddle River, NJ: Addison-Wesley, 2013
OBSERVAÇÃO: Disciplina optativa eletiva nos currículos do BCC.
[Veja dados da disciplina no JúpiterWeb]