A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br T. D. S. I. PARA WEB Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br.

Apresentações semelhantes


Apresentação em tema: "Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br T. D. S. I. PARA WEB Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br."— Transcrição da apresentação:

1 Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto

2 Introdução

3 O que é um sistema distribuído?
São o conjunto de computadores utilizados por usuários como se fosse um só. São uma extensão dos sistemas de redes onde a interação inclui: Cooperação Todos por todos. Cada um com a sua tarefa. Colaboração Todos por um. Todos com a mesma finalidade.

4 Sistemas Distribuídos
Onde se usa? Redes Hardware de computador Sistemas Operacionais Linguagens de programação Implementações por diferentes programadores Soluções Middleware Máquinas virtuais (ex: Applets Java)

5 Sistemas Distribuídos
Suporta o aumento dos recursos e usuários mantendo um desempenho satisfatório. Desafios: Controlar o custo dos recursos físicos Controlar a perda de performance (quantidade) Prevenir esgotamento de recursos (ex: IP) Evitar gargalos de performance (centralização)

6 Sistemas Distribuídos
Exemplo de um sistema distribuido

7 Sistemas Distribuídos
Exemplo de um web service

8 Sistemas Distribuídos
Exemplo de uma intranet

9 Sistemas Distribuídos
Exemplo de dispositivos portáteis

10 Sistemas Distribuídos
A utilização dos dispositivos móveis para o acesso à Internet está aumentando. De acordo com a comScore, nos EUA, mais de 2,1 milhões de PCs, smartphones, PDAs e outros dispositivos móveis utilizaram conexões de banda larga para celulares para acessar a Web em Isso é mais do que o dobro de usuários do ano anterior. Somente 1% dos usuários de Internet nos EUA acessa, atualmente, a Web via banda larga móvel. Mas espera-se que essa porcentagem continue a crescer, conseqüentemente tornando os pontos de conexão Wi-Fi irrelevantes [fonte: PC World (em inglês)].

11 Sistemas Distribuídos
Crescimento do acesso em pequenos dispositivos no Brasil Necessidade de desenvolver aplicações para estes dispositivos Necessidade em adaptar as aplicações já existentes. Criar uma mentalidade em utilizar mais dispositivos portáteis do que os convencionais. Investimento em melhorias na tecnologia,

12 Sistemas Distribuídos
SDs de diferentes tipos compartilham importantes propriedades fundamentais Com esse compartilhamento podem sugir problemas de projeto comuns. As propriedades comuns e as questões de projeto para SDs serão abordadas na forma de modelos descritivos. Um modelo descritivo é uma descrição abstrata, simplificada, mas consistente de um aspecto de projeto de sistema distribuído.

13 Sistemas Distribuídos
Um Modelo Arquiteturial define o modo no qual os componentes de sistemas interagem e como são mapeados sobre uma rede de computadores. As localizações e as interações dos componentes são determinadas pela estrutura em camadas do software de SDs e pelo modelo arquitetura principal. Variantes do modelo Cliente/Servidor, incluindo aqueles devido ao uso de código móvel. As características de um SD para o qual dispositivos móveis podem ser adicionados ou removidos convenientemente. Requisitos de projeto gerais para SDs.

14 Sistema Distribuído A arquitetura em termos de componentes especificados separadamente. A meta é garantir que a estrutura satisfará as demandas presentes e futuras. Interesses importantes: tornar confiável gerenciável adaptável custo-efetivo (custo real).

15 Sistema Distribuído Principais modelos empregados em SDs:
Multi Processador Cliente Servidor Cliente servidor em camadas Modelos são construídos em termos de processos ou de objetos. Um modelo abstrai e simplifica as funções dos componentes individuais e então considera: a colocação dos componentes através de uma rede Definir padrões úteis para a distribuição de dados e carga de trabalho; as inter-relações entre os componentes de seus papéis e padrões de comunicação.

16 Sistemas Distribuídos
Organização de um Sistema Distribuído.

