Sistemas Distribuídos

33
Sistemas Sistemas Distribuídos Distribuídos Revisão Revisão

description

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 ... - PowerPoint PPT Presentation

Transcript of Sistemas Distribuídos

Page 1: Sistemas  Distribuídos

Sistemas Sistemas DistribuídosDistribuídos

RevisãoRevisão

Page 2: Sistemas  Distribuídos

ServidorWEBB D

Regras De

Negócios

Interface

Arquitetura Três Arquitetura Três CamadasCamadas

FONTE: www.portaljava.com

Page 3: Sistemas  Distribuídos

Protocolos de InternetProtocolos de Internet

Camada AplicaçãoCamada Aplicação HTTP, SMTP, FTP, SSH, IRC, HTTP, SMTP, FTP, SSH, IRC, SNMP ...SNMP ...

Camada TransporteCamada Transporte TCPTCP, , UDPUDP, SCTP, RTP, DCCP ..., SCTP, RTP, DCCP ...

Camada RedeCamada Rede IPv4, IPv6, ARP, ICMP ... IPv4, IPv6, ARP, ICMP ...

Camada Ligação de dadosCamada Ligação de dados Ethernet, 802.11 WiFi, Ethernet, 802.11 WiFi, Token ring, FDDI, PPP, ...Token ring, FDDI, PPP, ...

Page 4: Sistemas  Distribuídos

Modelo de Cliente Modelo de Cliente ServidorServidor

Cliente/ServidorCliente/Servidor O O clientecliente manda um pedido para o manda um pedido para o

servidorservidor e o e o servidorservidor o retorna. o retorna. Peer-to-peer (P2P)Peer-to-peer (P2P)

O O banco de dadosbanco de dados manda um pedido manda um pedido para o para o gerenciadorgerenciador, o , o gerenciadorgerenciador retorna para o retorna para o banco de dadosbanco de dados e pede e pede confirmação, e o confirmação, e o banco de dadosbanco de dados retorna para o retorna para o gerenciadorgerenciador..

Page 5: Sistemas  Distribuídos

P 2 PP 2 P P2PP2P ou ou Peer-to-PeerPeer-to-Peer é uma tecnologia que é uma tecnologia que

possibilita a distribuição de arquivos em rede e possibilita a distribuição de arquivos em rede e que tem como característica permitir o acesso de que tem como característica permitir o acesso de qualquer usuário dessa rede a um nó, ou a outro qualquer usuário dessa rede a um nó, ou a outro usuário (peer) de forma direta, possibilitando a usuário (peer) de forma direta, possibilitando a partilha entre os usuários de ciclos de partilha entre os usuários de ciclos de processamento das máquinas, banda de rede, processamento das máquinas, banda de rede, espaço de armazenamento entre outros recursos espaço de armazenamento entre outros recursos que em outros sistemas acabavam sendo que em outros sistemas acabavam sendo desperdiçados. Basicamente pode-se dizer que desperdiçados. Basicamente pode-se dizer que cada computador é cliente e servidor ao mesmo cada computador é cliente e servidor ao mesmo tempo.tempo.

Page 6: Sistemas  Distribuídos

P 2 P...P 2 P...

O conceito de peer-to-peer disseminou-se O conceito de peer-to-peer disseminou-se pelo mundo inteiro, devido ao surgimento, na pelo mundo inteiro, devido ao surgimento, na internet, de sistemas de gestão de redes internet, de sistemas de gestão de redes descentralizadas, que permitem aos descentralizadas, que permitem aos utilizadores partilhar arquivos de forma direta, utilizadores partilhar arquivos de forma direta, sem necessitarem de se ligar a um servidor sem necessitarem de se ligar a um servidor central. O mais conhecido desses sistemas, o central. O mais conhecido desses sistemas, o Napster, especializado na partilha de música, Napster, especializado na partilha de música, tornou-se mundialmente célebre devido a ser tornou-se mundialmente célebre devido a ser alvo de ataque jurídico por parte das alvo de ataque jurídico por parte das companhias discográficas.companhias discográficas.

Um dos tipos de arquivos mais Um dos tipos de arquivos mais frequentemente compartilhado nas redes P2P é frequentemente compartilhado nas redes P2P é o mp3o mp3

Page 7: Sistemas  Distribuídos

Sistemas Sistemas DistribuídosDistribuídos

Page 8: Sistemas  Distribuídos

