Documente Academic
Documente Profesional
Documente Cultură
Modelos Arquitecturais
Arquitectura de um Sistema Distribuído
Arquitectura de Camadas de um Sistema Distribuído
Modelo Cliente-Servidor, P2P, Combinação C/S e P2P
Camada N
…
Camada 2
(serviços oferecidos à camada superior)
Camada 1
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011 4
Arquitectura de Camadas de 1 SD
Middleware
Serviços
Middleware
Serviços de Rede
do Sistema
Operativo
Kernel do Sistema
Operativo
Hardware do
Computador e Rede
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
Middleware (2)
… oferece um modelo de programação mais
conveniente para programadores de aplicações
distribuídas:
Fornece uma Interface de programação (API) homogénea.
Permite suportar a programação das comunicações baseadas em
abstracções do tipo Escrita/Leitura de um ficheiro, ou RPC (Remote
Procedure Calls) ou RMI (Remote Method Invocation).
Fornece os blocos base para a implementação dos componentes das
aplicações distribuídas baseados nestes paradigmas.
Principais Exemplos:
Sun RPC (Remote Procedure Calls), OMG CORBA (Common Request
Broker Architecture), Microsoft D-COM (Distributed Components Object
Model), Sun Java RMI
Middleware + moderno: IBM WebSphere, Microsoft .NET, Sun J2EE
Cliente
Servidor
Rede
Máquina Cliente
Alexandre Fonte
Máquina Servidor
Material de Apoio a AD, ESTCB Edição 2010-2011
Terminologia
Exemplos:
Serviço de ficheiros
Acesso (leitura/escrita) a ficheiros
armazenados no servidor
Serviço de impressão
Impressão numa impressora remota
gerida pelo servidor
Serviço de comunicações
E-mail, acesso a modems
ligações a outras redes.
result result
Server
Servidor como
cliente de outro
Client
Key: servidor, e.g.,
Process: Computer: DNS
Cliente Servidor
GET www.google.com HTTP/1.0
HTTP/1.0 200 OK
Server
Client
Server
Client
Server
Proxies e caches
Um servidor proxy é um intermediário que oferece um serviço recorrendo
aos servidores para executar esse serviço
Alexandr
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
e 17
Fonte
Modelo Cliente-Servidor
Propriedades:
Modelo mais comum e usado na prática
Interacção simples facilita implementação
Servidor é um ponto de falha único
Não escala para além dum dado limite (servidor
pode tornar-se num bottleneck)
Segurança apenas tem de se concentrar no servidor
Interacção
Funcional
Pedido
SQL
GUI DBMS
Resposta
Base
Lógica da
de Dados
aplicação
Alexandre Fonte Material de Apoio a AD, ESTCB Edição 2010-2011
Arquitectura 3 camadas (Three-tier)
SQL
GUI SQL
(DBMS)
Interacção
Funcional
Pedido
SQL
GUI DBMS
Resposta
Base
Lógica da
de Dados
aplicação
Cliente Pedido 1
Pedido 2
Cliente Servidor
Resposta 1 TEMPO
Resposta 3
Server
Threads
Internet
Processo Client 2
O pedido é perdido
O pedido é duplicado
O pedido é atrasado
O pedido chega fora de ordem
Mensagem Pedido
Emissão do pedido Toma conhecimento
do pedido.
Mensagem de ligação
Pedido Toma conhecimento
de Ligação do pedido de ligação
Mensagem de Aceitação
Aceita a ligação
Emissão de pedidos
Execução dos
Recepção de resultados
Pedidos e
Sincronismo
gestão do sincronismo.
Segurança
Propriedades:
Permite a um host aceder a um serviço disponibilizado por um sistema
peer-to-peer
Permite limitar o número de processos que fazem parte do sistema
peer-to-peer
Propriedades:
Permite combinar as vantagens de ambos os sistemas