17 Sistema Distribuído Hardware de mais baixo nível e camadas de software. Middleware Uma camada de software cujo propósito é mascarar heterogeneidade e prover um modelo de programação conveniente para programadores de aplicação. Processos ou objetos. Invocações de métodos, comunicações entre um grupo de processos, notificação de eventos, replicação de dados compartilhados e transmissão de dados multimídia em tempo real. Java RMI (Remote Method Invocation) CORBA (Common Object Request Broker Architecture)

18 Acesso a recursos Compartilhamento Acesso Economia Segurança
Confiança nos serviços Rastreamento

19 Transparência da distribuição
Ocultar distribuição física Tipo de transparência Acesso Localização Migração Realocação Replicação Concorrência Falha

20 Transparência da distribuição
Acesso Oculta a diferenciação de arquiteturas de máquinas e sistemas Localização Não permitir que o usuário saiba a localização da aplicação ou do servidor da mesma. Migração Permitir que os recursos possam ser mudados de local em tempo de execução.

21 Transparência da distribuição
Realocação Recursos podem ser realocados em tempo de execução. Replicação Não permitir que o usuário saiba que são feitas cópias dos sistemas. Concorrência Não permitir que o usuário saiba que o sistema esta sendo usado por muitos usuários ao mesmo tempo. Falha Questão mais difícil de se tratar. Devido a quantidade de softwares e hardwares integrados.

22 Abertura Sistema que oferece regras e serviços padronizados com regras. Definição de interfase Nomes de funções disponíveis, tipos de parâmetros e valores de retorno Interoperabilidade Portabilidade

23 Escalabidade Tamanho Geograficamente Fácil gerenciamento
Fácil adicionar novas máquinas e usuários Geograficamente Recursos podem esta distribuídos em grandes distâncias Fácil gerenciamento Pode ser gerenciado mesmo estando em servidores e locais diferentes.

24 Técnicas de escalabidade
Ocultar latencias Evitar demora no tempo de resposta. Distribuição Dividir componentes para tornar o tempo de resposta melhor, como o serviço de DNS. Replicação Equilibra as cargas entre os componentes, amplia dispersão geográfica e pode ser usado cache para facilitar a replicação.

25 Problemas de Escalabilidade
O que distingue um algoritmo descentralizado de um algoritmo centralizado? Nenhuma máquina tem informações completas sobre o estado do sistema. As máquinas tomam decisões tendo como base somente informações locais. A falha de uma máquina não arruína o algoritmo. Não há nenhuma premissa implícita quanto à existência de um relógio global

26 Problemas de escabilidade geográfica
Impossível prover comunicação síncrona para grandes distâncias; Comunicação em redes de longa distância não é confiável e ponto a ponto; Soluções centralizadas atrapalham a escalabilidade de tamanho.

27 Problemas de escalabilidade administrativa
Difícil estabelecer políticas de uso e pagamento de: Recursos. Gerenciamento. Segurança.

28 Técnicas de Escalabilidade Comunicação síncrona X assíncrona

29 Técnicas de escalabilidade - distribuição

30 Principais ciladas Premissas falsas adotadas ao desenvolver uma aplicação distribuída pela primeira vez A rede é confiável A rede é segura A rede é homogênea A topologia não muda A latência é zero A largura da banda é infinita O custo de transporte é zero Há apenas um administrador

31 Tipos de Sistema Distribuído - Cluster

32 Tipos de Sistema Distribuído – Grade (grid)

33 Sistemas de Informação Distribuídos
Empacota várias requisições de programas clientes em uma transação distribuída. EAI (Enterprise Application Integration) RPCs (Procedimentos remotos)

34 Propriedades das transações
Atômicas: para o mundo exterior, a transação acontece como se fosse indivisível. Consistentes: a transação não viola invariantes de sistema. Isoladas: transações concorrentes não interferem umas nas outras. Duráveis: uma vez comprometida uma transação, as alterações são permanentes ACID (para facilitar a decoreba)

35 Exemplo de Transação Aninhada

36 Integração usando Monitor TP
Andrew S. Tanenbaum Maarten Van Steen

37 Integração usando Middleware de comunicação

38 Sistemas Distribuídos Pervasivos
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: Adotar mudanças contextuais Incentivar composição ad hoc Reconhecer compartilhamento como padrão

39 Sistemas Pervasivos - Exemplos Sistemas para tratamento de Saúde

