Sistemas Distribuídos

Ano
3
Ano lectivo
2017-2018
Código
01000241
Área Científica
Informática
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Sistemas Operativos, Programação Orientada a Objetos, Redes de Computadores.

Métodos de Ensino

Nesta unidade curricular serão lecionadas aulas teóricas com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e técnicas fundamentais dos Sistemas Distribuídos, acompanhada de exemplos práticos elementares que despertem o interesse dos alunos pela matéria teórica e exemplifiquem a sua aplicação a situações reais.

Serão também lecionadas aulas teórico-práticas em que se pretende que os alunos, com a orientação do docente, resolvam alguns exercícios de aplicação prática, que exijam a conjugação de conceitos teóricos distintos e promovam o raciocínio crítico face a problemas mais complexos. As aulas teórico-práticas serão ainda destinadas ao apoio aos trabalhos práticos.

Resultados de Aprendizagem

A disciplina de Sistemas Distribuídos proporciona aos alunos uma abordagem abrangente sobre os algoritmos, protocolos e fundamentos dos sistemas distribuídos modernos. Os alunos deverão adquirir competências no desenvolvimento de aplicações distribuídas usando várias tecnologias e deverão ser capazes de perceber e interligar conhecimentos sobre técnicas fundamentais para o desenho de aplicações distribuídas em ambiente empresarial e para a Internet. A disciplina pretende promover a aquisição de competências em análise e síntese, conhecimentos de informática relativos ao âmbito do estudo, competência para resolver problemas, competência em aprendizagem autónoma e competência em aplicar na prática os conhecimentos.

Estágio(s)

Não

Programa

  1. Introdução aos Sistemas Distribuídos
  2. Desafios no desenvolvimento de aplicações distribuídas
  3. Overview sobre Middleware
  4. O modelo Cliente/Servidor
  5. Programação em Sockets TCP e UDP
  6. Comunicação em Multicast
  7. O modelo de RPCs e invocação remota de objetos
  8. Tratamento de falhas no modelo de RPCs e semânticas dos RPCs
  9. Programação distribuída usando Java RMI
  10. Introdução ao CORBA
  11. Message-Oriented Middleware e o JMS API
  12. O protocolo HTTP
  13. Modelos 2-tier, 3-tier e N-tier
  14. Aplicações distribuídas para a Internet
  15. Overview da programação Web
  16. A tecnologia de Web-Services: SOAP, XML, UDDI
  17. Segurança em Sistemas Distribuídos
  18. Servidores de Naming e Serviços de Diretoria
  19. Sistemas de Ficheiros Distribuídos
  20. Sincronização de relógios em sistemas distribuídos
  21. Ordem causal e total nas aplicações distribuídas
  22. Manutenção e upgrade de aplicações distribuídas
  23. Replicação de servidores e soluções de alta-disponibilidade
  24. Sistemas Peer-to-Peer.

Docente(s) responsável(eis)

Raul André Brajczewski Barbosa

Métodos de Avaliação

Avaliação
Componente prática: 40.0%
Exame: 60.0%

Bibliografia

Distributed Systems: Concepts and Design

4th Edition

George Coulouris, Jean Dollimore, Tim Kindberg

ISBN: 0-321-26354-5


Publisher: Addison-Wesley

 

Distributed Systems: Principles and Paradigms

Andrew S. Tanenbaum, Maarten van Steen

ISBN: 0130888931

Publisher: Prentice Hall