Buscar

Padrões Arquitetônicos em Sistemas Distribuídos

Prévia do material em texto

Padrões Arquitetônicos
Mauro Lopes Carvalho Silva
Professor EBTT
DAI – Departamento de Informática
Campus Monte Castelo
Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Sistemas Distribuídos – 8º Período
Sistemas Distribuídos
Sistemas Distribuídos – 8º Período
Objetivos
• Nesta aula iremos apresentar os conceitos sobre as
padrões arquitetônicos em Sistemas Distribuídos.
Serão abordados soluções em sistemas distribuídos
que podem ser aplicados a vários domínios de
problemas. Este conceito é fundamental para o
entendimento do desenvolvimento de aplicações
em ambientes distribuídos.
Sistemas Distribuídos – 8º Período
Plano de Aula
• Padrões Arquitetônicos
– Introdução
– Arquitetura em Camadas;
– Arquitetura Baseada em Objetos;
– Arquitetura centradas em dados;
– Arquitetura centrada em Eventos;
– Explorando as camadas lógicas;
– Outros Padrões.
Sistemas Distribuídos – 8º Período
• Introdução
– Estilo Arquitetônico: 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.
– Conector é um mecanismo mediador da
comunicação ou da cooperação entre componentes.
Padrões Arquitetônicos
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Introdução
– Usando componentes e conectores podemos
chegar a várias configurações, que por sua vez,
foram classificados em estilos arquitetônicos
(padrões arquitetônicos);
– Os padrões arquitetônicos baseiam-se nos
elementos de arquitetura mais primitivos
discutidos anteriormente (entidades);
– Os padrões não são soluções completas em si,
mas oferecem ideias parciais que, quando
combinadas levam o projetista a ótimas
soluções;
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Introdução
– Iremos discutir aqui vários padrões
arquitetônicos:
– Arquitetura em camadas;
– Arquiteturas baseadas em objetos;
– Arquiteturas centradas em dados;
– Arquitetura baseada em eventos;
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura em Camadas
– A ideia básica para o estilo em camadas é
simples: os componentes são organizados em
camadas;
– E um componente da camada Li tem permissão
de chamar componentes da camada subjacente
Li-1, mas não o contrário;
– Requisições descem pela hierarquia, ao passo
que resultados fluem para cima;
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura em Camadas
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura em Camadas
– Client Tier: Modo de visualização do usuário, controles e
manipulação de dados;
– Business Logic Tier: Lógica da aplicação;
– Database Tier: Gerenciador de banco de dados.
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura baseada em objetos
– A essência aqui é que cada objeto corresponde
ao que definimos como componente e estes
componentes são conectados por meio de uma
chamada de procedimento (remota);
– Este modelo esta fortemente relacionado ao
arquitetura de sistemas cliente-servidor;
– As arquitetura em camadas e baseadas em
objetos ainda formam o estilo mais importante
para sistemas de grande porte;
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura baseada em objetos
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura centradas em dados
– Se desenvolvem em torno da ideia de que
processos se comunicam por meio de um
repositório comum (passivo ou ativo);
– Para Sistemas Distribuídos, esta arquitetura é
tão importante quanto a em camadas ou
baseada em objeto;
– Os Sistemas Distribuídos baseado na Web são um
grande exemplo;
– Nele temos processos que se comunicam por
meio da utilização de serviços de dados baseado
na Web.
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura centradas em dados
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura baseada em eventos
– Neste modelo os processo se comunicam através
da propagação de eventos, que opcionalmente
também transportam dados;
– A propagação de eventos tem sido associada, em
geral, com o que denominamos sistemas
publicar/subscrever;
– A ideia básica é que processos publiquem
eventos após os quais o middleware assegura
que somente processos que se subscreveram
para esses eventos os receberão;
– Modelo referencialmente desacoplado.
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Arquitetura baseada em eventos
Entrega do Evento
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Explorando o conceito de Camadas Lógicas
– Em uma estratégia de camadas lógicas, um
sistema complexo é particionado em várias
camadas, com uma utilizando os serviços
oferecidos pela camada lógica inferior;
– Uma palavra forte nas camadas lógicas é a
“abstração”;
– A camada lógica oferece uma abstração de
software, com as camadas superiores
desconhecendo detalhes da implementação ou
até mesmo a existência das camadas lógicas
inferiores.
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Camadas Lógicas
– Neste ponto temos dois conceitos importantes:
– Plataforma:
– consiste em camadas de hardware e software de nível mais
baixo. Essas camadas lógicas de baixo nível promovem uma
interface de programação do sistema para um nível que
facilita a comunicação e a coordenação;
– Middleware:
– é uma camada de software cujo o objetivo é mascarar a
heterogeneidade e fornecer um modelo de programação
conveniente para os programadores de aplicativos. Promove
o suporte a comunicação e compartilhamento de recursos
em uma aplicação distribuída;
Sistemas Distribuídos – 8º Período
• Middleware
– Middleware é um agente de interoperabilidade
que pode ser entendido como uma camada de
software que não é uma aplicação propriamente
dita e que não faz parte do sistema operacional;
– Esta camada de middleware esconde detalhes de
dispositivos de hardware e de software adicional,
para fornecer uma interface abstrata e mais simples
de programar às aplicações;
– Em outras palavras, o middleware simplesmente
torna mais fácil a construção das aplicações na
medida em o desenvolvimento pode se focar no
propósito específico das aplicações.
Padrões Arquitetônicos
Sistemas Distribuídos – 8º Período
• Middleware
Padrões Arquitetônicos
Sistemas Distribuídos – 8º Período
• Onde o Middleware se encaixa?
– Entre aplicações e plataformas distribuídas, com
finalidade de proporcionar um grau de
transparência à distribuição de dados,
processamento e controle;
– É uma camada de software posicionada entre as
outras camadas de software.
Padrões Arquitetônicos
Sistemas Distribuídos – 8º Período
• Contexto do Middleware
Padrões Arquitetônicos
Sistemas Distribuídos – 8º Período
Padrões Arquitetônicos
• Outros Padrões
– Proxy
– um proxy é criado no espaço de endereçamento local
para representar o objeto remoto. Esse proxy oferece a
mesma interface do objeto remoto;
– Brokerage
– esse padrão consiste no trio provedor de serviço,
solicitante de serviço e um corretor de serviço (broker);
– Reflexão
– Suporte a introspecção (descoberta dinâmica de
propriedades do sistema) e intercesão (capacidade de
modificar a estrutura ou comportamento dinâmicamente).
Sistemas Distribuídos – 8º Período
Dúvidas
Página do ProfessorMauro:
http://www.dai.ifma.edu.br/~mlcsilva
Sistemas Distribuídos – 8º Período
Próxima Aula
• Processos em Sistemas Distribuídos: Comunicação
entre Processos, Nomeação e Sincronização
Sistemas Distribuídos – 8º Período
Referências
• Sistemas Distribuídos - Conceitos e Projeto, George
Coulouris, 4ª Edição - Editora Bookman, 784
páginas.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes