Sistemas Distribuídos
3
2017-2018
01000241
Informática
Português
Presencial
Semestral
6.0
Obrigatória
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ãoPrograma
- Introdução aos Sistemas Distribuídos
- Desafios no desenvolvimento de aplicações distribuídas
- Overview sobre Middleware
- O modelo Cliente/Servidor
- Programação em Sockets TCP e UDP
- Comunicação em Multicast
- O modelo de RPCs e invocação remota de objetos
- Tratamento de falhas no modelo de RPCs e semânticas dos RPCs
- Programação distribuída usando Java RMI
- Introdução ao CORBA
- Message-Oriented Middleware e o JMS API
- O protocolo HTTP
- Modelos 2-tier, 3-tier e N-tier
- Aplicações distribuídas para a Internet
- Overview da programação Web
- A tecnologia de Web-Services: SOAP, XML, UDDI
- Segurança em Sistemas Distribuídos
- Servidores de Naming e Serviços de Diretoria
- Sistemas de Ficheiros Distribuídos
- Sincronização de relógios em sistemas distribuídos
- Ordem causal e total nas aplicações distribuídas
- Manutenção e upgrade de aplicações distribuídas
- Replicação de servidores e soluções de alta-disponibilidade
- 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