sistemas distribuídos capítulo 1: introdução · exemplo –sistemas de ficheiros distribuído...

47
Departamento de Engenharia Informática Sistemas Distribuídos 2009/10 Sistemas Distribuídos Capítulo 1: Introdução

Upload: ngokhanh

Post on 03-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10

Sistemas DistribuídosCapítulo 1: Introdução

Page 2: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 2

Índice

• Definição de sistema distribuído

• Razões para a distribuição

• Evolução tecnológica

• Evolução do enquadramento económico

• Plataformas de suporte aos sistemas distribuídos

Page 3: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 3

Sistemas Distribuídos:Definições …

[…] is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

Leslie Lamport

[…] is a collection of loosely coupled processors interconnected by a communication network. Processors do not share memory or clock.

A. Silberschatz

[…] is a collection of independent computers that appear to the users of the system as a single computer.

A. Tanenbaum

[A system] in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.

Consequences: […] concurrency is the norm, […] no global clock exists, […] any component can fail independently.

G. Coulouris, J. Dollimore, T.Kindberg

Page 4: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 4

Sistemas Distribuídos: Definição

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

• Heterogéneas;• Administradas por diferentes organizações com regras diferentes de segurança, de gestão, etc.

• Redes de interligação entre essas máquinas;• Não há estado partilhado entre as várias máquinas.

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

Page 5: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 5

Middleware

Aplicações

Middleware

Sistema

Operativo

Bibliotecas (DLL)

Protocolos

Servidores

Hardware

Plataformas

Os Sistemas Distribuídos são suportados por diversas componentes

frequentemente designadas por plataformas de Middleware

Plataformas

de

Middleware

Page 6: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 6

Razões que justificaram a Distribuição

• Distribuição geográfica– Organização com instalações em Lisboa, Porto, Paris, …– Ligação entre organizações independentes

• Extensibilidade, modularidade– Crescimento gradual

• Partilha de recursos– Troca de informação entre departamentos, empresas

• Maior disponibilidade– Replicação

• Maior desempenho– Distribuição da carga

• Out-Sourcing– Acesso a competências de entidades externas

• e.g. especializadas em fornecer segurança (e.g. VeriSign); Servidores AAA

Page 7: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 7

O que tornou os Sistemas Distribuídos tão importantes?

• Requisitos Empresariais– Novas necessidades empresariais suportadas por novas tecnologias– Necessidade de integração do negócio– Digitalização

• Lei de Moore• Efeito de Rede – Lei de Metcalf

• Evolução Tecnológica de ...– Redes de Computadores– Computadores Pessoais– Sistemas Abertos– Arquitectura de Computadores– Aplicações em rede

• Jogos em rede, redes sociais, aplicações de conteúdo multimédia

Page 8: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 8

Evolução das Redes de Computadores

• Redes Telefónicas

• Linhas Dedicadas fornecidas pelos Operadores de Telecomunicações

• Oferta de Redes de dados pelos operadores públicos– X.25

– RDIS

– ATM

• Redes locais

• Internet

• ADSL, Rede de Televisão por Cabo

• GPRS, UMTS, WiFi, WiMaxRedes Actuais

Page 9: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 9

Evolução Histórica

• Os primeiros sistemas distribuídos foram implementados por grandes organizações e pelas Universidades

• Arpanet em 1969 uma rede de 4 nós patrocinada pelo DoD que interligou universidades, com 50 nós em 1972

• Redes especializadas

• Swift – transferências de dinheiro internacionais

• IATA – reservas de aviação

• A maioria dos grandes fabricantes desenvolveu arquitecturas de rede durante os anos 70

• SNA – IBM

• DNA – DEC

• DCA – Sperry

Page 10: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 10

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Internet

Perspectiva da evolução de Sistemas Distribuídos ditada pelas redes públicas

• inicialmente limitadas em banda passante mas progressivamente com melhor desempenho e com limitada segurança e garantia de serviço

Page 11: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 11

Intranet típica

Perspectiva da evolução de Sistemas Distribuídos ditada pelas redes Locais

• e portanto baseadas em redes relativamente fiáveis, com elevado débito e com um confinamento de segurança maior

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local area

network

email server

the Internet

Page 12: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 12

Redes móveis

Laptop

Mobile

Printer

