Planeamento
Aulas Teóricas
Apresentação da Cadeira
Sistemas distribuídos: o que são?
Objectivos da cadeira
Planeamento
Método de avaliação
A comunicação distribuída
A comunicação ao nível das redes
A integração das redes no sistemas operativos
As interfaces de comunicação, sockets
Chamada Remota de Procedimento
Resolução de um exemplo de invocação remota de um serviço
Fundamentos de um sistema de RPC (remote procedure call)
Arquitectura de um sistema de RPC
RPC - arquitectura e SUN RPC
Interface description language e geração dos stubs
Modelos de faltas e semânticas
Exemplo: Sun RPC
Chamada remota de objectos - RMI
A evolução do modelo de RPC para RMI
Invocação de objectos em Java RMI
Invocação remota de objectos
Mecanismos de suporte á invocação remota
Reciclagem de memória
Caso do Java RMI
Comparação com o RPC
Web services
Implicações da internet na estrutura dos web services
Tecnologias da WWW reutilizados
SOAP
Web Services
Razões da evolução para os Web Services
Protocolo SOAP
Desenvolvimento de Web Services
Implementation first versus contract first
WSDL - organização e utilização
Web service - parametrização em run time
Serviço de Nomes - UDDI
Proxies estáticos e dinâmicos
Handlers
Nomes nos sistemas distribuídos
As funções dos nomes
Utilização dos nomes no RPC, RMI e Webservices
Serviços de Nomes
Propriedades dos Nomes
Arquitectura dos serviços de nomes
Caso de estudo: DNS
Serviços de Directório
X500 e LDAP
UDDI
Os conceitos de nomes em XML e web Services nas interface Java
Segurança
Politicas de segurança
Tusted computing base
Politicas de segurança em sistemas distribuídos
Conceitos de Criptografia
Chave simétrica
Chave assimétrica
block cipher stream cipher
Algoritmos e comparações
Autenticação
Princípios básicos para autenticação
Protocolo de Needham-Schroeder com chave simétrica
Kerberos
Introdução Tolerância a Faltas
Conclusão kerberos
Modelo de Faltas
Politicas de Tolerância a Faltas
Replicação
Replicação activa e passiva - modelos de faltas e arquitectura
O protocolo de Primary backup
Replicação activa
Sistema síncrono e assíncrono
Linearidade e sequencialidade
Protocolo de quoruns
Replicação
Comparação dos protocolos: grau de replicação, tempo de atraso, disponibilidade
Quóruns com peso
Autenticação com chave assimétrica
Protocolo de autenticação
Ataque de man-in-the-middle
1º mini teste
Apoio ao Projecto
Apoio à realização da segunda parte do projeto.
Transacções Atómicas distribuidas
Modelo de de faltas
Elementos da solução centralizadaO protocolo de terminação em duas fases
Papel do coordenador
Protocolo de terminação em duas fases
Diagramas de estado
O modelo X/open de transacções distribuidas
Normalização das transacções distribuídas
Transaction monitor
Evoluções dos transaction monitors
Evolução dos protocolos de terminação em duas fases
Revisão e 2º mini test
Análise de exames anteriores
2º mini teste