DefiniçãoDefinição

Um sistema distribuído possui as seguintes Um sistema distribuído possui as seguintes características:características: Várias máquinas independentes, e potencialmente:Várias máquinas independentes, e potencialmente:

l Heterogéneas;l Heterogéneas; l Geograficamente distantes;l Geograficamente distantes; l Administradas por diferentes organizações .l Administradas por diferentes organizações .

Redes de interligação entre essas máquinas;Redes de interligação entre essas máquinas; Estado partilhado entre as várias máquinas.Estado partilhado entre as várias máquinas.

l Uma máquina multiprocessador autónoma não l Uma máquina multiprocessador autónoma não é (nesta óptica) um sistema distribuído é (nesta óptica) um sistema distribuído

Page 9: Sistemas  Distribuídos

Condicionantes da evoluçãoCondicionantes da evolução

TecnologiaTecnologia

Os requisitos do utilizadorOs requisitos do utilizador

Page 10: Sistemas  Distribuídos

TecnologiaTecnologia

Das diversas evoluções tecnológicas Das diversas evoluções tecnológicas ocorridas durante a última década, parece ocorridas durante a última década, parece interessante destacar 4 que modificaram o interessante destacar 4 que modificaram o modo de conceber os sistemas modo de conceber os sistemas computacionais.computacionais.

As redes de computadoresAs redes de computadores Os computadores pessoaisOs computadores pessoais Sistemas abertosSistemas abertos As arquiteturas As arquiteturas

multiprocessadormultiprocessador

Page 11: Sistemas  Distribuídos

As redes de As redes de computadorescomputadores

Arpanet (EUA)Arpanet (EUA)– – Linhas dedicadasLinhas dedicadas

l Cyclades (França)l Cyclades (França)– – Redes públicasRedes públicas

InternetInternet– – AnalógicaAnalógica– – RDISRDIS– – ADSLADSL

LAN’sLAN’s

Page 12: Sistemas  Distribuídos

Os computadores Os computadores pessoaispessoais

TecnologiaTecnologia Evolução da Evolução da DensidadeDensidade

(de 3 em 3 anos)(de 3 em 3 anos)

Evolução do Evolução do desempenhodesempenho

(tempo de ciclo)(tempo de ciclo)

Circuitos Circuitos lógicoslógicos

MemóriasMemórias

DiscosDiscos

DuplicaDuplica

QuadruplicaQuadruplica

DuplicaDuplica

50% em 2 anos50% em 2 anos

33% em 10 anos33% em 10 anos

33% em 10 anos33% em 10 anos

• Contribuíram para o rápido desenvolvimento da tecnologia da micro eletrônica.

Page 13: Sistemas  Distribuídos

Sistemas AbertosSistemas Abertos

Inicialmente os sistemas operativos eram Inicialmente os sistemas operativos eram criados pelo fabricante do hardware.criados pelo fabricante do hardware.

– – Melhor adaptação do software ao Melhor adaptação do software ao hardwarehardware

– – Dificuldade de intercâmbio de Dificuldade de intercâmbio de informação entre sistemas diferentesinformação entre sistemas diferentes

Sistemas operativos abertosSistemas operativos abertos

– – Definição do sistema complexaDefinição do sistema complexa

– – Existência de plataformas Existência de plataformas

Page 14: Sistemas  Distribuídos

As arquiteturas As arquiteturas multiprocessadormultiprocessador

Teve o seu ponto mais marcante na Teve o seu ponto mais marcante na década de 70 e 80, devido à década de 70 e 80, devido à existência de aplicações com elevado existência de aplicações com elevado calculo numérico.calculo numérico.

Destinados a super computadoresDestinados a super computadores

Page 15: Sistemas  Distribuídos

Os requisitos dos Os requisitos dos utilizadoresutilizadores

Os requisitos dos utilizadores podem ser Os requisitos dos utilizadores podem ser segmentados de acordo com a atividade segmentados de acordo com a atividade desenvolvida.desenvolvida.

FinaisFinais

ProgramadoresProgramadores

GestoresGestores

Page 16: Sistemas  Distribuídos

Utilizadores FinaisUtilizadores Finais

Visão integrada de recursos locais e Visão integrada de recursos locais e remotos Segurança e confiabilidade remotos Segurança e confiabilidade no acesso a recursos remotosno acesso a recursos remotos