Camera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Mobilidade e Ubiquidade

Perspectiva da evolução de Sistemas Distribuídos ditada pelas redes móveis

Page 13: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 13

Consequências da Evolução das Redesde Computadores

• Todos os computadores ligados à rede local

• Todas as redes locais interligadas entre si

• Alto débito, baixo preço

• Interligação de todos os computadores (empresas, organizações, domésticos, …)

• Interligação de todos os dispositivos (Laptops, telemóveis, PDA, automóvel, frigoríficos, …)

• Interligação de cartões inteligentes, Tags RFID, etc.

Page 14: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 14

Evolução dos Computadores Pessoais

Actualmente

• Equipamentos simples, completos e autónomos

• Baixo custo• Interface atraente e simples• Mercado dominado por Wintel• Miríade de aplicações• Os PDA e os telefones móveis são

computadores• Todos os equipamentos

sofisticados têm computadores• Cartões inteligentes, tags RFID

são computadores (ainda com recursos muito limitados)

Consequências da Evolução

• Computadores em todos os postos de trabalho, distribuídos pelas organizações

• Confiança dos utilizadores em soluções descentralizadas

• Facilidade de desenvolvimento de aplicações departamentais e pessoais

• Independência de departamentos em relação à informática central

• Quando mal gerido– Caos de aplicações– Difícil de manter e administrar

Page 15: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 15

Evolução da Arquitectura de Computadores

• Grande aumento da• Potência de cálculo

• Capacidade de memória

• Capacidade de disco

• Multiprocessamento económico e eficaz

Page 16: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 16

Evolução de Sistemas Abertos

• Normalização oficial e de facto em muitos aspectos chave– Computadores pessoais (Wintel)

– Protocolos de rede (TCP/IP, WWW, W3C, OASIS)

– Servidores Unix, Windows-NT, Mainframes IBM MVS

– Acesso a bases de dados (SQL, ODBC)

– Interligação de aplicações (DCOM, CORBA)

– Web Services – SOAP, XML

• Consequências– Tecnologia disponível

– Grande número de alternativas

– Preços competitivos

Page 17: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 17

Papel determinante da Internet

• Rede de Comunicação Aberta

• Alteração do padrão de utilização dos serviços de telecomunicações

• Desenvolvimento de Standards de facto que permitiram criar novas forma de trocar informação – HTTP, HTML, XML

• Criação de ambientes de desenvolvimento simplificados– e.g.: PHP, Pearl

• Escalabilidade no crescimento da redeDate Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

2003, Jan. 171,638,297 35,424,956

Computadores na internet com endereços IP registados

Page 18: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 18

Desafios da distribuição

• Comunicação exclusivamente por mensagem– Modelo de programação mais difícil

– Novos tipos de erros (timeout, …)

• Concorrência é a norma– Mais difícil de realizar mecanismos atómicos de sincronização, coordenação

– Mutexes, semáforos, monitores distribuídos normalmente não estão disponíveis• no caso de sistemas operativos não distribuídos

• Tolerância a Faltas– Modelo de faltas mais complexo

• Máquinas falham independentemente

• Redes podem perder pacotes, trocar a sua ordem, ...

– Conhecimento parcial do estado do sistema

• Das outras máquinas, só se sabe realmente que uma mensagem chegou, ou não chegou

• Uma mensagem não chegou porque

– Se perdeu ?

– O emissor falhou ?

– O emissor está muito lento ?

• Podemos nunca saber ao certo!!

Page 19: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 19

Desafios da distribuição

• Segurança– Intrusos podem ler mensagens em trânsito, injectar novas mensagens

– Não existe controlo sobre o software sistema e aplicações remotas

• Escalabilidade– Sistema distribuído deverácontinuar a funcionar de forma eficaz mesmo que haja um crescimento significativo no número de recursos e no número de clientes

• Heterogeneidade

– Máquinas com representações de dados diferentes, sistemas operativos diferentes, representação de dados

• Sistemas abertos

– Necessário disponibilizar a especificação e documentação das interfaces dos componentes do sistema

Page 20: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 20

Desafios da distribuição

• Trânsparência– de acesso: acesso a recursos deve ser feito pelas mesmas operações, quer sejam locais quer remotos

– de localização: cliente deve conseguir ter acesso aos recursos mesmo que não saiba a sua localização física

