Baixe o app para aproveitar ainda mais
Prévia do material em texto
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Estilos Arquitetônicos de Sistemas Distribuídos Prof. Marcus Fábio Fontenelle, M.Sc. Mestre em Informática Aplicada LPIC-1, NCLA, MCSE Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Introdução • Um sistema distribuído pode ser organizado fazendo-se uma distinção entre a organização lógica do conjunto de componentes de software e sua organização física. • A organização de Sistemas Distribuídos trata, em grande parte, dos componentes de software que constituem o sistema. As arquiteturas de software dizem como vários componentes de software devem ser organizados e como devem interagir. A especificação final de uma arquitetura de software é também denominada arquitetura de sistema. 2 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Introdução • Arquiteturas de sistemas podem ser: Centralizadas Um único servidor implementa a maioria dos componentes de software enquanto clientes remotos acessam esse servidor através de meios de comunicação. Descentralizadas As máquinas desempenham papéis mais ou menos iguais. Híbridas 3 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Estilos Arquitetônicos • Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre componentes e, por fim, da maneira como esses elementos são configurados em conjunto para formar um sistema. Componente é uma unidade modular com interfaces requeridas e fornecidas bem definidas que é substituível dentro de seu ambiente. Um banco de dados, módulos computacionais etc. Conector é um mecanismo mediador da comunicação ou da cooperação entre componentes. Podem ser implementados usando chamada remota de procedimento, troca de mensagens ou fluxo de dados. 4 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Estilos Arquitetônicos • Usando componentes e conectores, podemos chegar a várias configurações de estilos arquitetônicos: Arquitetura em Camadas Arquitetura baseada em Objetos Arquitetura Centrada em Dados Arquitetura baseada em Eventos 5 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura em Camadas • Na arquitetura em camadas os componentes são organizados em camadas. • Um componente da camada Li tem permissão de chamar componentes na camada subjacente Li -1, mas não o contrário. • O controle flui de camada para camada: Requisições descem pela hierarquia (fluem para baixo) Resultados sobem pela hierarquia (fluem para cima) • Esse modelo tem sido amplamente adotado pela comunidade de redes. 6 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura baseada em Objetos • Nessa arquitetura, cada objeto corresponde um componente. • Os componentes são conectados por meio de uma chamada de procedimento remota. • Essa arquitetura de software se ajusta à arquitetura de sistema cliente- servidor. 7 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura Centrada em Dados • Essa arquitetura é baseada na ideia de que processos se comunicam por meio de um repositório comum (passivo ou ativo). Passivo: Arquivo, base de dados Ativo: Blackboard (Quadro Negro) 8 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura Centrada em Dados • Arquiteturas centradas em dados promovem integrabilidade. Componentes existentes podem ser modificados e novos componentes clientes podem ser adicionados à arquitetura sem preocupação com outros clientes (porque os componentes clientes operam independentemente). • Há uma gama de aplicações em rede que dependem de um sistema distribuído de arquivos compartilhados no qual praticamente toda a comunicação ocorre por meio de arquivos. • Nos sistemas distribuídos baseados na Web são em grande parte centrados em dados, pois os processos se comunicam por meio da utilização de serviços de dados baseados na Web. 9 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura baseada em Eventos • Processos se comunicam por meio da propagação de eventos que, opcionalmente, podem também transportar dados. • Associado, em geral, a sistemas publicar/subscrever. A ideia básica é que processos publiquem eventos e o middleware assegure que apenas os processos que se subscreveram para esses eventos possam recebê-los. • Os processos são fracamente acoplados, ou seja, eles não precisam se referir explicitamente uns aos outros. Também conhecidos como desacoplados no espaço ou referencialmente desacoplados. 10 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura baseada em Eventos • Arquiteturas baseadas em eventos podem ser combinadas com arquiteturas centradas em dados resultando no que é conhecido como espaços compartilhados. • Os processos estão desacoplados no tempo, ou seja, não precisam estar ambos ativos quando ocorre a comunicação. • Muitos espaços compartilhados de dados usam uma interface semelhante à SQL (Structured Query Language) com o repositório compartilhado. Os dados podem ser acessados através de uma descrição em vez de uma referência explícita. 11 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 12 Referências Bibliográficas • Sistemas Distribuídos – Princípios e Paradigmas, Andrew Tanenbaum, 2ª Edição – Seção 2.1 • Biblioteca Virtual Estácio
Compartilhar