aula 1 sd

31
SISTEMAS DISTRIBUÍDOS Prof. Edison Santos Aluno Especial em Mestrado UFBA e UNEB Especialista em Estratégias de Arquitetura de Software Bacharel em Sistemas de Informação Experiências Educacionais Professor EAD IFBA Profuncionario Instrutor de AVA Moodle Educador de Informática Básico com Ênfase inclusão Social; Experiências Profissional Desenvolvedor Pleno Capgemini Analista de Sistemas - Qualitech Desenvolvedor Web – Grupo Santa Helena Desenvolver Web – UFBA

Upload: edblack1

Post on 24-Dec-2015

9 views

Category:

Documents


1 download

DESCRIPTION

Introdução a Sistemas Distríbuidos

TRANSCRIPT

Page 1: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Prof. Edison Santos

Aluno Especial em Mestrado UFBA

e UNEB

Especialista em Estratégias de

Arquitetura de Software

Bacharel em Sistemas de

Informação

Experiências Educacionais

Professor EAD IFBA Profuncionario

Instrutor de AVA Moodle

Educador de Informática Básico com

Ênfase inclusão Social;

Experiências Profissional

Desenvolvedor Pleno Capgemini

Analista de Sistemas - Qualitech

Desenvolvedor Web – Grupo Santa

Helena

Desenvolver Web – UFBA

Page 2: Aula 1 SD

• Avanços dos sistemas de computação em 1945 (Era Moderna dos Computadores)

• computadores grandes

• De alto custo

• Independentes

• Meados de 80

• Máquinas de 8 bits, 16, 32 e 64 bits

• CPU com capacidade de mainframe

• Últimos 50 anos

• Redução de preços

SISTEMAS DISTRIBUÍDOS

Introdução a Sistemas Distribuídos

Page 3: Aula 1 SD

• Últimos 50 anos

• Redução de preços

• Aumento da capacidade de processamento

• Redes Locais (LAN Local-Area Networks)

• Redes de Longas Distâncias (WANs Wide-Area Networks)

SISTEMAS DISTRIBUÍDOS

Introdução a Sistemas Distribuídos

Page 4: Aula 1 SD

• “Um sistema distribuído é um conjunto de computadoresindependentes que se apresenta a seus usuários como um sistemaúnico e coerente” (Tanenbaum, 1995)

• “Definimos um sistema distribuído como sendo aquele no qual oscomponentes de hardware ou de software, localizados emcomputadores interligados em rede, se comunicam e coordenam suasações apenas enviando mensagens entre si” (Couloris, 2005)

• “Você sabe que tem um quando a falha de um computador do qualnunca ouviu falar impede que você faça qualquer trabalho”. (LeslieLamport)

SISTEMAS DISTRIBUÍDOS

Definições

Page 5: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Definições

• Alguns Aspectos

• Componentes (computadores) autônomos

• Visão de unicidade para o usuário (programa ou humano) Transparência

• Componentes interconectados (arquiteturas/middleware)

• Computadores e Redes Heterogêneos

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 6: Aula 1 SD

Abstrações disponibilizadas pelo Middleware.

• Comunicação

• Segurança

• Persistência

• Controle de

• Transações

• Etc.Retirado de: Tanenbaum, A. Sistemas Distribuídos.

SISTEMAS DISTRIBUÍDOS

Abstrações do Middleware *

Page 7: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Definições

• Alguns Aspectos

• Comunicação autônoma e Inexistência de Relógio Global (troca de mensagens)

• Falhas Independentes

• Concorrência/Compartilhamento de recurso

Page 8: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Exemplos de Sistemas Distribuídos

• A Internet

• Conjunto de redes de computadores interligados

• Mecanismos de comunicação da Internet (protocolos) *

• Serviços disponibilizados: www, email, transferência de arquivos, multimídias

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 9: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Exemplos de Sistemas Distribuídos

• A Intranet

• Várias redes LAN e/ou LANsinterconectadas por backbone

• Conexão de Internet por roteador

• Firewall

• Necessidades: serviços de arquivos, segurança, avaliar custos de instalação de software

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 10: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Exemplos de Sistemas Distribuídos

• Computação Ubíqua/Pervasiva

• Pequenos equipamentos computacionais (notebooks, Smartphones, câmeras digitais, dispositivos incorporados a eletrodomésticos e outros)

• Miniaturização de dispositivos

• Interligação de redes sem fio

• Sistemas distribuídos

• Computação móvel/nômadeANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 11: Aula 1 SD

• Acesso a recursos

• Transparência

• Abertura

• Escalabilidade

SISTEMAS DISTRIBUÍDOS

Metas dos Sistemas Distribuídos

Page 12: Aula 1 SD

• “Acesso a recursos remotos e seu compartilhamento de maneira controlada e eficiente”.

• Exemplo Groupware (software de edição colaborativa, teleconferência e etc.)

•Quanto maior conectividade maior deve ser segurança• Criptografia

• Rastreamento de comunicações (Perfil de usuário)

• Comunicação indesejada (Spam)

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Acesso a recurso

Page 13: Aula 1 SD

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Transparência da distribuição

Page 14: Aula 1 SD

• “... ocultar completamente dos usuários todos os aspectos

da distribuição não é uma boa ideia.”

• Exemplos

• Fuso horário

• Limites de capacidade física

• Transparência versus desempenho – Requisições sem sucesso

liberar controle ao usuário