– de concorrência: vários processos devem operar concorrentemente sem interferências.

– de replicação: deve ser possível ter múltiplas instâncias de um mesmo recurso sem que os clientes reparem

• Para melhor fiabilidade e desempenho

– De falhas: eventuais falhas devem ser toleradas e escondidas dos utilizadores e aplicações

– De mobilidade: os clientes e os recursos devem poder mover-se dentro do sistema sem que isso afecte a operação dos mesmos

– De desempenho: deve ser possível reconfigurar o sistema para melhorar desempenho à medida que a carga varie

– De escala: sistema deve ser capaz de se expandir em escala sem que para tal seja preciso alterar a estrutura do sistema nem os seus algoritmos

Page 21: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10

Plataformas de suporte aos Sistemas Distribuídos

Page 22: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 22

Interfaces de Comunicação

Máquina A

OS kernel

Níveis

7 a 5

Níveis

7 a 5

Sockets, TLI

Níveis

3 a 1

Níveis

3 a 1

Máquina B

OS kernel

Níveis

7 a 5

Níveis

7 a 5aplicaçãoaplicação

Sockets, TLI

Níveis

3 a 1

Níveis

3 a 1

aplicaçãoaplicação

Nível 4

Transporte

Nível 4

TransporteNível 4

Transporte

Nível 4

Transporte

Page 23: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 23

Interfaces de Comunicação

• Interacção baseada na troca de mensagens • Facilidade de transporte para múltiplos sistemas

• Exploração das APIs normais de comunicação• Tipicamente da API de transporte (sockets)

• Cada aplicação possui um protocolo próprio

• Dificulta a utilização do protocolo por terceiros

• Desempenho porque éexecutado em modo utilizador

• telnet, rlogin, Winrdp-aplicações de terminal remoto

• ftp, samba – Transferência de ficheiros

• SMTP – Correio electrónico

Exemplos Problemas?

Page 24: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 24

Plataformas cliente/servidor

• Interacção via RPC (Remote Procedure Call)• Definição clara de interfaces de serviços• Linguagem de especificação de interfaces• Ambiente de desenvolvimento

• Serviços fornecidos pelos SO• Gestão de nomes• Sistema de ficheiros distribuído• Sincronização de relógios

• Mecanismos de segurança• Autenticidade• Privacidade

Page 25: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 25

Evolução das Plataformas

• 1987• Sun Microsystems – desenvolveu o Open Network Computing (ONC) como base do sistema do Network File System

• Apollo Computer desenvolveu o Network Computing System (NCS) –RPC

• 1989• A Open Software Foundation (OSF) lançou um concurso para definir a plataforma distribuída o Distributed Computing Environment – DCE

• A Object Management Group (OMG) foi formado para definir uma plataforma de suporte a programação distribuída independente das linguagens de programação o Common Object Request Broker Architecture (CORBA)

• 1990• A Microsoft baseou a definição do MRPC no proposto pela OSF

Page 26: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 26

Plataformas cliente-servidor

Máquina A

Níveis

6 a 5

Nível 4

Transporte

Nível 7

aplicação

RPC run-time support

Sockets, TLI

Serviço do SO

(cliente)

Serviço do SO

(cliente)Serviço do SO

(servidor)

Serviço do SO

(servidor)Serviço do SO

(cliente)

Serviço do SO

(cliente)Serviço do SO

(servidor)

Serviço do SO

(servidor)aplicaçãoaplicação

Níveis

3 a 1

Page 27: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 27

Exemplo – Sistemas de Ficheiros Distribuído

E/S

Gestão de

memória

Comunicação

entre processos

Gestão de

processos

aplicaçãoaplicação

Sistema de ficheirosSistema de ficheiros

E/S

Gestão de

memória

Comunicação

entre processos

Gestão de

processos

aplicaçãoaplicação

Page 28: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 28

Exemplos de Plataformas Cliente/Servidor

• SOAP – protocolo de invocação remota de Web services

• RMI do Java• ONC - Open Networking Computing – Sun Microsystems

• DCE - Distributed Computing Environment – Open Software Foundation

• DCOM – Distributed Component Object Model -Microsoft

• Common Object Request Broker Architecture (CORBA) - Object Management Group (OMG)

Page 29: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 29