Disponibilidade dos recursos Disponibilidade dos recursos remotosremotos

Page 17: Sistemas  Distribuídos

ProgramadoresProgramadores

Interfaces normalizadas Interfaces normalizadas

Ambientes de desenvolvimento Ambientes de desenvolvimento especializados especializados

Page 18: Sistemas  Distribuídos

Gestores de sistemasGestores de sistemas

Capacidade de evolução, Capacidade de evolução, extensibilidadeextensibilidade

Segurança do sistema localSegurança do sistema local

Confiabilidade e disponibilidade dos Confiabilidade e disponibilidade dos recursos fornecidosrecursos fornecidos

Page 19: Sistemas  Distribuídos

VANTAGENS VANTAGENS EE

PROBLEMASPROBLEMAS

Page 20: Sistemas  Distribuídos

Vantagens PotenciaisVantagens Potenciais Adequação à estrutura das organizaçõesAdequação à estrutura das organizações

– – Distribuição física e acesso Distribuição física e acesso distribuído a sistemas de informação das distribuído a sistemas de informação das organizaçõesorganizações

Adequação à interação entre pessoasAdequação à interação entre pessoas– – E-mail, boletins eletrônicosE-mail, boletins eletrônicos– – Suporte para trabalho cooperativoSuporte para trabalho cooperativo

Adequação dos serviços às máquinasAdequação dos serviços às máquinas– – Mainframes para SGBDs, PCs Mainframes para SGBDs, PCs

para as aplicações gráficaspara as aplicações gráficas

Page 21: Sistemas  Distribuídos

Vantagens PotenciaisVantagens Potenciais

Partilha de recursosPartilha de recursos

– – Poder computacional, Poder computacional, informação, periféricosinformação, periféricos

Difusão de informação entre pessoasDifusão de informação entre pessoas

– – E-mailE-mail Acesso a serviçosAcesso a serviços

– – E-business E-business

Page 22: Sistemas  Distribuídos

Vantagens PotenciaisVantagens Potenciais

DisponibilidadeDisponibilidade

– – A falha de uma parte pode não A falha de uma parte pode não perturbar todo o sistemaperturbar todo o sistema

– – ReplicaçãoReplicação FlexibilidadeFlexibilidade

––Escalabilidade no desenvolvimento Escalabilidade no desenvolvimento de sistemas com elevado potencialde sistemas com elevado potencial

Page 23: Sistemas  Distribuídos

Problemas da Problemas da DistribuiçãoDistribuição

Falha independente das componentes do sistemaFalha independente das componentes do sistema– – Máquinas diretamente envolvidas nas Máquinas diretamente envolvidas nas

interaçõesinterações– – Infra-estrutura de comunicaçãoInfra-estrutura de comunicação

Interação via troca de mensagensInteração via troca de mensagens– – Incapacidade de comunicar com o Incapacidade de comunicar com o

destinatáriodestinatário– – Perda de mensagens, alteração do seu fluxo Perda de mensagens, alteração do seu fluxo

ou conteúdoou conteúdo– – Latência variávelLatência variável– – Heterogeneidade de representação de Heterogeneidade de representação de

dadosdados

Page 24: Sistemas  Distribuídos

Problemas da Problemas da DistribuiçãoDistribuição

SegurançaSegurança– – Acesso não autorizado a recursos Acesso não autorizado a recursos

remotosremotos– – Inspeção ou alteração ilegítimas de Inspeção ou alteração ilegítimas de

conteúdos de mensagensconteúdos de mensagens Desenvolvimento de softwareDesenvolvimento de software

– – Concepção de sistemas operativos, Concepção de sistemas operativos, linguagens e aplicações mais apropriadoslinguagens e aplicações mais apropriados

– – Definir o que deve ser feito pelo Definir o que deve ser feito pelo sistema e o que deve ser feito pelos sistema e o que deve ser feito pelos utilizadores utilizadores

Page 25: Sistemas  Distribuídos

Arquitetura do Arquitetura do SistemaSistema

Page 26: Sistemas  Distribuídos

Arquitetura do SistemaArquitetura do Sistema

Suporte à comunicação distribuídaSuporte à comunicação distribuída

Plataformas Cliente/ServidorPlataformas Cliente/Servidor

Sistema operativo distribuído Sistema operativo distribuído

Page 27: Sistemas  Distribuídos

Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída

