-
Apresentação
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. São analisadas as características dos sistemas distribuídos e os desafios na sua construção para que funcionem com bom desempenho, fiabilidade e segurança. A componente prática envolve a construção de um sistema cliente-servidor com vários servidores e comunicação por Web Services SOAP e REST e Java RMI.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 5
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
3 | Obrigatório | Português
-
Código
Código
ULHT2531-7348
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
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
Objetivos
Conhecer os desafios e as técnicas necessárias para a construção de sistemas distribuídos complexos que funcionem de forma eficiente, fiável e segura. Adquirir conhecimentos práticos na construção desses sistemas usando vários tipos de comunicação, incluindo Web Services e Java RMI.
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
São realizados mini-testes para garantir que os alunos acompanham regularmente a disciplina
-
Bibliografia principal
Bibliografia principal
Coulouris, Dollimore & Kindberg, Distributed Systems: Concepts and Design, 5th Edition, Addison-Wiley, 2011, ISBN 0132143011.
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não