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