Upload
letram
View
212
Download
0
Embed Size (px)
Citation preview
1
Page 1
Departamento de Engenharia Informática
Sistemas Distribuídos
12/13 Sistemas Distribuídos 1
Departamento de Engenharia Informática
O que é um sistema distribuído?
2
Page 2
Departamento de Engenharia Informática
Sistema Distribuído
Sistema de componentes software/hardware
localizadas em computadores ligados em rede
que comunicam e coordenam as suas acções através de troca de mensagens.
Departamento de Engenharia Informática
Consequências?
• Concorrência– Diferentes nós do sistema distribuído executam-se em
concorrência
– Bom ou mau?
• Não há relógio global– Relógios locais não estão necessariamente iguais
– Única forma de coordenação é por troca de mensagens
• Falhas independentes– Qualquer componente pode falhar de forma independente das
outras
– Bom ou mau?
28-02-2007 Sistemas Distribuídos
3
Page 3
Departamento de Engenharia Informática
Alguns exemplos de Sistemas
Distribuídos
12/13 Sistemas Distribuídos 5
Departamento de Engenharia Informática
Motores de pesquisa na Web
12/13 Sistemas Distribuídos 6
4
Page 4
Departamento de Engenharia Informática
Redes Sociais Abertas
Departamento de Engenharia Informática
Jogos em Rede
5
Page 5
Departamento de Engenharia Informática
Sistemas automáticos
de trading financeiro
Departamento de Engenharia Informática
Tendências actuais
em sistemas distribuídos
12/13 Sistemas Distribuídos 10
6
Page 6
Departamento de Engenharia Informática
A Internet moderna
12/13 Sistemas Distribuídos 11
intranet
ISP
desktop computer:
backbone
satellite link
server:
☎☎☎☎
network link:
☎☎☎☎
☎☎☎☎
☎☎☎☎
Departamento de Engenharia Informática
Computação móvel e ubíqua
7
Page 7
Departamento de Engenharia Informática
Sistemas de multimédia distribuídos
Departamento de Engenharia Informática
Computação em nuvem
8
Page 8
Departamento de Engenharia Informática
Objectivos e Programa
• Estudar as técnicas fundamentais para a construção de sistemas distribuídos
– Redes de dados e programação da comunicação distribuída (revisão)
– RPC (Remote Procedure Call), RMI, Web Services
– Gestão de Nomes
– Segurança
• Canais seguros
• Autenticação
• Autorização
– Tolerância a Faltas
• Replicação
• Transacções
12/13 Sistemas Distribuídos 15
Departamento de Engenharia Informática
Objectivos
• O objectivo principal é analisar as arquitecturas
e as soluções técnicas que permitem desenvolver aplicações distribuídas, garantindo os requisitos não funcionais como a reconfigurabilidade, segurança, tolerância a faltas e escalabilidade.
– Para tal é necessário analisar os problemas que se colocam nos sistemas distribuídos e quais são as soluções para os ultrapassar.
12/13 Sistemas Distribuídos 16
9
Page 9
Departamento de Engenharia Informática
Objectivos
• O objectivo global subdivide-se: – na caracterização dos sistemas distribuídos;
– arquitecturas de referência;
– políticas e mecanismos de suporte à comunicação distribuída: troca de mensagens, procedimentos remotos;
– gestão de nomes distribuída;
– politicas e mecanismos de segurança
– tolerância a faltas.
• Para todas as tecnologias abordadas procura-se relacioná-las com os ambientes de desenvolvimento de aplicações e com as diversas plataformas de middleware e de suporte a sistemas distribuídos existentes no mercado.
12/13 Sistemas Distribuídos 17
Departamento de Engenharia Informática
Corpo Docente
• José Alves Marques
– Responsável Teóricas -Alameda
• João Barreto
– Responsável Teóricas - Tagus
• Miguel Pardal
– Responsável Laboratórios – Tagus e Alameda
• João Garcia
– Laboratórios – Alameda
12/13 Sistemas Distribuídos 18
10
Page 10
Departamento de Engenharia Informática
Bibliografia principal
Distributed Systems: Concepts and Design George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. Addison Wesley/Pearson Education. 5th Edition, 2011.
12/13 Sistemas Distribuídos 19
Departamento de Engenharia Informática
Bibliografia secundária
• Concurrency Control and Recovery in Database Systems, Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman Addison-Wesley Publishing,
• Tecnologia de Sistemas Distribuídos, José Alves Marques e Paulo Guedes, FCA Editora de Informática, 2ª edição, 1999.
• Distributed Systems: Principles and Paradigms (2nd Edition), Andrew Tanenbaum, Maarten Van Steen, Prentice Hall, 2006
• Java Web Services Architecture, J McGovern, S. Tyagi, M. Stevens, S. Mathew, Morgan Kaufmann, 2003
Outras referências:• Web Services, Concepts, Architectures and Applications, G Alonso,
F Casati, H Kuno, V Machiraju, Springer Verlag, 2004• Distributed Systems, S. Mullender. Addison-Wesley. 1993.
• Transaction Processing: Concepts and Techniques, J. Gray & A. Reuter. Morgan Kaufmann. 1993.
12/13 Sistemas Distribuídos 20
11
Page 11
Departamento de Engenharia Informática
Avaliação de conhecimentos
• Avaliação da disciplina tem 3 componentes: contínua (5%), projecto (50%) e teórica (45%)
– A nota mínima para aprovação à cadeira é de 10 (dez) valores
– No cálculo da média dos testes e da nota final não são feitos arredondamentos das notas parcelares
• Para informação detalhada, consultar o site da cadeira!
12/13 Sistemas Distribuídos 21
Departamento de Engenharia Informática
Avaliação de Conhecimentos:
Avaliação Contínua (5%)
• Avalia a 2ª, 3ª e 4ª aulas de laboratório
• Cada aula inclui problema a resolver em grupos de 3
– Enunciado base do problema é conhecido desde a semana anterior à aula
– Mini-exercício adicional secreto é indicado a cada grupo na própria aula
• Solução é apresentada ao docente de laboratório até ao final da aula de laboratório
12/13 Sistemas Distribuídos 22
12
Page 12
Departamento de Engenharia Informática
Avaliação de Conhecimentos:
Projecto (50%)
• O projecto realizar-se-á em duas fases– Cada fase corresponde a um ponto intercalar de avaliação que
permitirá aferir os grupos que estão a realizar o trabalho de uma forma que lhes permita concluir o projecto com aprovação.
• Alunos de LEIC:– Possível fazer projecto conjunto com a disciplina de
Engenharia de Software
– Grupo de 6 grupos
• Alunos de LERC:– Projecto em grupos de 3
– Não se permite projecto conjunto
• Nota mínima: 8 valores12/13 Sistemas Distribuídos 23
Departamento de Engenharia Informática
Avaliação de Conhecimentos:
Avaliação Teórica (45%)
• Nota mínima de 9,0 valores
• Constituída por 2 sub-componentes:– Avaliação por Exames/Testes escritos (85%)
• Dois percursos possíveis:
– 1º teste, 2º teste, repescagem de um dos testes
– 1º exame, 2º exame
• Nota da repescagem e do 2º exame só contam se melhorarem
– Avaliação por mini-testes nas aulas teóricas (15%)
• 2 mini-testes curtos em aulas teóricas a anunciar
• Mini-testes só contam se melhorarem a nota da teórica
– Se média dos 2 mini-testes for inferior à nota da sub-componente exame/testes, mini-testes são ignorados e a avaliação teórica passa a ser dada 100% pela nota da componente exame/testes
12/13 Sistemas Distribuídos 24
13
Page 13
Departamento de Engenharia Informática
Avaliação de Conhecimentos:
Outros casos
• Alunos repetentes– A nota do par (projecto, av. contínua) do ano passado pode ser
aproveitada este ano
• Alunos com direito a época especial– Permitido realizar exame (50%) e projecto (50%) em época
especial
– Mais detalhes no site
12/13 Sistemas Distribuídos 26
Departamento de Engenharia Informática
Datas
• Avaliação Teórica:– 1º Teste – 16 de Abril– 2º Teste / 1º Exame – 5 de Junho– Repescagens / 2º Exame – 25 de Junho
• Projecto:– 1ª Entrega – 12 de Abril
• Disponibilização do enunciado – 20 de Março
– 2ª Entrega – 10 de Maio• Disponibilização do enunciado – 13 de Abril
– Discussão do projecto: Semanas de 13Maio a 24 de Maio
• Avaliação Contínua:– Aulas de laboratório começam já na próxima 4ª feira– Trabalhos de avaliação contínua na 2ª, 3ª e 4ª
semanas de laboratório
12/13 Sistemas Distribuídos 27
14
Page 14
Departamento de Engenharia Informática
Inscrições em Laboratórios
• As inscrições para os laboratórios abrem na 6ª feira às 14h
• Informações detalhadas sobre as inscrições serão publicadas em breve no site da cadeira
• Alunos sem grupo ou outras dúvidas sobre inscrições, enviar mail para [email protected]
12/13 Sistemas Distribuídos 28