Sistemas Distribuídos

Ano
3
Ano lectivo
2012-2013
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 Objectos, Redes de Computadores.

Métodos de Ensino

Nesta unidade curricular serão lecionadas aulas teóricas com exposição detalhada dos conceitos, princípios e técnicas fundamentais dos Sistemas Distribuídos, acompanhada de exemplos práticos que despertem o interesse dos alunos pela matéria 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 resolvam exercícios de aplicação prática que exijam a conjugação de conceitos teóricos e promovam o raciocínio crítico face a problemas mais complexos. As aulas teórico-práticas serão ainda destinadas a apoiar 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 objectos
  8. Tratamento de falhas 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 Directoria
  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
Projecto: 40.0%
Exame: 60.0%

Bibliografia

Distributed Systems: Concepts and Design

5th Edition

George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair

ISBN: 0-273-76059-9


Publisher: Addison-Wesley

 

Opcional:

Distributed Systems: Principles and Paradigms

Andrew S. Tanenbaum, Maarten van Steen

ISBN: 0130888931

Publisher: Prentice Hall