Sistemas de Objectos

• As potencialidades da noção de objecto tornaram-na atractiva para descrever diversos conceitos em Eng. Informática– dando origem a uma tendência de evolução que se designa por OO de Object Oriented

• Diferenças entre a aproximação baseada em objectos e uma arquitectura cliente-servidor:– No RPC invocam-se funções, os dados são entidades separadas– Num sistema de objectos invoca-se uma função num determinado objecto que, como contém o seu próprio estado, torna indissociável a invocação da operação dos dados a que se aplica

• Existem vários sistemas comerciais com níveis de abstracção diferentes os mais representativos são: – Corba Common Object Request Broker Architectura – OMG– COM+ da Microsoft– Entreprise Java Beans – Sun

Page 30: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 30

m4

m5

m6

Interface Remota

m1m2m3

Código dos

métodos

Dados

Objecto remoto

Invocação de Objectos Remotos

Page 31: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 31

Brokers de Mensagens

• A integração é feita através do encaminhamento de informação (mensagens) entre os sistemas.

• As aplicações recebem e enviam as mensagens para um servidor central (broker).

• As mensagens uma vez recebidas pelo broker podem ser reformatadas, combinadas ou modificas por forma a serem entendidas pelo sistema de destino.

• Normalmente não é necessário modificar os sistemas envolvidos. Os Message Brokers fornecem adaptadores para as aplicações mais comuns (SAP, Baan, PeopleSoft, etc.).

Page 32: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 32

Exemplos

• Java Messages – gestão de filas de mensagens da plataforma J2EE.

• MSMQ – sistemas de filas de mensagens da Microsoft

• MQseries – IBM

• Active Entreprise – Tibco

• Biztalk – Enterprise integration broker da Microsoft

Page 33: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 33

Evolução das Plataformas (II)

• 1991– A OSF distribui o DCE 1.0– O CORBA 1.0 é distribuído com

suporte para C. É definido o conceito de Object Request Broker - ORB

• 1993– A IBM distribui um produto para

comunicação por mensagem entre aplicações o MQSeries

• 1996– A Microsoft distribui o Distributed

Component Object Model (DCOM) relacionado com os desenvolvimentos anteriores do OLE, COM e ActiveX. O núcleo do DCOM baseia-se nas tecnologias de RPC da Microsoft que se pode considerar um Object RPC (ORPC)

– CORBA 2.0. Uma das evoluções é o modelo de comunicações entre ORB o Internet Inter-ORB Protocol (IIOP) que permite a ORB de vendedores diferentes cooperarem

• 1997– A Sun distribui o JDK 1.1 que inclui o Remote

Method Invocation (RMI) que define um modelo de computação distribuída usando objectos Java. O RMI é semelhante ao CORBA e ao DCOM mas funciona só com objectos Java.

– Microsoft desenvolveu o COM+ sucessor do DCOM muito próximo do modelo CORBA.

• 1999– A SUN distribui o Java 2 Platform Entreprise

Edition (J2EE) que integra o RMI e o IIOP tornando mais simples a interoperação de sistemas entre sistemas Java e CORBA.

– O Simple Object Acess Protocol – SOAPapareceu pela primeira vez.

• 2001– A IBM e a Microsoft propõem as pilhas de

protocolos dos Web Services à W3C (World Wide Web Consortium)

• Wire stack• Description stack• Discovery stack

Page 34: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 34

Sistema Operativo Distribuído

aplicaçãoaplicação

Sistema de ficheirosSistema de ficheiros

E/SE/S

Gestão de memóriaGestão de memória

Comunicação entre processosComunicação entre processos

Gestão de processosGestão de processos

Micro núcleo Micro núcleo

Page 35: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 35

Exemplos

Devido à complexidade de integração esta arquitectura apenas teve expressão na investigação e foi em grande medida ultrapassada pela escala que a Internet impôs a estes sistemas

• Mach - [Acceta86], • Chorus [Zimmerman81], • V-Kernel• Amoeba [Tanenbaum81]

Page 36: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 36

Modelos Arquitecturais de Sistemas Distribuídos

Page 37: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 37

Principais modelos arquitecturais

distribuídos

• Cliente-Servidor

• Entre-Pares (peer-to-peer)

Variantes do Cliente-Servidor:

