Disciplina

Área

Área Científica de Arquitectura e Sistemas Operativos > Sistemas Operativos e Sistemas Distribuídos

Activa nos planos curriculares

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

METI 2018 > METI 2018 > 2º Ciclo > Áreas de Especialização > Aplicações Seguras, Móveis Entre-Pares e na Nuvem > Desenvolvimento de Aplicações Distribuídas

MEIC-T 2018 > MEIC-T 2018 > 2º Ciclo > Agrupamentos > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

METI 2021 > METI 2021 > 2º Ciclo > Área Principal > Especializações > Especialização em Sistemas Distribuídos e Aplicações para a Internet > Informática > Desenvolvimento de Aplicações Distribuídas

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

MERC 2006 > MERC 2006 > 2º Ciclo > Tronco Comum > Desenvolvimento de Aplicações Distribuídas

MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Tecnologias dos Sistemas Informáticos > Desenvolvimento de Aplicações Distribuídas

MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Sistemas Distribuídos > Desenvolvimento de Aplicações Distribuídas

Nível

Exame (40%), Projecto (45%), Apresentações (15%)

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

147.0 h/semestre

Objectivos

Perceber os problemas de nível sistema subjacentes à concepção e desenvolvimento de aplicações em redes de grandes escala (ex.: na Internet). Conhecer as soluções existentes no âmbito das plataformas de suporte à execução das aplicações antes referidas com ênfase na arquitectura, modelos de comunicação, escalabilidade, desempenho e segurança. Especificar, conceber, analisar e implementar aplicações distribuídas em redes de grande escala assim como as respectivas plataformas de suporte à sua execução.

Programa

Introdução e Fundamentos ? introdução aos sistemas distribuídos de grande escala, apresentação de problemas/desafios, requisitos não funcionais, e fundamentos teóricos. Requisitos, Modelos e Soluções - modelos (aplicacional, de objectos, de comunicação, de sincronização, de nomes, de faltas e de segurança) e arquitecturas (cliente-servidor, publish-subscribe, P2P e GRID) tendo em conta requisitos não funcionais. Arquitecturas - estudo de cada uma das arquitecturas antes referidas em maior detalhe (cliente-servidor, publish-subscribe, P2P e GRID) com destaque para o cliente-servidor no âmbito da qual se abordam especificamente os sistemas de ficheiros, sistemas de objectos distribuídos, a replicação e o clustering. Casos de Estudo - apresentação dos sistemas actuais mais representativos como exemplo das matérias acima referidas (de facto, esta parte acaba por ser dada ao longo do semestre de modo a ilustrar de imediato a matéria à medida que for sendo leccionada).

Metodologia de avaliação

Exame (40%), Projecto (45%), Apresentações (15%)

Pré-requisitos

Componente Laboratorial

Princípios Éticos

Componente de Programação e Computação

Componente de Competências Transversais

Bibliografia

Principal

PADI: Compiled by Luis Rodrigues Luis Veiga for IST from: "Distributed Systems: Concepts and Design Fifth Edition "

George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair

2012

Pearson Custom Publishing