Arquitetura dos Sistemas de Informação Distribuídos



Documentos relacionados
SISTEMAS DISTRIBUIDOS

Modelos de Arquiteturas. Prof. Andrêza Leite

Aula 03-04: Modelos de Sistemas Distribuídos

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas Distribuídos

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

Sistemas Distribuídos. Introdução

Sistemas Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

1

Sistemas Cliente-Servidor

Sistemas Distribuídos

Disciplina de Banco de Dados Introdução

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 2- Aplicações distribuídas e TI VERDE


Revisão. Karine Peralta

Sistema Operacional Correção - Exercício de Revisão

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Distributed Systems Concepts and Design

IW10. Rev.: 02. Especificações Técnicas

Sistemas Distribuídos (DCC/UFRJ)

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

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

AULA Redes de Computadores e a Internet

Fundamentos de Banco de Dados

SISTEMAS DISTRIBUÍDOS

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

Redes de Computadores e suas classificações. Maurício Severich

SISTEMAS DISTRIBUÍDOS

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

SISTEMAS DISTRIBUÍDOS

Profs. Deja e Andrei

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

SISTEMAS OPERACIONAIS

Administração de Sistemas de Informação Gerenciais

Sistemas Operacionais Gerência de Dispositivos

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Bancos de Dados Móveis

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Sistemas Operacionais Introdução. Professora: Michelle Nery

Eduardo Bezerra. Editora Campus/Elsevier

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Roteamento e Comutação

Prof. José Maurício S. Pinheiro UniFOA

Prof. Samuel Henrique Bucke Brito

Gerência de Redes. Arquitetura de Gerenciamento.

Sistemas Operacionais. Prof. André Y. Kusumoto

SISTEMAS OPERACIONAIS. Prof. André Dutton

RESOLUÇÃO POLÍTICA DE ATUALIZAÇÃO DE EQUIPAMENTOS E SOFTWARES.

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

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

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Curso de Aprendizado Industrial Desenvolvedor WEB

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Projeto de Arquitetura

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Projeto de Arquitetura

EVOLUÇÃO DE SOFTWARE

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

SISTEMAS DISTRIBUÍDOS

Redes de Computadores. Prof. Dr. Rogério Galante Negri

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. Prof. Angelo Augusto Frozza, M.Sc.

Introdução à Engenharia de Software

Motivos para você ter um servidor

Everson Scherrer Borges João Paulo de Brito Gonçalves

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Sistemas Distribuídos

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Sistemas Operacionais

Banco de Dados Orientado a Objetos

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

Sistemas Distribuídos

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Sistemas de Informação para Apoio à Decisão Gerencial

PLANO DE ATUALIZAÇÃO E MANUTENÇÃO DE EQUIPAMENTOS

Sistemas Distribuídos

Transcrição:

Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa funcionar corretamente em diferentes tipos de circunstâncias e diante de diversas dificuldades e ameaças. Dificuldades e ameaças para um sistema de informação distribuído: Modo variável de utilização: Variações nas cargas de trabalho que são aplicadas ao sistema (página web acessada por milhares de usuários), componentes mal conectados ou desconectados (computadores móveis), requisitos especiais como grande largura de banda e baixa latência (aplicativos multimídia). Variáveis do ambiente do sistema: Os sistemas distribuídos devem acomodar sistemas operacionais, redes e hardwares homogêneos. o Redes sem fio operam em taxas inferiores as redes cabeadas. o Sistemas operacionais apresentam ordens de grandeza diferentes. Problemas internos: Relógios não sincronizados, danos nos componentes, falhas de hardware e software. Ameaças externas: Ataque a integridade e ao sigilo dos dados. A arquitetura de um sistema é sua estrutura em termos de componentes, tendo como objetivo global garantir que a estrutura do sistema possa atender a demanda atual e futura. A maior preocupação é tornar o sistema: Confiável; Adaptável; Gerenciável; Rentável. Descreveremos a seguir, os principais modelos arquitetônicos que são empregados nos sistemas de informação distribuídos. Os modelos de arquitetura de um sistema distribuídos simplificam e abstraem funções dos componentes individuais, considerando o posicionamento dos componentes em uma rede de computadores, em busca de definir a distribuição de dados e cargas de trabalho, e o inter-relacionamento dos componentes visando a seus papéis funcionais e a comunicação entre eles. Os processos são classificados em: Processos servidores;

Processos clientes; Processos peer-to-peer (processos que colaboram e se comunicam de maneira simétrica). Essa classificação identifica a funcionalidade de cada processo, permitindo que seja avaliada a carga de trabalho e os impactos causados por falhas em cada um deles. Com o resultado da análise feita sobre os processos, é possível especificar o posicionamento de cada processo, permitindo atender a objetivos de desempenho e confiabilidade do sistema distribuído. Existem vários padrões que são amplamente utilizados para dividir tarefas em um sistema distribuído, tendo um impacto importante no desempenho e na eficiência do sistema. Processos servidores Um processo servidor aceita solicitações de outros processos, podendo ser fornecido por um ou mais servidores, que interagem uns com os outros, e com processos clientes. Plataforma: Denominação para as camadas de baixo nível de um sistema de informação distribuído, composta pelos sistemas operacionais, hardware e rede, que fornece serviços para as camadas acima, facilitando a comunicação entre os processos. ]