Estruturado em 7 níveisEstruturado em 7 níveis Cada nível possui:Cada nível possui:

– – Uma funcionalidade própriaUma funcionalidade própria– – Uma APIUma API– – Um protocolo para dialogar com Um protocolo para dialogar com níveis idênticosníveis idênticos

Formato das mensagens trocadasFormato das mensagens trocadas Semântica das mensagens Semântica das mensagens

trocadastrocadas 2 grupos de protocolos2 grupos de protocolos

– – Com ligação (Com ligação (connection-connection-orientedoriented))

Ligar, negociar, interactuar, Ligar, negociar, interactuar, terminarterminar– – Sem ligação (Sem ligação (connectionlessconnectionless))

Maquina A Maquina B

Nível i+1

Nível i Nível i

Nível i-1

Page 28: Sistemas  Distribuídos

Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída

1 – Físico1 – FísicoTransmissão física de Transmissão física de bitsbits

2 - Lógico (2 - Lógico (Data Link Data Link ))Endereçamento físicoEndereçamento físicoControlo de erros do Controlo de erros do

nível físiconível físico3 – Rede3 – Rede

Localização de Localização de receptoresreceptores

Encaminhamento Encaminhamento ((routingrouting))

FragmentaçãoFragmentação4 – Transporte4 – Transporte

Terminais para Terminais para envio/recepçãoenvio/recepção

Comunicação entre Comunicação entre extremosextremos

Semânticas de Semânticas de transmissãotransmissão

5 – Sessão5 – SessãoMultiplexagemMultiplexagemControlo de fluxo Controlo de fluxo

adicionaladicionalGestão de Gestão de

contextos adicionalcontextos adicional6 – Apresentação6 – Apresentação

Conversão de Conversão de informaçãoinformaçãoestruturadaestruturada

7 – Aplicação7 – AplicaçãoInteração Interação

aplicacional pretendidaaplicacional pretendida

Page 29: Sistemas  Distribuídos

Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída

Nível Rede:Nível Rede:

– – IP (IP (Internet ProtocolInternet Protocol))

– – Resolução de endereçosResolução de endereços Nível TransporteNível Transporte

– – TCP (TCP (Transport Control ProtocolTransport Control Protocol)) Circuitos virtuaisCircuitos virtuais

– – UDP (UDP (User Datagram ProtocolUser Datagram Protocol))

Page 30: Sistemas  Distribuídos

Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída

Interação baseada na troca de mensagensInteração baseada na troca de mensagens

– – Facilidade de transporte para múltiplos Facilidade de transporte para múltiplos sistemassistemas

– – Exemplos:Exemplos:

aplicações/protocolos telnet, ftp, SMTPaplicações/protocolos telnet, ftp, SMTP Problemas:Problemas:

– – Cada aplicação possui um protocolo Cada aplicação possui um protocolo própriopróprio

– – Exploração do protocolo por terceirosExploração do protocolo por terceiros

– – Desempenho Desempenho

Page 31: Sistemas  Distribuídos

Plataformas Plataformas Cliente/ServidorCliente/Servidor

Máquinas autónomas e heterogéneasMáquinas autónomas e heterogéneas Sistemas operativos autónomos e Sistemas operativos autónomos e

heterogéneosheterogéneos– – Sem administração comumSem administração comum

Um conjunto de requisitos mínimos para Um conjunto de requisitos mínimos para garantirgarantir

inter operacionalidade:inter operacionalidade:– – Protocolos de comunicação comunsProtocolos de comunicação comuns– – Aplicações cliente e serviços: telnet, ftpAplicações cliente e serviços: telnet, ftp- Envio e recepção de e-mail- Envio e recepção de e-mail- Sistema de arquivos distribuído- Sistema de arquivos distribuído

Page 32: Sistemas  Distribuídos

Plataformas Plataformas Cliente/ServidorCliente/Servidor

AplicaçãoAplicaçãoAplicaçãoAplicação

Sistemas de Arquivos

E / S

Gestão deMemória

Comunicação entre processos

Gestão de Processos

E / S

Gestão deMemória

Comunicação entre processos

Gestão de Processos

Page 33: Sistemas  Distribuídos

Plataformas Plataformas Cliente/ServidorCliente/Servidor

AplicaçãoAplicação

Sistemas de Arquivos

E / S

Gestão deMemória

Comunicação entre processos

Gestão de Processos

MicroNúcleo

MicroNúcleo