Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed.
Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores são sistemas distribuídos. Muitos substituem os sistemas legados da década de 80.
Características da abordagem distribuída: Compartilhamento de recursos de HW e SW Normalmente são sistemas abertos e possuem SW e HW de diferentes fabricantes Possibilidade de adição de novos recursos ao sistema, escalabilidade
Desvantagens da abordagem distribuída: Complexidade Proteção Gerenciamento Imprevisibilidade
Projetos de Sistemas Distribuídos: O Desafio é projetar o SW e o HW para fornecer recursos de sistema distribuído desejável. Arquiteturas Distribuídas: Arquitetura Cliente-Servidor Sistema como um conjunto de serviços Arquitetura de Objetos Distribuídos Um conjunto de objetos que interagem cuja a localização é irrelevante
Arquiteturas: Arquitetura de multiprocessadores: O sistema de software consiste em uma série de processos que podem ser executados em processadores. Processador de sensores Processador de Fluxo Processador de controle de semáforos Processo de controle de sensores Processo de exibição Processo de controle de luzes Sensores Controle Operadores
Arquiteturas: Arquitetura Cliente-Servidor: É uma aplicação modelada como um conjunto de serviços fornecido a clientes. Camadas da aplicação Apresentação Cliente Modelo Cliente Magro C1 C2 C3 C4 S1 S2 Camada de Apresentação Gerenciamento de dados Processamento de aplicações Camada de Processamento da aplicação Camada de Gerenciamento de dados Cliente Apresentação Processamento da aplicação Gerenciamento de dados Modelo Cliente Gordo
Problema das Camadas: Arquitetura Cliente Servidor com 3 camadas Cliente Processamento de aplicações Gerenciamento de dados
Arquiteturas distribuída: Arquitetura de objetos distribuídos: Os componentes fundamentais do sistema são objetos que fornecem uma interface para um conjunto de serviços. O 1 S (01) O 2 S (02) O 3 S (03) Middleware Via de Software
Vantagens: Facilidade na adição de novos serviços Permite que objetos escritos em linguagens diferentes interajam Objetos podem ser criados dinamicamente e quando for necessário Desvantagem: Complexidade de desenvolvimento.
CORBA Um conjunto de padrões fornecido pela OMG para apoiar a comunicação em aplicações de objetos distribuídos. Incluem uma definição de interface para uma grande variedade de componentes horizontais e verticais.
Arquiteturas Interorganizacional distribuída P2P Sistemas descentralizados onde a computação pode ser realizada em qualquer nó da rede. O sistema global é desenvolvido para se beneficiar da capacidade computacional e de armazenagem disponível em uma rede.
Vantagens: Redundância, tolerância a defeitos Maior eficiência Desvantagem: Overhead de comunicação, mensagens replicadas Proteção dos dados e confiança Discovery server Sol. Arquitetura P2P Semicentralizada n1 n4 n6 n3 n2 n5
Arquiteturas Interorganizacional distribuída Arquitetura de sistemas orientada a serviços Find O sistema é composto de um registrador de serviços, Serviceonde haverá todos WEB os serviços SERVICE: que registry podem ser fornecidos a clientes. Publish É uma forma de tornar acessíveis as informações a outros programas. Service requestor Bind Service provider service
Arquiteturas Interorganizacional distribuída Arquitetura de sistemas orientada a serviços Na Os serviços podem ser oferecidos por qualquer provedor de serviços dentro ou fora de uma organização. O provedor de serviços torna pública as informações sobre serviços. Os serviços podem mudar dinamicamente. Os usuários de serviços podem pagar pelos serviços.