Baixe o app para aproveitar ainda mais
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.
Compartilhar