Arquiteturas. capítulo

Documentos relacionados
Processos, Threads e o Modelo Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Arquiteturas para Sistemas Distribuídos I

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

MÓDULO 2 Topologias de Redes

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos

Informática I. Aula Aula 19-20/06/06 1

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064


Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Graduação Tecnológica em Redes de Computadores. Fundamentos de Redes II

VII SENABOM TEMA: O REGISTRO ELETRÔNICO DE EVENTOS (RE) Apresentado por: Ten Cel BM Flávio Rocha - CBMERJ

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

Experiência 04: Comandos para testes e identificação do computador na rede.

Engenharia de Software II

Terminal de Operação Cimrex 69

Capítulo II Modelos de Programação Distribuída (parte 2)

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux

Hardware. Objetivos do Capítulo

Descubra as novas funcionalidades com Office 365 My I-365, uma nova forma de colaborar Ipsos

Especialização Disciplina Sistemas Distribuídos Prof. Cesar A. Tacla UTFPR/Curitiba

Auxiliar em Administração de Redes Redes de Computadores I

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Laboratório Virtual de Sistema de Controle Via Web em Labview. 1/6

Conceitos básicos sobre computadores

Redes de Computadores

INCLUSÃO DIGITAL. instrumento de INCLUSÃO SOCIAL

Arquitetura e Organização de Computadores I

Processos (Threads,Virtualização e Migração de Código)

Sistema centralizado O Paradigma Cliente/Servidor

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

MANUTENÇÃO SISTEMAS INFORMATIZADOS PARA O PLANEJAMENTO E CONTROLE DA MANUTENÇÃO. CCMS- Computer Maintenance Management System

Introdução a Informática

Banco de Dados I. Prof. Edson Thizon

Procedimento para Adequações às Mudanças Tecnológicas do Módulo Autorizador v4

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Modelos Arquiteturais

Sistemas de Informação

Redes de Computadores

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Instituto de Pesquisas Energéticas e Nucleares, IPEN CNEN/SP. Biblioteca Terezine Arantes Ferraz

Princípios de Engenharia de Software. Aula 6 Projeto de Software

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

T.I. para o DealerSuite: Servidores Versão: 1.1

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Arquitecturas de Software Enunciado de Projecto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

SISTEMAS DISTRIBUIDOS

Técnico em Radiologia. Prof.: Edson Wanderley

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Introdução à Informática

Aplicativo para geração automática de páginas de gerenciamento on-line de banco de dados para sites

Capítulo 1. 4 Modem de conexão discada sobre linha telefônica: residencial;

Desenvolvimento de Software

Flávia Rodrigues. Silves, 26 de Abril de 2010

REDES DE COMPUTADORES

Pedro Coutinho Paulo Rego LABWAY ROAD SHOW Sessão #2

World Wide Web e Aplicações

OI CLOUD SEJA BEM-VINDO!

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

TUTORIAL PROCESSOS DE INSTALAÇÃO DO MYMIX MOBILE

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Arquitetura de Conectividade para Ambientes de Computação em Nuvem. Palestrante: Herlon Hernandes

Introdução a Banco de Dados. INTRODUÇÃO

Virtualização de Servidores. Adirlhey Assis Marcus Vinicius Coimbra

HAVE A SILCA COPY COPY HAVE A SILCA COPY. Duplicadoras Electrónicas HAVE A SILCA COPY HAVE A SILCA COPY HAVE A SILCA COPY HAVE A COPY

CIRCULAR Nº 21/2016 PREGÃO Brasília, 17 de maio de 2016.

Introdução. Modelo de um Sistema de Comunicação

Sistemas Operacionais

Professor: Gládston Duarte

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

Fundamentos de Programação. Diagrama de blocos

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Laboratório nº 5 FUNCIONAMENTO DO ADDRESS RESOLUTION PROTOCOL

COMANDO DA AERONÁUTICA

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

COMO SELECIONAR O RAID ADEQUADO PARA UMA SAN EQUALLOGIC

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas

Unidade 1: O Computador

Diagrama de Componentes e Implantação

Transcrição:

Arquiteturas capítulo 2

Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer:

Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores, exemplos: Gerenciamento de eventos Sistemas de biblioteca online Sistemas de cadastro em geral 3

Modelos de arquitetura de sistemas distribuídos Aplicativo distribuído baseado em arquitetura ponto a ponto Sharable objects Peer 1 Applicat ion Peer 2 Applicat ion Peer 3 Application Peer 4 Applicat ion Peers 5... N

