2024
Sistemas Distribuídos
Nome: Sistemas Distribuídos
Cód.: INF13206L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica:
Informática
Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português, Inglês
Regime de Frequência: Presencial
Objetivos de Desenvolvimento Sustentável
Objetivos de Aprendizagem
O objetivo desta Unidade Curricular é dotar os alunos de conhecimentos sobre Sistemas Distribuídos, a nível teórico e prático, conferindo-lhes competências para análise de requisitos, e para desenhar e implementar soluções de software com arquitetura distribuída.
No final desta Unidade Curricular, os alunos estarão aptos a avaliar as diferentes necessidades de comunicação e coordenação entre componentes de um Sistema Distribuído, e a optar, de forma fundamentada, por uma abordagem de resposta a essas necessidades.
No final desta Unidade Curricular, os alunos estarão aptos a avaliar as diferentes necessidades de comunicação e coordenação entre componentes de um Sistema Distribuído, e a optar, de forma fundamentada, por uma abordagem de resposta a essas necessidades.
Conteúdos Programáticos
Introdução aos Sistemas Distribuídos (SD)
conceitos, exemplos, características
Modelos de Interação e Comunicação em SDs
Arquiteturas centralizadas, descentralizadas, híbridas
Protocolos multi-camadas, RPC, Multicast
Marshalling
Middleware
Objetos Distribuídos e Invocação Remota
Java RMI, CORBA
Marshalling: RPC, Java RMI, SOAP, REST
Web Services e REST
Sistemas de Ficheiros Distribuídos
Serviços de Nomes
Sincronização e coordenação distribuída
Sincronização de Relógios
Exclusão mútua em contexto distribuído
Algoritmos para eleição
Replicação
Tolerância a Falhas
Cloud Computing
Data-Intensive Computing, Paradigma Map-Reduce
conceitos, exemplos, características
Modelos de Interação e Comunicação em SDs
Arquiteturas centralizadas, descentralizadas, híbridas
Protocolos multi-camadas, RPC, Multicast
Marshalling
Middleware
Objetos Distribuídos e Invocação Remota
Java RMI, CORBA
Marshalling: RPC, Java RMI, SOAP, REST
Web Services e REST
Sistemas de Ficheiros Distribuídos
Serviços de Nomes
Sincronização e coordenação distribuída
Sincronização de Relógios
Exclusão mútua em contexto distribuído
Algoritmos para eleição
Replicação
Tolerância a Falhas
Cloud Computing
Data-Intensive Computing, Paradigma Map-Reduce
Métodos de Ensino
A metodologia de ensino compreende dois tipos de aula:
aulas teóricas
aulas práticas laboratoriais
Nas aulas teóricas são apresentados os conceitos de Sistemas Distribuídos e toda a matéria, de forma sequencial e elevando gradualmente o nível de abstração.
As aulas práticas laboratoriais são dedicadas à aprendizagem e aplicação de tecnologias empregues na implementação de sistemas distribuídos. Algumas destas aulas são dedicadas à implementação de dois trabalhos em grupo, o primeiro a meio do semestre e o segundo no final do semestre.
Avaliação:
Prova Escrita: 2 frequências ou 1 exame (60%)
2 Trabalhos práticos em grupo (20% + 20%)
aulas teóricas
aulas práticas laboratoriais
Nas aulas teóricas são apresentados os conceitos de Sistemas Distribuídos e toda a matéria, de forma sequencial e elevando gradualmente o nível de abstração.
As aulas práticas laboratoriais são dedicadas à aprendizagem e aplicação de tecnologias empregues na implementação de sistemas distribuídos. Algumas destas aulas são dedicadas à implementação de dois trabalhos em grupo, o primeiro a meio do semestre e o segundo no final do semestre.
Avaliação:
Prova Escrita: 2 frequências ou 1 exame (60%)
2 Trabalhos práticos em grupo (20% + 20%)
Bibliografia
"Distributed Systems - Concepts & Design". George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. 5th Edition, Addison Wesley
"Designing Distributed Systems". Brendan Burns. O'Reilly
"Distributed Systems: Principles and Paradigms". Andrew S. Tanenbaum, Maarten van Steen. 2nd Edition
"Designing Distributed Systems". Brendan Burns. O'Reilly
"Distributed Systems: Principles and Paradigms". Andrew S. Tanenbaum, Maarten van Steen. 2nd Edition
Equipa Docente
- José Miguel Gomes Saias [responsável]
- Mário Jorge Costa Mourão