2026
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.
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
A avaliação da unidade curricular integra as seguintes componentes:
a) Componente teórica: provas escritas ? três frequências (3x 20%) ou um exame final (60%). Os estudantes optam entre a avaliação contínua por frequências e a avaliação final por exame. Todos os estudantes podem realizar o exame de recurso.
b) Componente prática: dois trabalhos práticos (2x 20%). Os trabalhos compreendem o software, o relatório e uma apresentação, em data a acordar. A componente prática é obrigatória em qualquer época de avaliação.
Cálculo da classificação: 0,6 × PE + 0,2 × T1 + 0,2 × T2
em que PE = (F1 + F2 + F3) / 3, sem arredondamento, ou a classificação obtida num exame.
Classificação mínima: 8 valores em todas as provas escritas e nos trabalhos.
Os trabalhos podem ser realizados individualmente ou em grupos de dois estudantes.
Prova Oral
Se for considerado necessário para verificar em que medida o estudante desenvolveu os conhecimentos e as competências previstas para a unidade curricular, poderá a equipa docente convocar o estudante para uma prova oral, em complemento de provas escritas e nos termos do n.º 13 do artigo 110.º do Regulamento Académico da Universidade de Évora, sendo asseguradas as condições previstas no n.º 4 do artigo 116.º e no n.º 1 do artigo 118.º do mesmo Regulamento.
Quando acionada, a prova oral terá uma ponderação de 60% na classificação final da unidade curricular, a combinar com os 40% da componente prática (que prevê a apresentação/demonstração dos trabalhos).
a) Componente teórica: provas escritas ? três frequências (3x 20%) ou um exame final (60%). Os estudantes optam entre a avaliação contínua por frequências e a avaliação final por exame. Todos os estudantes podem realizar o exame de recurso.
b) Componente prática: dois trabalhos práticos (2x 20%). Os trabalhos compreendem o software, o relatório e uma apresentação, em data a acordar. A componente prática é obrigatória em qualquer época de avaliação.
Cálculo da classificação: 0,6 × PE + 0,2 × T1 + 0,2 × T2
em que PE = (F1 + F2 + F3) / 3, sem arredondamento, ou a classificação obtida num exame.
Classificação mínima: 8 valores em todas as provas escritas e nos trabalhos.
Os trabalhos podem ser realizados individualmente ou em grupos de dois estudantes.
Prova Oral
Se for considerado necessário para verificar em que medida o estudante desenvolveu os conhecimentos e as competências previstas para a unidade curricular, poderá a equipa docente convocar o estudante para uma prova oral, em complemento de provas escritas e nos termos do n.º 13 do artigo 110.º do Regulamento Académico da Universidade de Évora, sendo asseguradas as condições previstas no n.º 4 do artigo 116.º e no n.º 1 do artigo 118.º do mesmo Regulamento.
Quando acionada, a prova oral terá uma ponderação de 60% na classificação final da unidade curricular, a combinar com os 40% da componente prática (que prevê a apresentação/demonstração dos trabalhos).
Bibliografia
"Distributed Systems - Concepts & Design". George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. 5th Edition, Addison Wesley
"API Gateway Handbook" 2nd Ed., Thomas Bayer and Tobias Polley. predic8 GmbH, Germany
"Distributed Systems". M. van Steen and A.S. Tanenbaum, 4th ed.
"Designing Distributed Systems". Brendan Burns. O'Reilly
"API Gateway Handbook" 2nd Ed., Thomas Bayer and Tobias Polley. predic8 GmbH, Germany
"Distributed Systems". M. van Steen and A.S. Tanenbaum, 4th ed.
"Designing Distributed Systems". Brendan Burns. O'Reilly
Equipa Docente
- José Miguel Gomes Saias [responsável]
- Mário Jorge Costa Mourão
