Computação Distribuída
Apresentação
Disciplina focada na construção de aplicações distribuídas, onde se abordam os principais aspetos teóricos e práticos necessários para a construção dessas aplicações.
Disciplina do Curso
Engenharia Informática
Grau|Semestres|ECTS
| Semestral | 5
Ano | Tipo de unidade curricular | Lingua
3 |Obrigatório |Português
Código
ULHT260-7348
Disciplinas complementares recomendadas
Sistemas Operativos Redes de Computadores
Pré-requisitos e co-requisitos
Não aplicável
Estágio profissional
Não
Conteúdos Programáticos
1. Introdução. Caracterização, requisitos, arquitectura e funcionalidades
2. Arquitecturas e Modelos de Comunicação Distribuída. Arquitecturas de sistemas, níveis de software
3. Comunicação entre Processos Distribuídos (IPC). Características da comunicação entre processos, Invocação, parâmetros e heterogeneidade de dados
4. Invocação Remota e Objectos Distribuídos. RPC: Modelo de execução. Linguagem de definição de interfaces (IDL). Plataformas de execução: Sun RPC, Java RMI
5. Nomeação e Serviços de Directório. Tipos de Nomes. Espaços de nomeação. Serviços de Directório (Web, X.500, LDAP)
6. Web Services (WS). Modelo de Execução Web Services (WS). O protocolo SOAP. Linguagens de definição de Serviços (WSDL)
7. Segurança. Modelo de segurança. Autenticação. Controlo de acesso
8. Sistemas de Ficheiros Distribuídos. Arquitecturas de SGF distribuídos. Implementações: NFS e AFS
9. Transações. Modelo transaccional. Propriedades ACID das transacções. Transacções distribuídas. Protocolo 2-phase-commit
Objetivos
Esta unidade curricular tem por objectivo abordar os principais modelos de computação distribuída, começando pelas técnicas fundamentais, apresentando de seguida as tecnologias associadas à invocação remota de objectos e arquitecturas orientadas aos serviços e terminando com os fundamentos de segurança e transações distribuídas.
Metodologias de ensino e avaliação
A abordagem seguida permite que os alunos adquiram um conhecimento teórico dos principais modelos de Computação Distribuída e de invocação remota, e os ponham em prática através da realização de projectos baseados em plataformas distribuídas actuais. A aprendizagem tem uma forte componente de trabalho de pesquisa realizado individualmente pelos alunos, complementada pela apresentação e análise de exemplos extraídos de aplicações reais. Por outro lado a componente laboratorial fornece aos alunos a oportunidade de adquirir uma formação profissionalizante nas principais plataformas de computação distribuída existentes.
A avaliação é contínua e constituída por mini-testes e um teste teórico (50%) e entrega de um projecto prático (50%) ao longo do semestre. A aprovação na cadeira é obtida com uma nota mínima de 10 valores da média das duas componentes teórica e prática.
Bibliografia principal
Edition, Addison-Wiley, 2011, ISBN 0132143011.
Horário de Atendimento
Nome do docente Horário de atendimento Sala Paulo Guedes Sempre disponível por email paulo.guedes@ulusofona.pt