• Replicação (requer tempo de atualização)

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Transparência da distribuição

Page 15: Aula 1 SD

• “Um sistema distribuído aberto é um sistema que ofereceserviços de acordo com as regras padronizadas quedescrevem a sintaxe e a semântica desses serviços”.

• Interface Definition Language - IDL

• Interoperabilidade (Componentes coexistindo com confiançamútua)

• Portabilidade.

• Extensível (Estrutura de Componentes com fácil adição, trocae remoção dos mesmo)

• Política e Mecanismos

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Abertura

Page 16: Aula 1 SD

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Problemas de Escalabilidade

Page 17: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Problemas de Escalabilidade

• Tamanho

• Internet DNS

•Geográfica

• Longas distâncias

• Localização de um serviço

• Administrativa

• Políticas organizacionais

• Colaboração Humana

Page 18: Aula 1 SD

•Ocultar a latência de Comunicação

• Usar por exemplo comunicação assíncrona

• Ex: AJAX em Serviços Web.

• Reduz tráfego

• Não bloqueia a aplicação

• Ex: Distribuir processamento (Cliente vs. Servidor)

• Javascript lado cliente para Validação

• Não usar applet síncrono para entrada de dados

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

Técnicas para Alcançar Escalabilidade

Page 19: Aula 1 SD

• Distribuição

• Partes maiores em partes menores e espalhá-la através do sistema (Serviço de nomeação DNS – diferentes computadores assumes responsabilidade)

• Replicação

• Cache de páginas em browser• Possíveis problemas de consistências dos dados

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema DistribuídoTécnicas para Alcançar Escalabilidade

Page 20: Aula 1 SD

• Premissas falsas adotadas ao desenvolver uma

aplicação distribuída pela primeira vez

1. A rede é confiável

2. A rede é segura

3. A rede é homogênea

4. A topologia não muda

5. A latência é zero

6. A largura da banda é infinita

7. O custo de transporte é zero

8. Há apenas um administrador

SISTEMAS DISTRIBUÍDOS

Principais ciladas

Page 21: Aula 1 SD

• Sistemas de Computação distribuída

• Sistemas de Informação distribuída

• Sistemas distribuídos pervasivos

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Page 22: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas de Computação Distribuída – Cluster

Homogêneo

Nó Mestre

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 23: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas de Computação Distribuída – Grade (grid)

Heterogeneidade

Organização Virtual

(login da organização)

Acesso de recursos

Servidores de computação

Armazenamento

Banco de dados

Arquitetura em Camadas

Conectividade (protocolos de comunicação)

Recursos (controle de acesso de recursos)

Coletiva (descoberta de recursos, alocação e escalonamento de tarefas, replicação de dados)

Aplicação (aplicações dentro da organização virtual)

Page 24: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas de Informação Distribuídos

Integração de sistemas de informaçãoProblemas de interoperabilidade

Empacota várias requisições de programas clientes em uma transação distribuída.

Simples servidores e programas remotos (clientes)RPCs (Procedimentos remotos)

EAI (Enterprise Application Integration)

Page 25: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas de Informação Distribuídos

Processamento Transacional

ACIDAtômica (acontece completamente ou não acontece)

Consistente (toda transação retorna o ambiente a um estado consistente)

Isoladas (uma transação em processo não impacta em outra)

Duráveis (uma ver realizada não é modificada)

Page 26: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas de Informação Distribuídos

Transações Aninhadas

Monitor de Transação

Chamada de Procedimento Remoto (RPC – Remote Procedure Calls)Chamada de Método Remoto (RMI – Remote Method Invocations)

XMiddleware Orientado a Mensagem (MOM – Message-oriented Middleware)

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

Page 27: Aula 1 SD

• Sistemas decorrentes do uso de computação móvel e embutida, nas quais o comportamento esperado é a instabilidade;

• Pequeno tamanho

• Alimentados por bateria;

• Comunicação sem fio;

• Não possui controle administrativo humano, podendo:1. Adotar mudanças contextuais

2. Incentivar composição ad hoc

3. Reconhecer compartilhamento como padrão

SISTEMAS DISTRIBUÍDOS

Tipos de Sistemas Distribuídos

Sistemas Distribuídos Pervasivos

Page 28: Aula 1 SD

SISTEMAS DISTRIBUÍDOS

Sistemas Pervasivos - Exemplos

Sistemas Domésticos

• Universal Plug and Play (UPnP)

• Espaço Pessoal

• Recomendadores (verificação interesses relevantes)

Page 29: Aula 1 SD

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

SISTEMAS DISTRIBUÍDOS

Sistemas Pervasivos - Exemplos

Sistemas para tratamento de Saúde

Page 30: Aula 1 SD

ANDREW S. TANENBAUM

MAARTEN VAN STEEN

SISTEMAS DISTRIBUÍDOS

Sistemas Pervasivos - Exemplos

Redes de sensores sem fio

Page 31: Aula 1 SD

• Tanenbaum; Steen. Sistemas Distribuídos: Principios e Paradigmas, 2ed. Pearson. 2007 (cap 1).

• Tanenbaum, Andrew s. Sistemas Operativos Distribuidos. 1ed, Prentice Hall, New Jersey, 2001 (cap 1).

• Couloris, George; Dollimore, Jean; Kindberg, Tim. Sistemas Distribuídos: Conceitos e Projeto, 4ºed. Translate Bookman 2007 (cap 1).

Referências Bibliográficas