Top Banner
Arquiteturas de Sistemas Distribuídos Sistema distribuído O processamento de informações é distribuído em vários computadores ao invés de confinado em uma única máquina. Bastante comum em qualquer organização Estilos de arquitetura comuns Arquiteturas de múltiplos processadores Arquiteturas cliente-servidor Arquiteturas de objetos distribuídos Computação interorganizacional Estes slides estão baseados em material disponível na internet pela editora Pearson Adison-Wesley Referentes ao livro Engenharia de Software Ian Sommerville.
14

Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Feb 01, 2018

Download

Documents

vannga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas de Sistemas Distribuídos

• Sistema distribuído– O processamento de informações é distribuído em

vários computadores ao invés de confinado emuma única máquina.

– Bastante comum em qualquer organização• Estilos de arquitetura comuns

– Arquiteturas de múltiplos processadores– Arquiteturas cliente-servidor– Arquiteturas de objetos distribuídos– Computação interorganizacional

Estes slides estão baseados em material disponível na internet pela editora Pearson Adison-WesleyReferentes ao livro Engenharia de Software Ian Sommerville.

Page 2: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Características do sistema distribuído

• Compartilhamento de recursos– Compartilhamento de recursos de hardware e software.

• Interoperabilidade– Uso de equipamento e software de fabricantes diferentes.

• Concorrência– Processamento concorrente para aumentar o desempenho.

• Escalabilidade– Capacidade ampliada pela adição de novos recursos.

• Tolerância a falhas– A capacidade de continuar em operação após a ocorrência de uma falha.

• Complexidade– Tipicamente, sistemas distribuídos são mais complexos que sistemas

centralizados.• Segurança

– Mais suscetível a ataques externos.• Gerenciamento

– Mais esforço é necessário para o gerenciamento do sistema.• Imprevisibilidade

– Respostas imprevisíveis dependendo da organização do sistema e dacarga de rede.

Page 3: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas de multiprocessadores

• Sistema composto de múltiplos processos quepodem (mas não precisam) executar emprocessadores diferentes.

• Distribuição de processo para processador pode serpredeterminada ou pode estar sob o controle de umescalonador.

Page 4: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas cliente-servidor

• A aplicação é modelada como um conjunto deserviços que são fornecidos pelos servidores e umconjunto de clientes que usam estes serviços.

• Os clientes sabem da existência dos servidores masos servidores não sabem dos clientes.

Page 5: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Exemplos de arquitetura cliente-servidor

Page 6: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquitetura C-S em camadas

• Camada de apresentação– Está relacionada à

apresentação dos resultadosde um processamento para osusuário do sistema, e à coletade entradas do usuário.

• Camada de processamento deaplicação– Está relacionada ao

fornecimento de funcionalidadeespecífica da aplicação, porexemplo, em um sistema debanco, funções bancárias, taiscomo abrir conta, fechar conta,etc.

• Camada de gerenciamento dedados– Está relacionada ao

gerenciamento do banco dedados do sistema.

Page 7: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Clientes magros e gordos

• Modelo de cliente-magro– Em um modelo cliente-magro, todo o processamento de aplicação e o

gerenciamento de dados é realizado no servidor. O cliente é responsável,simplesmentes por executar o software de apresentação.

• Modelo de cliente-gordo– Nesse modelo, o servidor é responsável somente pelo gerenciamento de

dados. O software do cliente implementa a lógica da aplicação e asinterações com o usuário do sistema.

Page 8: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas de três camadas

• Podem executar em máquinas separadas• Escalabilidade e Interoperabilidade

Page 9: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas de objetos distribuídos

• Não existe distinção entre clientes e servidores em umaarquitetura de objetos distribuídos.

• Cada entidade distribuível é um objeto que fornece serviçospara outros objetos e recebe serviços de outros objetos.

• Os objetos se comunica através de um sistema de middlewarechamado requisitor de objetos.

Page 10: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Exemplo: mineração de dados

• O modelo lógico do sistema não é um dosfornecimentos de serviço onde existem serviçosdistintos de gerenciamento de dados.

• Permite que uma série de banco de dados sejaacessada para serem aumentados sem interrupçãodo sistema.

Page 11: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Middleware CORBA

• Middleware– Software que gerencia e apóia os componentes diferentes de um

sistema distribuído. Em essência, ele se situa no meio do sistema.• CORBA

– Padrão internacional para um localizador de objetos (ObjectRequest Broker) para gerenciar a comunicação entre objetosdistribuídos.

Page 12: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Requisitor e Corretor de Objetos

• O ORB manipula comunicações entre objetos. Ele sabe de todos osobjetos no sistema e suas interfaces.

• ORBs são um conjunto de objetos em uma biblioteca que são ligadas auma aplicação quando ela é desenvolvida.

• Usando um ORB, o objeto chamador liga um stub IDL que define ainterface do objeto chamado.

• O chamado desse stub resulta em chamadas para o ORB, que entãochama um objeto requisitado por meio de um esqueleto IDL publicadoque liga a interface à implementação de serviços.

Page 13: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Arquiteturas orientadas a serviços

• Serviços– “Uma ação ou desempenho oferecido de um grupo para um outro.

Embora o processo possa estar ligado a um produto físico, odesempenho é essencialmente intangível e não resultanormalmente em propriedade de algum dos fatores de produção”.

– O fornecimento dos serviços é, portanto, independente daaplicação que usa o serviço.

– Um web service é uma abordagem padronizada para tornar umcomponente reusável disponível e acessível através da rede

Page 14: Arquiteturas de Sistemas Distribuídos - SIGAAjair/ES/slides/ArqSistDist.pdf · Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

Exemplo

Um sistema de informações deum automóvel fornece aosmotoristas informações sobre oclima, condições de tráfego,informações locais, etc. Osistema é ligado ao aparelho derádio do automóvel queapresenta as informações comoum sinal de emissora de rádioespecífica.

O automóvel é equipado comum receptor GPS para informarsua posição e, baseado nessaposição, o sistema acessa umagama de serviços deinformações. A informação podeser fornecidas no idiomaespecificado pelo motorista.