Sistemas Distribuídos

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

Sistemas Distribuídos

Sistemas Distribuídos

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

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

Arquitetura dos Sistemas de Informação Distribuídos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Sistemas Distribuídos

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

SISTEMAS OPERACIONAIS

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

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

Curso de Aprendizado Industrial Desenvolvedor WEB

Sistemas Cliente-Servidor

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

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

Processos e Threads (partes I e II)

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

ESTUDO DE CASO WINDOWS VISTA

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

Relatorio do trabalho pratico 2

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

MODELO CLIENTE SERVIDOR

Tópicos Avançados em Banco de Dados Espaços de Tabelas, Arquivos de Dados e Arquivos de Controle. Prof. Hugo Souza

Um Driver NDIS Para Interceptação de Datagramas IP

Considerações no Projeto de Sistemas Cliente/Servidor

Sistemas Distribuídos


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

Projeto Arquitetural do IEmbedded

Engenharia de Software III

Sistema Operacional Ex: Complexo Computador multiusuário com vários terminais Tem que administrar todos os pedidos de usuários e assegurar que eles

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

SISTEMAS DISTRIBUÍDOS

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

SISTEMAS DISTRIBUIDOS

Projeto de Arquitetura

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

OCOMON PRIMEIROS PASSOS

Noções de. Microsoft SQL Server. Microsoft SQL Server

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

3 SCS: Sistema de Componentes de Software

Redes de Computadores Visão Geral de Infraestrutura Física em Redes I. Prof. MSc. Hugo Souza

Maestro. Arthur Kazuo Tojo Costa Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

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

Sistemas Distribuídos

Funcionalidade Escalabilidade Adaptabilidade Gerenciabilidade

(Open System Interconnection)

Sistemas Distribuídos Aula 2

Documento de Análise e Projeto VideoSystem

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

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

SISTEMAS OPERACIONAIS

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Serviços Web: Introdução

AULA 1 Iniciando o uso do TerraView

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

3. Arquitetura Básica do Computador

Sistemas Operacionais

PARANÁ GOVERNO DO ESTADO

IBM Managed Security Services for Agent Redeployment and Reactivation

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais

Prof. Esp. Lucas Cruz

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

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

Gerenciamento de Incidentes

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

ISO/IEC 12207: Gerência de Configuração

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

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

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

TRABALHO COM GRANDES MONTAGENS

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

REDES DE COMPUTADORES

Estruturas do Sistema de Computação

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMAS OPERACIONAIS

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

CHECK - LIST - ISO 9001:2000

Gerenciamento de Transações

Servidor Proxy armazenamento em cache.

Cap 03 - Camada de Aplicação Internet (Kurose)

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

Transcrição:

Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza

Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor os seguintes assuntos: Modelo Cliente-Servidor: Clientes Clientes terminais; Clientes participativos; Modelo Cliente-Servidor: Servidores Servidor iterativo; Servidor concorrente; Servidor com estado; Servidor sem estado; Estudos de casos e exercícios; Atividades extras de avaliação;

Até agora vimos que os processos configuram os sistemas de computação que utilizam paralelismo; As threads gerenciam as atividades menores para balancear operações que podem ser inicializadas em um/mais dispositivos uni ou multiprocessados; A distribuição também releva rotinas e chamadas baseadas em instruções eomodocomoelaspodem ser distribuídas ou simuladas, com o uso da virtualização de aplicações; Tudo isso se comunica similarmente à uma rede de dados, dependo do modelo de comunicação utilizado pelos serviços com cliente e servidores;

Para os Sistemas Distribuídos, os fundamentos básicos da comunicação são similares aos das redes de acesso. Os Protocolos de comunicação das redes formam a base para qualquer sistema distribuído; A analogia em adotar os modelos de camadas é essencial durante o planejamento e o projeto utilizando recursos dos modelos OSI e TCP/IP; A orientação a conexão e não orientação a conexão também sintetizam o fluxo, gerenciamento, além de várias medidas que devem ser analisadas para o uso de um Sistema Distribuídos - segurança e disponibilidade;

Só que para isso é necessário definir a ordem dos processos para os componentes e o formato de envio/recebimento dos dados entre os dispositivos; Na disciplina de Redes de Computadores e em aulas anteriores, discutimos o modelo cliente-servidor, os papéis de clientes e servidores e a maneira como eles interagem; Agora vamos entender com mais detalhes as características desta infraestrutura de comunicação com a análise específica de cada lado nos questionando: O que na verdade é o modelo cliente-servidor?

Analisando o contexto cliente distribuído, o foco principal é voltado acerca de como deve ser provida a comunicação dos servidores com o usuário final; Há praticamente dois modos de clientes se levarmos em consideração o acesso e armazenamento dos dados em ambientes locais; O primeiro é que para cada cliente é instalada uma parte do software responsável por sincronizar as chamadas ou o serviço solicitado; O segundo é que o cliente torna-se isento de qualquer responsabilidade de execução do serviço ou do software obtendo acesso remoto pela rede;