Middleware: Camada de software que tem o objetivo de mascarar a heterogeneidade do sistema, fornecendo um modelo de programação que seja conveniente para os programadores de aplicativos. Um middleware é composto por um conjunto de objetos e processos que interagem entre si, para a implementação da comunicação e oferecer suporte para o compartilhamento de recursos e aplicativos distribuídos. Arquitetura A divisão de responsabilidades entre aplicativos, servidores e outros processos, que são componentes de um sistema, é a distribuição destes nos diversos computadores que forma uma rede. Talvez seja o aspecto mais evidente no projeto de um sistema de informação distribuído, implicando no desempenho, confiabilidade e segurança do sistema resultante. Os processos possuem responsabilidades bem definidas e interagem para a realizações de atividades úteis. Cliente-servidor É a arquitetura mais falada quando os sistemas de informação distribuídos estão em discussão, sendo a mais importante e a mais empregada. A imagem acima apresenta uma estrutura simples em que os processos clientes interagem com os processos servidores. Observe que os servidores podem ser clientes de outros servidores. Ex: Servidor Web é cliente local do servidor de banco de dados.

Peer-to-peer Todos os processos que estão envolvidos em uma determinada atividade, realizam funções semelhantes interagindo corporativamente. Não existe distinção entre processos clientes e processos servidores, nem entre os computadores em que são executados. O modelo cliente-servidor não é flexível em termos de escalabilidade, oferecendo uma estratégia simples e direta para o compartilhamento de dados e recursos. O peer-to-peer tem como objetivo principal, explorar recursos de um grande número de computadores para o cumprimento de uma dada atividade. Alguns aplicativos que utilizam o peer-to-peer tem surgido, permitindo que milhares de computadores forneçam acesso a dados e outros recursos armazenados e gerenciados coletivamente. Ex: Napster Os aplicativos em formato peer-to-peer são compostos por um grande número de processos (peers), sendo executados em comutadores diferentes, sendo que o padrão de comunicação entre eles depende inteiramente do que o aplicativo faz. Observe na imagem que um grande número de objetos está compartilhado, um computador individual contém uma parte desses objetos, permitindo que as cargas de processamento, armazenamento e comunicação para acessar os objetos, sejam distribuídos por diversos computadores e conexões de rede. Cada objeto pode ser replicado em vários computadores, distribuindo melhor a carga e solucionando problemas com desconexões individuais.

Todas essas características tornam a arquitetura peer-to-peer bem mais complexa que a arquitetura cliente-servidor, principalmente pela necessidade de colocar objetos individuais, recuperá-los e manter réplicas entre vários computadores. Os modelos de arquitetura de sistemas distribuídos são compostos por processos que se comunicam através da troca de mensagens que trafegam em uma rede de computadores. É interessante que esses modelos se preocupem com o desempenho e a confiabilidade dos processos, das redes de comunicação e com a segurança dos recursos que estão presentes no sistema. Requisitos para o projeto da arquitetura de um sistema de informação distribuído Os fatores que motivam a distribuição de processos de um sistema de informação distribuído são numerosos, sendo sua importância relevante. Citaremos abaixo alguns requisitos importantes para projetar a arquitetura de um sistema distribuído: 1. Desempenho A distribuição dos recursos vai muito além das necessidades de gerenciamento de atualizações concorrentes, os principais problemas de desempenho causados pela limitação de recursos de processamento e comunicação, como: Reatividade: os usuários exigem respostas rápidas e consistentes, só que em alguns dos programas clientes acessam recursos compartilhados que produzem atrasos no processamento da solicitação. Ex: a velocidade de resposta de servidores remotos é determinada pelo desempenho da rede, do servidor, e dos componentes de software envolvidos. Para obter um bom tempo de resposta é necessário que o sistema de informação distribuído seja formado por poucas camadas de software, e transfira pequenos volumes de dados entre clientes e servidores. 2. Throughtput Velocidade com que um trabalho computacional é feito, medido através de taxas de rendimento do sistema. A capacidade de um sistema de informação distribuído realizar trabalhos para seus usuários é afetada pela velocidade de processamento tanto nos clientes, como nos servidores e pela taxa de transferência dos dados. A taxa de rendimento das camadas de software e de rede são importantes para medir a taxa de rendimento do sistema. 3. Balancamento de carga Tem o objetivo de permitir que os aplicativos de um sistema de informação distribuído trabalhem paralelamente, sem disputar os mesmos recursos, mas explorem recursos computacionais disponíveis como processador, memória e recursos de rede.

Ex: Quando algum cliente executa um aplicativo localmente, ele remove as cargas de processamento do servidor. 4. Qualidade de serviço A qualidade de serviço é utilizada para medir a capacidade do sistema de atender a prazos. Para que ela seja realizada é necessário que exista uma dependência dos recursos disponibilizados em momentos apropriados, implicando no fornecimento de recursos de comunicação e computação, que sejam garantidos, suficientes para permitir que os aplicativos concluam suas tarefas a tempo.