Modelos de arquitetura de sistemas distribuídos Aplicativo distribuído baseado em arquitetura ponto a ponto, exemplos: Napster Emule Aplicativos baseados em bittorrent 5

Modelos de arquitetura de sistemas distribuídos Serviço fornecido por vários servidores Service Client Server Server Client Server

Modelos de arquitetura de sistemas distribuídos Serviço fornecido por vários servidores, exemplos Grandes sistemas de e-mail como google e hotmail Aplicações coorporativas como sistemas bancários e governamentais 7

Modelos de arquitetura de sistemas Servidor proxy web distribuídos Client Proxy server Web server Client Web server

Modelos de arquitetura de sistemas distribuídos Servidor proxy web, exemplo Sistema de proxy para páginas estáticas Sistemas que necessitam de uma baixa latência e não possui muito dinamismo dos componentes 9

Modelos de arquitetura de sistemas distribuídos Applets web Requisição do cliente resulta no download de um applet O cliente interage com o applet

Modelos de arquitetura de sistemas distribuídos Applets web, exemplos Sistemas de execução local, como simuladores didáticos, para ensino de física básica Visualizadores de distribuições estatísticas com parâmetros passados pelos usuários 11

Modelos de arquitetura de sistemas distribuídos Clientes leves e servidores de computação Network computer or PC Compute server Thin Client network Application Process

Modelos de arquitetura de sistemas distribuídos Clientes leves e servidores de computação, exemplos Mais antigos, Mainframes Terminais burros, como por exemplo computador popular Aplicações em nuvens 13

Estilos arquitetônicos A arquitetura do software define como os vários componentes que o compõe devem ser organizados e como devem interagir Em camadas Baseado em objetos 14

Estilos arquitetônicos Arquitetura em Camadas Um componente da camada Li tem permissão para chamar componentes da camada Li-1 mas não o contrário; O controle flui de camada para camada: requisições descem pela hierarquia, resultados fluem para cima. Arquitetura Baseada em Objetos Cada objeto corresponde a um componente e esses componentes são conectados por meio de chamadas a métodos remotos; Se ajusta a arquitetura de sistemas clienteservidor 15

Estilos arquitetônicos Baseada em eventos Baseado nos dados 16

Estilos arquitetônicos Arquitetura Baseada em Eventos Processos se comunicam por meio de propagação de eventos, que eventualmente transportam dados; Associado, em geral, a sistemas publicar/subscrever; Processos são fracamente acoplados. Arquitetura Centrada nos Dados Processos se comunicam por meio de um repositório comum; Sistemas baseados na Web são em grande parte centrados nos dados. 17

Introdução ao modelo cliente/servidor Uma questão fundamental em sistemas distribuídos é a definição de como devemos organizar os processos; Um modelo bastante popular, organiza os processos em clientes que requisitam serviços de servidores. 18

Introdução ao modelo cliente/servidor Comunicação Através de um protocolo simples sem conexão Utilizado quando a rede é razoavelmente confiável, como a maioria das LANs; Vantagem: eficiência; Desvantagem: dificuldades de tornar a aplicação resistente a falhas de transmissão; Se o cliente não recebe resposta, ele não tem como detectar se a mensagem original foi perdida ou se isto ocorreu com a resposta; O cliente pode reenviar a requisição; Para requisições como retorne o saldo da minha conta isto não gera problemas mas para mensagens do tipo transfira 10.000,00 da minha conta o reenvio da requisição seria desastroso. 19

Introdução ao modelo cliente/servidor Comunicação Através de protocolo confiável orientado a conexão Desvantagem: desempenho relativamente baixo; Funciona muito bem em WANs; Exemplo: praticamente todas as aplicações na Internet utilizam conexões TCP/IP. 20

Distribuição horizontal e vertical do modelo cliente/servidor Camadas de uma aplicação: uma aplicação pode ser estruturada em três níveis Interface com o usuário Processamento Dados 21

Distribuição horizontal e vertical do modelo cliente/servidor Camada de interface com o usuário Consiste dos programas que permitem a interação dos usuários com a aplicação; Pode ser muito simples, utilizando uma interface a caractere simples ou mais sofisticado utilizando interfaces gráficas; Exemplo simples: interface de terminal onde o mainframe controla toda a interação inclusive o monitor e teclado; Exemplo sofisticado: Interface de sistema que permite ao usuário arrastar o ícone que representa o arquivo para uma lixeira provocando sua exclusão. 22

