Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

25
Sistemas Sistemas Distribuídos Distribuídos Silvia Cristina Sardela Bianchi

Transcript of Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Page 1: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas DistribuídosSistemas Distribuídos

Silvia Cristina Sardela Bianchi

Page 2: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

AgendaAgenda

• Definição de sistemas distribuídos

• Características dos sistemas distribuídos

• Tipos de sistemas distribuídos

• Sistemas de computação distribuídos

• Sistemas de informação distribuídos

• Sistemas distribuídos pervasivos2

Page 3: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Definição de Sistemas DistribuídosDefinição de Sistemas Distribuídos• Um sistema distribuído é uma coleção de

computadores autônomos conectados por uma

rede e equipados com um sistema de software

distribuído (Colouris).

• Um sistema distribuído é uma coleção de

computadores independentes que apresenta a

seus usuários como um sistema único e coerente

(Tanenbaum). 3

Page 4: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Definição de Sistemas DistribuídosDefinição de Sistemas Distribuídos

• “Você sabe que existe um sistema distribuído

quando a falha um computador que você nunca

ouviu falar impede que você faça qualquer

trabalho (Leslie Lamport).

4

Page 5: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

5

• Compartilhamento de recursosCompartilhamento de recursos:– Hardware, software e dados– de maneira controlada e eficiente

– ProblemaProblema: segurança

• ConcorrênciaConcorrência:– Atribuição de parcela de tempos para

diferentes processos– Acesso concorrente a recursos

compartilhados requer sincronização

Page 6: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

6

• HeterogeneidadeHeterogeneidade:

– Rede, hardware, S.O., linguagens de

programação, implementação de diferentes

desenvolvedores.

– Middleware: para suportar a heterogeneidade

e oferecer uma visão de um sistema único.

Page 7: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

MiddlewareMiddleware

7

• InteroperabilidadeInteroperabilidade:

– Middleware é um software de conectividade

que consiste em um conjunto de serviços que

permite a interação, através da rede, de

múltiplos processos executando em uma ou

mais máquinas.

Page 8: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Vantagens do Vantagens do MiddlewareMiddleware • Redução da complexidade: o middleware provê

os serviços comuns de troca de mensagens entre os componentes do sistema.

• Transparência de localização.

• O cliente e o servidor não precisam se conhecer diretamente.

• Isola os componentes da aplicação de sua implementação que pode estar desenvolvida em outra linguagem e residente em outra plataforma.

Page 9: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

9

• AberturaAbertura:–Possuem interfaces bem definidas e totalmente disponíveis (públicas).

–IDL (Linguagem de definição de interface): nomes das funções, tipos de parâmetros, valores de retorno e possíveis execuções.

Page 10: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

IDL: Linguagem de Definição de IDL: Linguagem de Definição de InterfaceInterface

• O cliente necessita saber:o quais são os serviços que estão disponíveis

no servidor.o como acioná-los.o quais os parâmetros devem ser passados.

• Portanto: o IDL é uma linguagem de definição e não de

programação.o IDL é utilizada para definir interfaces e não

para escrever algoritmos.

Page 11: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Exemplo da utilização da IDLExemplo da utilização da IDL

C C++ Java Delphi C Java

IDL IDL IDL IDL IDL IDL

CLIENTE SERVIDOR

MIDDLEWARE

Page 12: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Exemplo da utilização da IDL: WSDL Exemplo da utilização da IDL: WSDL ((Web SerivcesWeb Serivces))

http://www.w3.org/Consortium/Offices/Presentations/Overview/images/WSExample.png

Page 13: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

13

• TransparênciaTransparência:–Acesso: oculta diferenças na representação de dados e no modo de acesso a um recurso. –Localização: oculta o lugar em que um recurso está localizado.–Migração: oculta que um recurso pode ser movido para uma outra localização.–Relocação: oculta que um recurso pode ser movido para uma outra localização enquanto o uso.

Page 14: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

14

• TransparênciaTransparência:–Concorrência: oculta que um recurso pode ser compartilhado por diversos usuários concorrentes. –Replicação: oculta que um recurso é replicado.

–Falha: oculta a falha e a recuperação de um recurso.

Page 15: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Características Dos Sistemas Características Dos Sistemas DistribuídosDistribuídos

15

• ExtensibilidadeExtensibilidade:– Em caso de adição de software ou hardware,

não há degeneração.

• EscalabilidadeEscalabilidade:– Mudanças na escala do sistema

computacional não modificam o comportamento do sistema.

• Tolerância a falhasTolerância a falhas:– Alto grau de disponibilidade aos seus

usuários, mesmo na presença de falhas.– Redundância de hardware, recuperação de

software .

Page 16: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Tipos de sistemas distribuídosTipos de sistemas distribuídos

• Sistemas de computação distribuídos

• Sistemas de informação distribuídos

• Sistemas distribuídos pervasivos

16

Page 17: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas de Computação DistribuídosSistemas de Computação Distribuídos• Utilizado para tarefas de computação de alto

desempenho.

• Distribuir a carga de uma determinada aplicação em vários computadores melhores adaptados para executar esta tarefa.

• Exemplo: Cluster, Computação em Grade, Computação em Nuvem.

Page 18: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

18

Page 19: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Vantagens da distribuição de Vantagens da distribuição de processamentoprocessamento

• Distribuir a carga de uma determinada aplicação em computadores melhores adaptados para executar esta tarefa.

• Utilizar recursos de hardware e software disponíveis em plataformas heterogêneas.

• Diminuição de custo: explorar os recursos computacionais existente.

Page 20: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas de Informação DistribuídosSistemas de Informação DistribuídosSistemas de processamento de transações

(Tanenbaum):Transação aninhada

subtransação

dois bancos de dados independentes

Banco de dados da companhia aérea

Banco de dados do hotel

subtransação

Page 21: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas de Informação DistribuídosSistemas de Informação DistribuídosSistemas de processamento de transações

(Tanenbaum):

Page 22: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

22

Exemplo de soluções: TIBCO, Websphere, Weblogic, etc.

Sistemas de Informação DistribuídosSistemas de Informação DistribuídosIntegração de aplicações empresariais (Tanembaum):

Page 23: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas PervasivosSistemas Pervasivos• Instabilidade é o comportamento esperado destes

sistemas.

• Dispositivos de computação móveis e embutidos:o Pequenos,o Alimentação por bateria,o Mobilidade e conexão sem fio.

• Ausência de controle administrativo humano.: podem ser configurados pelos proprietários e precisam descobrir o ambiente automativamente.

• Dinamismo no ambiente.

• Pode não haver transparência na distribuição.

Page 24: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

Sistemas PervasivosSistemas Pervasivos• Tipos de sistemas (Tanenbaum):

o Sistemas domésticos: integram TV, sistemas de áudio e vídeo, jogos, etc..

o Sistemas eletrônicos para tratamento de saúde:o Redes de sensores

Page 25: Sistemas Distribuídos Silvia Cristina Sardela Bianchi.

25http://outsideinnovation.blogs.com/pseybold/2009/03/-sun-will-shine-in-blue-cloud.html