Planeamento
Aulas Teóricas
Apresentação e Funcionamento da Cadeira
Apresentação da Cadeira.
Programa
Regras de funcionamento das aulas práticas
Avaliação
Sistemas Distribuídos - o que são e o que justifica a sua relevância
- Definições de Sistema Distribuído
- Condicionantes Tecnológicos do desenvolvimento dos Sistemas Distribuidos.
- Condicionantes económicos e empresariais
Comunicação Distribuída
- Modelo da comunicação.
- Papel das Redes de Dados. Inserção no Sistemas Operativo.
- API e Portos de Comunicação. Características do canal: tipo de canal, semântica do envio de mensagem, estrutura das mensagens, difusão.
Chamada de Procedimento Remoto
- Arquitectura de um sistema de RPC.
- Vantagens e Desvantagens comparativamente a um sistema de mensagens.
- Especificção dos Serviço, IDL, Limitações das IDL. Funcionamento da invocação remota
Protocolo de RPC
Protocolo de base do RPC.
- Funcionamento em presença de faltas.
- Semânticas de invocação.
- Protocolos de Apresentação.
- Controlo dos fluxos de execução.
Análise do Sun-RPC
Invocação Remota de Objectos
Sistemas de Objectos Distribuídos;
- Diferenças para um sistema de RPC;
- Granularidade;
- Passagem de objectos por referência e por cópia;
- Invocação dinâmica;
Corba;
- Análise da arquitectura,
- IDL
- Protocolos de invocação
Java RMI
- Análise da arquitectura,
- IDL
- Passagem de Objectos como parâmetros
Web Services
Conclusão Remote Object Invocation
- .NET remoting
- Comparação Corba, RMI, Remoting .NET
Web Services
- Principais Objectivos dos Web Services;
- Arquitectura dos Web Services
- XML - principais elemntos da tecnologia
Web services - Continuação
O Protocolo SOAP
A descrição do contrato de serviço: WSDL - Web Service Description Language
Ambiente Java para desenvolvimento de Web Services
- Definição da interface do Serviço
- Geração do servidor e do ficheiro WSDL
- Geração estática do cliente
- Interface de invocação dinâmica
Nomes nos Sistemas Distribuídos
Conclusão dos Web Services na palatforma Java
Nomes em Sistemas Distribuídos
- Objectivos
- Conceitos de Base
- Propriedades dos Nomes
- Operações Básicas dos serviços de nomes
- Relação das operações com as propriedades dos nomes
Serviços de Nomes
Arquitectura dos Serviços de Nomes
- Soluções de Arquitectura
- Arquitectura cliente-servidor
- Algoritmos de resolução dos nomes
Análise de Serviços de Nomes
Domain Name Service
- Estrutura de Nomes
- Arquitectura
Serviços de Nomes para Gestão de redes locais
- NIS
- Arquitectura
Norma do Directórioa X.500
- Nomes X.500
- Estrutura do Directório
- LDAP e Active Directory
Serviço de Directório UDDI
- Estrutura de Informação
- Taxonomias de classificação
- Operadores Públicos e Privados
- APIs
- Agente em Java - JAX-R
Segurança nos Sistemas Informáticos
Política de Segurança nos Sistemas Informáticos
- Bens e Ameaças
- Potenciais atacantes
- Principais mecanismos da politica de segurança
Base Computacional Segura
- Nos Sistemas Isolados
- Nos Sistemas em Rede
- Principío da suspeição mútua
Fundamentos de Criptografia
Noções Básicas de Criptografia
- Sistema de Criptografia
- Tipologia
Sistemas de Cifra Simétrica
- Algoritmos de base
- DES
- Utilização do DES
Criptografia Assimétrica
Sistemas de Cifra Assimétrica
- Algoritmos em aritmética modular
- RSA
- Exemplo de criação de chaves
- Exemplo de Utilização
Politica de distribuição de chaves
- Chave simétrica
- Chave assimétrica
- Chave mista
Autenticação
Protocolo de Base
- Cifra Simétrica
- Cifra Assimétrica
- Ataques possíveis
Kerberos
- Protocolo
- Utilização
- Evoluções Kerberos
Assinatura Digitais e Certificados
Assinatura Digital
- Protocolo de base
- Funções de Resumo
- Normas para assinatura digital
Certificados
- Certficados X509
- Organização de uma PKI
Segurança numa Arquitectura de Serviços
Exemplos de Canais Seguros
- IPSEC - VPN
- SSH
- Email seguro - PEM
Segurança em Web Services
- Handlers
- Ws-security
- XML ENC e XML DSIG
Tolerância a Faltas
Modelo de Sistema
Tipos de faltas
- Origem
- Duração
- Catastrofes
- Faltas densas
- Faltas Bizantinas
Grandezas
- Fiabilidade
- Disponibilidade
Protocolos de Replicação
Replicação Passiva
Modelo do sistema
- Modelo de faltas
- Protocolo de base
- Pressupostos
- Protocolos e respectiva avaliação
Replicação Activa
- Protocolo de Quóruns
Transacções Atómicas Distribuídas
Modelo Transaccional
- Modelo de faltas
- Arquitectura típica
- Mecanismos que garantem atomicidade e recuperação de faltas
Transacções Distribuídas
- Modelo de faltas
- Problema do consenso distribuído
Protocolo de Confirmação em Duas Fases
Protocolo de confirmação em duas fase - 2PC
- Protocolo
- Comportamento em presença de faltas
- Limitações do protocolo
Modelo X/OPEN
- Arquitectura
- Funcionamento do Resource Manager e Transaction Manager
- Exemplos de plataformas de gestão de transacções distribuídas
Protocolos não bloqueantes
- 3PC
Transacções em Web Services
Transacções de curta e longa duração
Normas WS-Transactions
- Protocolo de Coordenação
- Business Activities
- Protocolos de terminação
Integração de sistemas e aplicações
Motivação da integração de sistemas e aplicações nas organizações.
Breve resuma das arquitecturas de integração.
Casos de estudo
Casos de estudo de sistemas distribuídos de grande escala. Google