Para o segundo caso, denota-se a chamada de interface com usuário em rede, conhecida como terminais de clientes minimizados(thin clients); As soluções clientes tendem a ser as mais populares pois os dados são manipulados e gerenciados por operações simples e sem processos de baixo nível; Podem ser exemplificadas em dispositivos móveis como PDAS e afins que utilizam sistemas finais controláveis mapeados com o uso de tecnologias de alta performance sobre o hardware; Um exemplo, é o sistema para gerenciamento de clientes X (pesquisar);

A comunicação entre os serviços é realizada através de drivers. O sistema-base é executado nos terminais através de um núcleo que contém bibliotecas que executam diferentes aplicações; As aplicações muitas vezes dependem do servidor, pois os clientes apenas obedecem os comandos que trafegam por protocolos de comunicação e chamada; Logicamente esses processos de interação sugerem que todo o processamento, armazenamento e memória sejam realizados pelos servidores, mas em alguns casos o esforço pode ser dividido;

Uma aplicação distribuída pode ser balanceada quando, a partir de uma invocação de um cliente, o mesmo desenvolve parte do funcionamento da mesma evitando a sobrecarga de transações; Esse termo é adotado quando o cliente participa ativamente e chama pra si a responsabilidade proporcionando uma sistematização composta; Esse fato é importantíssimo tanto para o gerenciamento de partes de um sistema como para a transparência e a organização da concorrência; Imaginem um sistema com paralelismo mal gerenciando ou sem o alinhamento de prioridades;

Em virtude de manter a transparência de saber em que componente a operação deve ser executada, surgiu o conceito de servir o contingente de tarefas; Um servidor para uma aplicação distribuída nada mais é do que um processo que implementa um serviço em nome de um conjunto de clientes; Cada servidor espera por uma requisição em forma de serviço e instruções de código localizados remotamente por redes locais e a longa distância; Há vários modos de discernir a organização das requisições e respostas que configuram um servidor:

O primeiro modo é conhecido como servidor iterativo, onde o próprio dispositivo manipula a requisição que vem de um cliente, e na sequência, assegura que ela seja atendida, após o que espera pela próxima requisição; Um servidor concorrente é diferente em certo ponto, por não manipular por si próprio a requisição, mas passa para uma thread separada ou para um outro processo, após o que imediatamente espera pela próxima requisição; Um exemplo de um servidor concorrente é um servidor multithread com bifurcação de processos;

Uma questão importante para os servidores e clientes é o tipo de contato efetuado por ambos. As requisições e respostas obedecem os soquetes; As portas tem um papel importante na associação dos processos e operações dos serviços. Em vez de ter que monitorar um número considerável de processos passivos, muitas vezes é mais eficiente a implementação de um superservidor; Mas para isso o estado do servidor deve ser observado para identificar se o mesmo possui condições de suportar interrupções, mudanças, além da alteração da malha distribuída;

Um servidor sem estado não mantém informações sobre o estado de seus clientes e pode mudar seu próprio estado sem informar a nenhum cliente; Ele se limita a responder requisições HTTP, por exemplo, que entram para transferir ou buscar um arquivo. Após a requisição ser processada, o servidor Web esquece o cliente completamente; Um modo particular de um projeto sem estado é aquele em que o servidor mantém o que é conhecido como estado flexível. Neste caso, o servidor mantém o estado do cliente, mas apenas por tempo limitado;

Ao contrário, um servidor com estado em geral mantém informações persistentes sobre seus clientes. Isso significa que as informações precisam ser explicitamente removidas pelo servidor; Um exemplo comum é um servidor de arquivos que permite a um cliente manter uma cópia local de um arquivo, mesmo após as operações de atualização; O servidor possui uma tabela de registros [cliente, arquivo] garantindo o monitoramento das permissões de acesso dos clientes nos serviços; Desempenho, confiabilidade, leitura e escrita garantidas;

Há autores, dentre eles Ling et. al. (2004), que sugerem um servidor com estado de sessão que media um pouco das características dos modelos apresentados anteriormente; Ao elaborar um schema cliente-servidor, a opção sem estado ou com estado não deve afetar os serviços oferecidos pelo servidor. As informações devem ser providas de maneira independente; De certa forma, os paradigmas de clientes e servidores formulam a base dos sistemas distribuídos com infraestruturas diferenciadas em relação ao funcionamento;

A comunicação distribuída [próxima aula] também contribui no entendimento dos processos, seja com threads e para a virtualização; O modelo cliente-servidor e suas diversificações são fundamentais também neste aspecto, considerando as necessidades de cada implementação e as respectivas características; Concluímos que os processos ditam as regras de tráfego para os Sistemas Distribuídos para compatibilizar as diferenças similarmente como nas arquiteturas apenas em maior âmbito;

Próxima aula continuaremos o Módulo 03; Baixem o material no Clube Nabuco; Também disponível no site: http://hugovlsouza.com Dúvidas entrem em contato: hvlsouza@gmail.com ou pelas redes sociais: Facebook: http://facebook.com/hugovlsouza1