Distribuição horizontal e vertical do modelo cliente/servidor Camada de processamento Contêm a funcionalidade principal da aplicação; Exemplo: uma ferramenta de busca na Internet; Ela deve transformar a string que o usuário digitou em uma ou mais consultas a um grande banco de dados e formatar os resultados obtidos em páginas HTML a serem apresentadas para o usuário. 23

Distribuição horizontal e vertical do modelo cliente/servidor Camada de dados Na sua forma mais simples consiste de um sistema de arquivos mas é comum que sejam utilizados banco de dados; Além de apenas armazenar dados pode também tratar sua consistência e realizar funções como gerar uma notificação quando uma dada condição ocorrer; Estas ações são muitas vezes implementadas através de stored procedures. 24

Distribuição horizontal e vertical do modelo cliente/servidor 1-28 Exemplo de uma ferramenta de busca 25

Distribuição horizontal e vertical do modelo cliente/servidor * Considere um sistema de suporte à decisão para uma corretora de valores: Uma camada frontal implementa a interface com o usuário; Uma camada de dados armazena os dados financeiros; Uma camada de processamento realiza a análise dos dados, o que eventualmente exige métodos e técnicas sofisticados de estatística e inteligência artificial. 26

Distribuição horizontal e vertical do modelo cliente/servidor Arquiteturas multidivididas A distinção entre os três níveis lógicos sugere várias possibilidades para a distribuição física de uma aplicação Cliente/Servidor; A organização mais simples requer apenas dois tipos de máquinas: Cliente: que executa os programas que compreendem a interface com o usuário; Servidor: que implementa as camadas de processamento e de dados. Esta organização é conhecida como Cliente/Servidor em duas camadas; No entanto, diversas outras arquiteturas podem ser utilizadas 27

Distribuição horizontal e vertical do modelo cliente/servidor Alternative client-server organizations (a) (e). 1-29 Possíveis organizações Cliente/Servidor 28

Distribuição horizontal e vertical do modelo cliente/servidor Na alternativa (a), executa-se no cliente só a parte da interface dependente do terminal; Na alternativa (b), todo o software de interface com usuário executa no cliente; Exemplo da alternativa (c): verificação de consistência do preenchimento de um formulário feito no cliente; Na alternativa (d), a aplicação executa na máquina cliente, indo para o servidor somente as operações sobre as base de dados. Exemplo: muitas aplicações bancárias; Na alternativa (e), o disco local no cliente mantêm parte dos dados. Exemplo: browser web mantendo uma cache; Recentemente tem-se evitado as alternativas (d) e (e) devido a problemas de gerenciamento e por tornar o software cliente dependente da plataforma subjacente do cliente; Clientes gordos (abordagens (d) e (e)); Clientes magros (abordagens (a) a (c)): mais fáceis de gerenciar. 29

Distribuição horizontal e vertical do modelo cliente/servidor Arquitetura em três camadas: Um servidor pode também agir como cliente, resultando em uma arquitetura em três níveis 1-30 30

Distribuição horizontal e vertical do modelo cliente/servidor Arquitetura em três camadas Nesta arquitetura, programas que formam o nível de processamento residem em um servidor separado; Um exemplo típico é o processamento de transações, onde o monitor de transações coordena as transações em servidores de dados possivelmente diferentes; Outro exemplo é a organização usual de sites na Web, onde o servidor Web age como ponto de entrada para um site, passando requisições para um servidor de aplicação no qual ocorre o processamento propriamente dito. 31

Distribuição horizontal e vertical do modelo cliente/servidor Distribuição horizontal A distribuição do modelo Cliente/Servidor em múltiplas camadas vista anteriormente é conhecida por distribuição vertical; O modelo Cliente/Servidor pode também ser distribuído horizontalmente, dividindo-se o cliente ou servidor em partes logicamente equivalentes; Um exemplo popular é um servidor Web replicado em várias máquinas de forma a prover um balanceamento da carga de trabalho. 32

Distribuição horizontal e vertical do modelo cliente/servidor Distribuição horizontla de um servidor web 1-31 33

Distribuição horizontal e vertical do modelo cliente/servidor Cluster de servidores Conjunto de máquinas conectadas por uma rede de alta largura de banda e baixa latência onde cada máquina executa um ou mais servidores; Normalmente organizado logicamente em três camadas: Comutador que é responsável pelo roteamento das requisições de clientes; Servidores de aplicação/computação; Sistema de arquivos distribuído/banco de dados. 34

Distribuição horizontal e vertical do modelo cliente/servidor Cluster de servidores 35