330 likes | 414 Views
Sistemas Distribuídos. Revisão. Arquitetura Três Camadas. Regras De Negócios. B D. Interface. Servidor WEB. FONTE: www.portaljava.com. Protocolos de Internet. Camada Aplicação HTTP, SMTP, FTP, SSH, IRC, SNMP ... Camada Transporte TCP , UDP , SCTP, RTP, DCCP ...
E N D
Sistemas Distribuídos Revisão
Arquitetura Três Camadas Regras De Negócios B D Interface Servidor WEB FONTE: www.portaljava.com
Protocolos de Internet • Camada Aplicação HTTP, SMTP, FTP, SSH, IRC, SNMP ... • Camada TransporteTCP, UDP, SCTP, RTP, DCCP ... • Camada Rede IPv4, IPv6, ARP, ICMP ... • Camada Ligação de dados Ethernet, 802.11 WiFi, Token ring, FDDI, PPP, ...
Modelo de Cliente Servidor • Cliente/Servidor • O cliente manda um pedido para o servidor e o servidor o retorna. • Peer-to-peer (P2P) • O banco de dados manda um pedido para o gerenciador, o gerenciador retorna para o banco de dados e pede confirmação, e o banco de dados retorna para o gerenciador.
P 2 P • P2P ou Peer-to-Peer é uma tecnologia que possibilita a distribuição de arquivos em rede e que tem como característica permitir o acesso de qualquer usuário dessa rede a um nó, ou a outro usuário (peer) de forma direta, possibilitando a partilha entre os usuários de ciclos de processamento das máquinas, banda de rede, espaço de armazenamento entre outros recursos que em outros sistemas acabavam sendo desperdiçados. Basicamente pode-se dizer que cada computador é cliente e servidor ao mesmo tempo.
P 2 P... O conceito de peer-to-peer disseminou-se pelo mundo inteiro, devido ao surgimento, na internet, de sistemas de gestão de redes descentralizadas, que permitem aos utilizadores partilhar arquivos de forma direta, sem necessitarem de se ligar a um servidor central. O mais conhecido desses sistemas, o Napster, especializado na partilha de música, tornou-se mundialmente célebre devido a ser alvo de ataque jurídico por parte das companhias discográficas. Um dos tipos de arquivos mais frequentemente compartilhado nas redes P2P é o mp3
Definição • Um sistema distribuído possui as seguintes características: • Várias máquinas independentes, e potencialmente: • l Heterogéneas; • l Geograficamente distantes; • l Administradas por diferentes organizações . • Redes de interligação entre essas máquinas; • Estado partilhado entre as várias máquinas. • l Uma máquina multiprocessador autónoma não é (nesta óptica) um sistema distribuído
Condicionantes da evolução • Tecnologia • Os requisitos do utilizador
Das diversas evoluções tecnológicas ocorridas durante a última década, parece interessante destacar 4 que modificaram o modo de conceber os sistemas computacionais. As redes de computadores Os computadores pessoais Sistemas abertos As arquiteturas multiprocessador Tecnologia
As redes de computadores • Arpanet (EUA) – Linhas dedicadas • l Cyclades (França) – Redes públicas • Internet – Analógica – RDIS – ADSL • LAN’s
Os computadores pessoais • Contribuíram para o rápido desenvolvimento da tecnologia da micro eletrônica.
Sistemas Abertos • Inicialmente os sistemas operativos eram criados pelo fabricante do hardware. – Melhor adaptação do software ao hardware – Dificuldade de intercâmbio de informação entre sistemas diferentes • Sistemas operativos abertos – Definição do sistema complexa – Existência de plataformas
As arquiteturas multiprocessador • Teve o seu ponto mais marcante na década de 70 e 80, devido à existência de aplicações com elevado calculo numérico. • Destinados a super computadores
Os requisitos dos utilizadores podem ser segmentados de acordo com a atividade desenvolvida. Finais Programadores Gestores Os requisitos dos utilizadores
Utilizadores Finais • Visão integrada de recursos locais e remotos Segurança e confiabilidade no acesso a recursos remotos • Disponibilidade dos recursos remotos
Programadores • Interfaces normalizadas • Ambientes de desenvolvimento especializados
Gestores de sistemas • Capacidade de evolução, extensibilidade • Segurança do sistema local • Confiabilidade e disponibilidade dos recursos fornecidos
Vantagens Potenciais • Adequação à estrutura das organizações – Distribuição física e acesso distribuído a sistemas de informação das organizações • Adequação à interação entre pessoas – E-mail, boletins eletrônicos – Suporte para trabalho cooperativo • Adequação dos serviços às máquinas – Mainframes para SGBDs, PCs para as aplicações gráficas
Vantagens Potenciais • Partilha de recursos – Poder computacional, informação, periféricos • Difusão de informação entre pessoas – E-mail • Acesso a serviços – E-business
Vantagens Potenciais • Disponibilidade – A falha de uma parte pode não perturbar todo o sistema – Replicação • Flexibilidade –Escalabilidade no desenvolvimento de sistemas com elevado potencial
Problemas da Distribuição • Falha independente das componentes do sistema – Máquinas diretamente envolvidas nas interações – Infra-estrutura de comunicação • Interação via troca de mensagens – Incapacidade de comunicar com o destinatário – Perda de mensagens, alteração do seu fluxo ou conteúdo – Latência variável – Heterogeneidade de representação de dados
Problemas da Distribuição • Segurança – Acesso não autorizado a recursos remotos – Inspeção ou alteração ilegítimas de conteúdos de mensagens • Desenvolvimento de software – Concepção de sistemas operativos, linguagens e aplicações mais apropriados – Definir o que deve ser feito pelo sistema e o que deve ser feito pelos utilizadores
Arquitetura do Sistema • Suporte à comunicação distribuída • Plataformas Cliente/Servidor • Sistema operativo distribuído
Nível i+1 Nível i Nível i Nível i-1 Suporte à comunicaçãoDistribuída • Estruturado em 7 níveis • Cada nível possui: – Uma funcionalidade própria – Uma API – Um protocolo para dialogar com níveis idênticos • Formato das mensagens trocadas • Semântica das mensagens trocadas • 2 grupos de protocolos – Com ligação (connection-oriented) • Ligar, negociar, interactuar, terminar – Sem ligação (connectionless) Maquina B MaquinaA
1 – Físico Transmissão física de bits 2 - Lógico (Data Link ) Endereçamento físico Controlo de erros do nível físico 3 – Rede Localização de receptores Encaminhamento (routing) Fragmentação 4 – Transporte Terminais para envio/recepção Comunicação entre extremos Semânticas de transmissão 5 – Sessão Multiplexagem Controlo de fluxo adicional Gestão de contextos adicional 6 – Apresentação Conversão de informação estruturada 7 – Aplicação Interação aplicacional pretendida Suporte à comunicaçãoDistribuída
Suporte à comunicaçãoDistribuída • Nível Rede: – IP (Internet Protocol) – Resolução de endereços • Nível Transporte – TCP (Transport Control Protocol) • Circuitos virtuais – UDP (User Datagram Protocol)
Suporte à comunicaçãoDistribuída • Interação baseada na troca de mensagens – Facilidade de transporte para múltiplos sistemas – Exemplos: aplicações/protocolos telnet, ftp, SMTP • Problemas: – Cada aplicação possui um protocolo próprio – Exploração do protocolo por terceiros – Desempenho
Plataformas Cliente/Servidor • Máquinas autónomas e heterogéneas • Sistemas operativos autónomos e heterogéneos – Sem administração comum • Um conjunto de requisitos mínimos para garantir inter operacionalidade: – Protocolos de comunicação comuns – Aplicações cliente e serviços: telnet, ftp - Envio e recepção de e-mail - Sistema de arquivos distribuído
Aplicação Aplicação Plataformas Cliente/Servidor Sistemas de Arquivos E / S E / S Gestão de Memória Gestão de Memória Comunicação entre processos Comunicação entre processos Gestão de Processos Gestão de Processos
Aplicação Plataformas Cliente/Servidor Sistemas de Arquivos E / S Gestão de Memória Comunicação entre processos Gestão de Processos Micro Núcleo Micro Núcleo