• Serviços oferecidos por múltiplos servidores

• Servidores proxy e caches

• Código Móvel

• Agentes Móveis

• Network Computer

• Thin Clients

• Dispositivos móveis e interação espontânea

Page 38: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 38

Cliente-Servidor

• Servidores mantêm recursos e servem pedidos de operações sobre

esses recursos

• Servidores podem ser clientes de outros servidores

• Simples e permite distribuir sistemas centralizados muito

directamente

• Mas pouco escalável: limitado pela capacidade do servidor e pela

rede que o liga aos clientes

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

Page 39: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 39

Entre-Pares (Peer-to-Peer)

• Todos os processos têm papéis semelhantes, sem distinção entre clientes e servidores

• Mais ampla distribuição de carga (computação e rede)

– Maior escalabilidade

– Sistema expande-se acrescentando mais pares

• Coordenação mais complicada que cliente-servidor

Application

Application

Application

Peer 1

Peer 2

Peer 3

Peers 5 .... N

Sharableobjects

Application

Peer 4

Page 40: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 40

Serviço Oferecido por Múltiplos

Servidores

• Distribui carga do servidor por

múltiplos servidores

• Duas opções:

– Particionamento: cada servidor

mantém uma partição do conjunto de

objectos

– Replicação: todos os servidores

mantêm réplicas do mesmo conjunto

de objectos

Server

Server

Server

Service

Client

Client

Page 41: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 41

Servidores Proxy e Caches

• Mantêm cópias de sub-conjunto dos objectos num

computador mais próximo dos clientes

• Melhor desempenho e disponibilidade

• Outros objectivos: por exemplo, acesso ao exterior

através de firewall

Client

Proxy

Web

server

Web

server

serverClient

Page 42: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 42

Código Móvel (Applets)

• Parte do código do

servidor é transferido

para o cliente e

executado localmente

• Execução não sofre

com atrasos de rede e

variações de largura de

banda

• Bom desempenho de

aplicações interactivas

a) client request results in the downloading of applet code

Web

server

ClientWeb

serverApplet

Applet code

Client

b) client interacts with the applet

Page 43: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 43

Agentes móveis

• Programa em execução (código+dados) que viaja de

um computador para outro na rede

• Executa alguma tarefa em nome de alguém

• Em cada computador, invoca serviços locais (e.g.

acesso a BD local para consultar informação local)

• Comparado com a solução de ter um cliente remoto a

invocar os mesmos serviços remotamente:

– Menor custo e tempo de comunicação

Page 44: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 44

Network Computers

• Sistema operativo e aplicações existem num

servidor de ficheiros remoto

• Clientes não mantêm sistema operativo

– logo ficam livres das tarefas de gestão associadas

• Clientes executam ficheiros que obtêm pela rede

– Mecanismos de cachins são fundamentais para

desempenho aceitável

Page 45: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 45

Thin Clients

ThinClient

ApplicationProcess

Network computer or PCCompute server

network

• Tal como network computer, alivia o cliente dos

custos de administração de um sistema operativo

• No entanto, código é agora executado no servidor

• Cliente oferece apenas a interface utilizador, pode

ser computador muito simples

Page 46: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 46

• Associações entre clientes e servidores são estabelecidas e terminadas frequentemente

• Normalmente, clientes são computadores móveis (e.g. PDAs, telemóveis), servidores são fixos ou móveis

Interacção

espontânea

Page 47: Sistemas Distribuídos Capítulo 1: Introdução · Exemplo –Sistemas de Ficheiros Distribuído E/S ... • RMI do Java ... – Corba Common Object Request Broker Architectura –OMG

Departamento de Engenharia Informática

Sistemas Distribuídos 2009/10 47

Formas de Realizar a Distribuição

• Utilização das interfaces de comunicação distribuída –sockets, TLI

• Plataformas Cliente Servidor• Sun RPC, ODBC,

• Brokers de Mensagens – Message Oriented Middleware• MQ series, MSMQ, Biztalk

• Sistemas de Invocação Remota de Objectos• Corba RMI, .NET

• Sistemas Entre-Pares• Sistemas Operativos Distribuídos - distribuição de todos os serviços sistema• Mach, Chorus

• Web Services

SO e Redes

SD

SD

SD

SEI

SEI

PADI

CMSERS

CN