A sala de cinema Fernando Lopes já reabriu. Veja a programação completa aqui

filmeu

Disciplina Computação Distribuída

  • Apresentação

    Apresentação

    A disciplina de Computação Distribuída foca-se no estudo e desenvolvimento de aplicações distribuídas modernas, combinando fundamentos teóricos com uma forte componente prática. São analisadas as principais características destes sistemas, como escalabilidade, consistência, tolerância a falhas, resiliência e segurança, bem como os desafios arquiteturais e de implementação. Na prática, os estudantes utilizam Java e Spring Boot para criar microsserviços que comunicam através de APIs REST e Apache Kafka, com persistência em bases de dados relacionais (PostgreSQL) e documentais (MongoDB). São explorados conceitos de containerização e deployment com Docker, testes em sistemas distribuídos e padrões avançados de coordenação como SAGAs e consistência eventual. O curso culmina num projeto final agregador de conteúdos, onde os alunos desenvolvem um sistema completo, aplicando os conhecimentos adquiridos e sistematizando as competências técnicas e transversais essenciais para o mercado.
  • Conteúdos Programáticos

    Conteúdos Programáticos

    1. Introdução. Caracterização, requisitos, arquitectura e funcionalidades 2. Arquitecturas e Modelos de Comunicação Distribuída. Arquitecturas de sistemas, níveis de software 3. Comunicação entre Processos Distribuídos (IPC). Características da comunicação entre processos, Invocação, parâmetros e heterogeneidade de dados 4. Invocação Remota e Objectos Distribuídos. RPC: Modelo de execução. Linguagem de definição de interfaces (IDL). Plataformas de execução: Sun RPC, Java RMI 5. Nomeação e Serviços de Directório. Tipos de Nomes. Espaços de nomeação. Serviços de Directório (Web, X.500, LDAP) 6. Web Services (WS). Modelo de Execução Web Services (WS). O protocolo SOAP. Linguagens de definição de Serviços (WSDL) 7. Segurança. Modelo de segurança. Autenticação. Controlo de acesso 8. Sistemas de Ficheiros Distribuídos. Arquitecturas de SGF distribuídos. Implementações: NFS e AFS 9. Transações. Modelo transaccional. Propriedades ACID das transacções. Transacções distribuídas. Protocolo 2-phase-commit
  • Objetivos

    Objetivos

    No final da unidade curricular, os estudantes deverão conhecer os conceitos fundamentais e os principais desafios da computação distribuída, com foco em desempenho, fiabilidade, resiliência e segurança. Serão capazes de aplicar técnicas de design e boas práticas para modelar soluções distribuídas adequadas a diferentes contextos, desenvolver microsserviços com comunicação síncrona e assíncrona, integrar persistência de dados e mecanismos de coordenação entre serviços. Além disso, terão oportunidade de experimentar metodologias e ferramentas que suportam o ciclo de vida de sistemas distribuídos, incluindo containerização, monitorização e estratégias de teste. Pretende-se ainda que os estudantes demonstrem competências transversais de trabalho em equipa, comunicação técnica e resolução de problemas em ambientes complexos, consolidando uma preparação sólida para desafios reais de desenvolvimento e arquitetura de software distribuído.
  • Metodologias de ensino e avaliação

    Metodologias de ensino e avaliação

    A unidade curricular combina metodologias teóricas e práticas de forma integrada. Na vertente teórica, são realizados mini-testes periódicos para garantir o acompanhamento contínuo e um teste final de consolidação de conhecimentos. Na vertente prática, adota-se uma abordagem learning-by-doing, com desenvolvimento progressivo de microsserviços, checkpoints semanais, revisões de código e feedback contínuo, promovendo uma aprendizagem ativa e iterativa. São ainda introduzidas metodologias inovadoras como peer review entre grupos, resolução colaborativa de problemas e utilização de ferramentas de desenvolvimento profissional (GitHub, Docker, CI/CD), aproximando os estudantes das práticas reais da indústria e potenciando competências técnicas e transversais.
  • Bibliografia principal

    Bibliografia principal

    Coulouris, Dollimore & Kindberg, Distributed Systems: Concepts and Design, 5th Edition, Addison-Wiley, 2011, ISBN 0132143011.  
INSCRIÇÃO AVULSO
Lisboa 2020 Portugal 2020 Small financiado eu 2024 prr 2024 republica portuguesa 2024 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios