Código |
14352
|
Ano |
3
|
Semestre |
S2
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Informática
|
Objectivos de Aprendizagem |
Esta unidade Curricular tem como objectivos estudar o que é um sistema distribuído e as suas características, estudar quais os diferentes modelos de implementação de um sistema distribuído e estudar tecnologias que suportam a implementação de um sistema distribuído. No final o aluno deverá ser capaz de saber caracterizar sistemas distribuídos existentes, avaliar a viabilidade de implementação de um sistema distribuído e ser capaz de projectar e implementar sistemas distribuídos de vários tipos.
|
Conteúdos programáticos |
1. Introdução a processos, concorrência e sistemas distribuídos (características, desafios). 2. Modelos de programação distribuída (memória partilhada versus memória distribuída). 3. Concorrência em memória partilhada (prática com Threads em Java). 4. Sistemas de comunicação por mensagens (prática com Sockets TCP e UDP em Java) 5. Modelos Arquiteturais. 6. Modelos de Falhas, Interação e Segurança. 7. Tempo e relógios. 8. O modelo de RPCs e invocação remota de objectos (prática em java RMI). 9. Invocação remota na Internet (web services em JavaEE).
|
Bibliografia principal |
[Coulouris 2011] “Distributed Systems:Concepts and Design”, 5th edition, George Coulouris, Jean Dollimore and Tim Kindgerg, Addison-Wesley, 2011.
[Tanenbaum 2007] “Distributed Systems Principles and Paradigms”, Andrew S. Tanenbaum, Maarten Van Steen, Pearson International Edition, 2007.
|
Língua |
Português
|