SISTEMAS DISTRIBUÍDOS Nuno Preguiça (nuno.preguica_at_fct.unl.pt) Sérgio Duarte (smd_at_fct.unl.pt) João Leitão (jc.leitao_at_fct.unl.pt) http://asc.di.fct.unl.pt/sd Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1
OBJETIVOS DA CADEIRA Pretende-se que os alunos compreendam: Características essenciais Modelos e arquiteturas dos sistemas Técnicas de conceção Foco na simplicidade, desempenho, fiabilidade e tolerância a falhas. Pretende-se que os alunos sejam capazes de implementar um sistema distribuído seguro e tolerante a falhas, com recurso a tecnologias standard, incluindo SOAP, e OAuth. Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 2
PROGRAMA DAS AULAS TEÓRICAS 1. Introdução (cap. 1) 2. Arquiteturas e modelos (cap. 2) 3. Sistemas de comunicação direta (cap. 4.1-4.3, 6.4) 4. Invocação remota (cap.5, 4.3) 5. Invocação remota na Internet (cap. 9) 6. Tempo e ordenação de eventos (cap. 6.1-6.3, 15.4) 7. Introdução à replicação (cap. 12.1-12.4, 15.3, 18.4) 8. Sistemas de comunicação indireta (cap. 6.1-6.3, 15.4) 9. Segurança (cap. 11.1-11.4,11.6) 10. Sistemas de Nomes (cap. 13) Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 3
PROGRAMA DAS AULAS PRÁTICAS Pressuposto: alunos conhecem primitivas de comunicação TCP/IP (java.net) Web services Web services SOAP Tolerância a falhas nestes sistemas + SOAP sobre SSL + Oauth Soluções de replicação Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 4
PLANEAMENTO Datas Teórica-2ªfeira Teórica-3ªfeira Data Importantes 6 Mar-10 Mar Apresentação & intro : 1 Introdução : 1 ENUNCIADO: 10 Mar 13-17 Mar Arquiteturas: 2 Arquiteturas: 2 20-24 Mar Arquiteturas: 2 Comunicação direta: 3 26-30 Mar Inv remota: 4 Inv remota: 4 3 Abr-7 Abr sem teórica sem teórica 10-14 Abr Inv remota: 4 Inv remota: 4 TRABALHO: 13 Abr 17-21 Abr feriado Invocação Internet: 5 ENUNCIADO: 12 Abr 24-28 Abr Aula de dúvidas feriado TESTE: 28 Abr; RELATÓRIO: 28 Abr 1-5 Mai feriado Tempo: 6 8-12 Mai Replicação: 7 Replicação: 7 15-19 Mai Comunicação indireta: 8 Comunicação indireta: 8 22-26 Mai Segurança: 9 Segurança: 9 TRABALHO: 26 Maio 29 Mai-2 Jun Segurança: 9 Nomes: 10 RELATÓRIO: 29 Maio 5 Jun-9 Jun Aula de dúvidas TESTE - 14 Jun Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 5
PLANEAMENTO Datas Práticas Data Importantes TRABALHO: CHECK LIST 6 Mar-10 Mar : cliente + servidor ENUNCIADO: 10 Mar 13-17 Mar Docker: empacotamento e execução Versão 20-24 Mar Descoberta + falhas Tratamento de falhas 26-30 Mar Web services SOAP Versão SOAP 3 Abr-7 Abr Suporte trabalho Tratamento de falhas 10-14 Abr Suporte trabalho TRABALHO: 13 Abr 17-21 Abr +Oauth ENUNCIADO: 12 Abr 24-28 Abr +Oauth TESTE - 28 Abr; RELATÓRIO: 28 Abr HTTPS 1-5 Mai Ligação a serviço exterior 8-12 Mai Replicação 15-19 Mai Replicação 22-26 Mai Suporte trabalho TRABALHO - 26 Maio 29 Mai-2 Jun RELATÓRIO: 29 Maio 5 Jun-9 Jun TESTE - 14 Jun Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 6
MATERIAL DIDÁCTICO Hardware: Laboratório com um conjunto de computadores ligados através de uma rede local. Sistemas de operação Linux e Windows. Software: Sistema Java 8.0 para Linux e Windows. Documentação: Cópia dos transparentes de apoio às aulas teóricas Cópia dos transparentes de apoio às aulas práticas Código de exemplos e exercícios Informações e bibliografia on-line. http://asc.di.fct.unl.pt/sd Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 7
BIBLIOGRAFIA Principal George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems - Concepts and Design, Addison-Wesley, 5th Edition, 2011 Alternativa M. van Steen, A. Tanenbaum, Distributed Systems, CreateSpace Independent Publishing Platform, February 2017 Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 8
AVALIAÇÃO Componentes da avaliação: teste 1 (32.5%), teste 2 (32.5%), trab-fase1 (15%), trab-fase2 (20%) Nota: todas as notas intermédias são aproximadas às décimas. Média(teste 1, teste 2) >= 8.5 Frequência da parte prática. Um aluno tem frequência se a nota de frequência for igual ou superior a 8 valores Nota de frequência = 50% * trab 1 + 50% * trab 2 Nota com exame: exame (65%), trab 1 (15%), trab 2 (20%) exame >= 8.5 Melhorias de nota ou alunos com frequência positiva. A nota de frequência obtida é válida e será usada no cálculo da nota final. Os testes e exames são realizados sem consulta. Os trabalhos práticos são realizados em grupos de 2 alunos (de preferência do mesmo turno prático). Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 9
AVALIAÇÃO (2) Trabalho prático Para o trabalho prático, será definido nas no enunciado das duas fases: As funcionalidades mínimas que o trabalho deve implementar. As funcionalidades opcionais e a sua valorização na nota do trabalho. Será fornecido um cliente que permite testar as funcionalidades base do trabalho de forma independente. O trabalho prático deve ser demonstrado a funcionar nos laboratórios do DI em múltiplas máquinas (como definido no enunciado), usando o hardware disponível ou o dos alunos. A avaliação do trabalho prático será obtida pela avaliação do trabalho efectuado, a qual pode incluir uma discussão sobre o mesmo com todos os elementos do grupo. Os alunos que, sem justificação, não compareçam a uma discussão não têm frequência. Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 10
TRABALHO PRÁTICO FASE 1 rendez-vous SOAP rendez-vous Informação sobre servidores de cliente + SOAP cliente Informação sobre documentos (URL, lista de keywords) Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 11
TRABALHO PRÁTICO FASE 2 rendez-vous SOAP Servidor info externa Internet Interação com serviço externo + SOAP cliente Segurança,SOAP over HTTPS Replicação da informação Servidor rendez-vous ou Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 12
TRABALHO PRÁTICO rendez-vous SOAP Servidor info externa Internet + SOAP cliente 1. Introdução 2. Arquiteturas e modelos 3. Sistemas de comunicação direta 4. Invocação remota 5. Invocação remota na Internet 6. Tempo e ordenação de eventos 7. Introdução à replicação 8. Sistemas de comunicação indireta 9. Segurança 10.Sistemas de Nomes Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 13
TRABALHO PRÁTICO rendez-vous SOAP Servidor info externa Internet + SOAP cliente 1. Introdução 2. Arquiteturas e modelos 3. Sistemas de comunicação direta 4. Invocação remota 5. Invocação remota na Internet 6. Tempo e ordenação de eventos 7. Introdução à replicação 8. Sistemas de comunicação indireta 9. Segurança 10.Sistemas de Nomes Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 14
TRABALHO PRÁTICO rendez-vous SOAP Servidor info externa Internet + SOAP cliente 1. Introdução 2. Arquiteturas e modelos 3. Sistemas de comunicação direta 4. Invocação remota 5. Invocação remota na Internet 6. Tempo e ordenação de eventos 7. Introdução à replicação 8. Sistemas de comunicação indireta 9. Segurança 10.Sistemas de Nomes Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 15
TRABALHO PRÁTICO rendez-vous SOAP Servidor info externa Internet + SOAP cliente 1. Introdução 2. Arquiteturas e modelos 3. Sistemas de comunicação direta 4. Invocação remota 5. Invocação remota na Internet 6. Tempo e ordenação de eventos 7. Introdução à replicação 8. Sistemas de comunicação indireta 9. Segurança 10.Sistemas de Nomes Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 16