14
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.

Arquiteturas de Sistemas Distribuídos - FACOMronaldooliveira/PDS-2018-2/Aula14...Arquiteturas de Sistemas Distribuídos •Sistema distribuído –O processamento de informações

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquiteturas de Sistemas Distribuídos - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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 - FACOMronaldooliveira/PDS-2018-2/Aula14...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.