Disciplina
Sistemas Distribuídos
Área
Área Científica de Arquitectura e Sistemas Operativos > Sistemas Operativos e Sistemas Distribuídos
Activa nos planos curriculares
GENI > GENI > 1º Ciclo > Área Principal > Percursos > Fundamentos para Engenharia de Telecomunicações e Informática > Sistemas Distribuídos
LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Área Principal > Sistemas Distribuídos
LETI 2021 > LETI 2021 > 1º Ciclo > Área Principal > Sistemas Distribuídos
LEIC-A 2021 > LEIC-A 2021 > 1º Ciclo > Área Principal > Sistemas Distribuídos
MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Fundamentos de Engenharia Informática > Sistemas Distribuídos
MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Fundamentos de Engenharia Informática > Sistemas Distribuídos
LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Sistemas Distribuídos
LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Sistemas Distribuídos
LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Sistemas Distribuídos
Nível
A avaliação da disciplina segue o regime tradicional de projecto e exame. A parte prática consiste num projecto conjunto com a disciplina de Engenharia de Software. A avaliação dos conhecimentos da parte teórica tem duas formas de avaliação. A primeira consiste num exame escrito ou em dois testes escritos. A segunda é uma avaliação por mini teste a realizar no final de cada grande capítulo
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
3.0 h/semana
1.5 h/semana
147.0 h/semestre
Objectivos
Analisar as arquitecturas e as tecnologias que permitem desenvolver aplicações distribuídas que possam garantir requisitos não funcionais como a reconfigurabilidade, a segurança, a tolerância a faltas e a escalabilidade. Aquisição de conhecimentos que permitam desenvolver uma aplicação com uma arquitectura distribuída. Programar aplicações distribuídas. Interpretar requisitos de segurança formulando políticas e concretizando mecanismos seguros no código da aplicação. Análise de requisitos de fiabilidade e disponibilidade e introdução de mecanismos de tolerância a faltas.
Programa
Introdução:. Problemas introduzidos pela distribuição. Evolução histórica. Arquitecturas de referência. Comunicação Distribuídas: Nível de Transporte e respectivas API. Chamada de Procedimentos Remotos. Sistemas de Objectos Distribuídos.Web Services Gestão de Nomes Propriedades dos Nomes, Sistemas de gestão de nomes. Sistemas de Directório. Arquitectura de serviço de gestão de nomes. Segurança Politicas e mecanismo de segurança. Base computacional de confiança. Canais seguros. Introdução à criptografia. Chave simétrica e chave assimétrica, distribuição de chaves. Autenticação. Autorização. Integridade ? assinaturas digitais. Web Services security Tolerância a faltas Modelo de Sistema, Tipos de falta; densas, bizantinas. Grandezas: Fiabilidade, Disponibilidade. Politicas de tolerância a faltas ? recuperação do erro, processamento do erro. Sistema de replicação passiva. Transacções distribuídas Arquitectura X/Open, Terminação em duas Fases, Monitores Transaccionais. Filas de Mensagens Comunicação Síncrona e Assíncrona. Message Oriented Middleware. Java Messages, Análise de plataformas integradoras : Sun-RPC, CORBA, J2EE, Web Services
Metodologia de avaliação
A avaliação da disciplina segue o regime tradicional de projecto e exame. A parte prática consiste num projecto conjunto com a disciplina de Engenharia de Software. A avaliação dos conhecimentos da parte teórica tem duas formas de avaliação. A primeira consiste num exame escrito ou em dois testes escritos. A segunda é uma avaliação por mini teste a realizar no final de cada grande capítulo
Pré-requisitos
Componente Laboratorial
Princípios Éticos
Componente de Programação e Computação
Componente de Competências Transversais
Bibliografia
Principal
Distributed Systems - Concepts and Design, Fifth Edition
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair
Secundária
Tecnologia de Sistemas Distribuídos
José Alves Marques e Paulo Guedes
Distributed Systems: Principles and Paradigms (2nd Edition)
Andrew Tanenbaum, Maarten Van Steen
Java Web Services: Up and Running (Second Edition)