40 Sistemas Pervasivos - Exemplos Redes de sensores sem fio

41 Sistemas Distribuídos
Questões Sistemas Distribuídos

42 Sistemas Distribuídos
Cite cinco tipos de recursos de hardware e cinco tipos de recursos de dados ou software que podem ser compartilhados. Dê exemplos de como eles ocorrem em Sistemas Distribuídos.

43 Sistemas Distribuídos
Cite cinco tipos de recursos de hardware e cinco tipos de recursos de dados ou software que podem ser compartilhados. Dê exemplos de como eles ocorrem em Sistemas Distribuídos.

44 Resposta HW: discos, impressoras;
Entidades definidas por software: arquivos, bases de dados,objetos; Stream de frames de vídeo que emergem de uma câmera de vídeo digital Conexões de áudio que uma chamada de telefones móveis representa.

45 Sistemas Distribuídos
Liste os três principais componentes de software que podem falhar quando um processo cliente requisita um método em um servidor e dê um exemplo de uma falha em cada caso.

46 Sistemas Distribuídos
Discuta, utilizando suas palavras, as características desejáveis em um sistema distribuído.

47 Sistemas Distribuídos
Um sistema distribuído é definido como uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Baseado nos conceitos definidos para sistemas distribuídos, identifique a afirmativa ERRADA:

48 Sistemas Distribuídos
a) O modelo de computação distribuída Peer-to-Peer é uma tecnologia que estabelece uma espécie de rede virtual de computadores, onde cada estação tem capacidades e responsabilidades equivalentes. b) Um sistema distribuído fortemente acoplado provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário, onde vários processadores compartilham uma memória, e são gerenciados por apenas um sistema operacional. c) Um sistema distribuído fracamente acoplado permite que máquinas e usuários do ambiente sejam fundamentalmente independentes, bem como a interação de forma limitada, quando isto for necessário, compartilhando recursos como discos e impressoras, entre outros. d) Uma vantagem dos sistemas distribuídos sobre os sistemas centralizados é a disponibilidade de software para este tipo de ambiente. e) Uma aplicação cliente-servidor é um caso especial de processamento distribuído no qual existe uma forma de cooperação entre dois ou mais processos, sendo essa cooperação realizada através de requisições dos componentes alocados ao cliente e das respostas que são fornecidas pelos componentes alocados ao servidor.

49 Resposta Item D

50 Sistemas Distribuídos
Com relação a conceitos sobre sistemas distribuídos, assinale a opção correta. a) Em um sistema distribuído, os usuários podem acessar recursos em outras máquinas, mas um sistema operacional distribuído não tem como tornar a distribuição dos recursos transparente aos usuários. b) Um sistema distribuído tem que ser tolerante a falhas. Para ser considerado tolerante a falhas, tem que continuar a funcionar, sem degradação do desempenho ou das funcionalidades, após as falhas. c) Um sistema de arquivos distribuídos pode ser implementado sem manter informações de estado. Nesse caso, as operações são tratadas individualmente e não como partes de uma sessão. d) Um sistema distribuído pode suportar a migração de processos. A migração de processos não pode, entretanto, ocorrer sob controle de um sistema operacional, tem que ser controlada por aplicações.

51 Resposta Item C

52 Sistemas Distribuídos
O objetivo de uma camada de Middleware em um sistema multicamadas é: a) oferecer componentes relacionados ao negócio para serem utilizados na construção de aplicativos pelos engenheiros de sistemas; b) prover uma interface de acesso padrão a um sistema operacional específico, de modo a disponibilizar os serviços nele existentes a clientes em outras plataformas; c) permitir acesso a dispositivos de hardware, como câmeras e impressoras, através de uma API de alto nível; d) cuidar de aspectos relacionados com a infraestrutura de rede, definindo interfaces de comunicação com hubs e roteadores; e) disponibilizar classes utilitárias e serviços independentes de plataforma que permitam a obtenção de computação distribuída em ambientes heterogêneos.

53 Resposta Item E


Carregar ppt "Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br T. D. S. I. PARA WEB Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br."

Apresentações semelhantes


Anúncios Google