Vous êtes sur la page 1sur 18

Modelos Arquiteturais

Carlos Ferraz
cagf@cin.ufpe.br
Tópicos da Aula

Modelos arquiteturais
Cliente-servidor
Objetos distribuídos

2
O que é um modelo arquitetural?

Estrutura em termos de componentes


especificados separadamente
Alocação de componentes em uma rede de
computadores
Interrelações de componentes
Divisão de responsabilidades entre componentes

3
Terminologia

Servidor – processo que aceita pedidos de outros


processos
Serviço – provido por um ou mais servidores
Plataforma – hardware e sistema operacional
Middleware – camada de software que esconde
heterogeneidade e fornece um modelo de
programação

4
Camadas de software e hardware em SDs
Figura 2.1 [Coulouris2001]

Applications, services

Middleware

Operating system

Platform

Computer and network hardware

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
5
Arquiteturas
Modelo Cliente-Servidor

Clientes invocando servidores individuais


Figura 2.2 [Coulouris2001]

Client invocation Server


invocation

result result
Server

Client
Key:
Process: Computer:

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
7
Um serviço provido por múltiplos servidores
Figura 2.3 [Coulouris2001]

Service

Server
Client

Server

Client
Server

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
8
Servidor proxy
Figura 2.4 [Coulouris2001]

Client Web
server
Proxy
server

Client Web
server

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
9
Peer processes
Figura 2.5 [Coulouris2001]

Application Application

Coordination Coordination
code code

Application

Coordination
code

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
10
Variações do modelo C/S: código/agente
móvel
Web applets: Figura 2.6 [Coulouris2001]
a) pedido de cliente resulta no downloading do código applet

Client Web
server
Applet code

b) cliente interage com o applet

Web
Client Applet server

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
11
Clintes magros e gordos

Presentation
Server
Thin-client Data management
model Client
Application
processing

Presentation
Application processing Server
Fat-client
model Client Data
management

Software Engineering, 6th Edition Chapter 11


© Ian Sommerville 2000
12
Arquitetura C/S 3-tier

Presentation
Server Server
Client Application Data
processing management

Software Engineering, 6th Edition Chapter 11


© Ian Sommerville 2000
13
Exemplo de um SD em um hotel
Figura 2.8 [Coulouris
[Coulouris 2001]

Spontaneous Networking
Music
Características fundamentais:
service Alarm
gateway
• fácil conexão à rede local service
Internet • fácil integração com serviços locais
Usuários móveis:
• conectividade limitada
• segurança e privacidade
Hotel wireless
Um serviçonetwork
de descoberta oferece duas
Discovery
service interfaces:
Camera
• registration service: usado por servidores
• lookup service: usado por clientes

TV/PC Guests
Laptop PDA
devices
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
14
Objetos Distribuídos

Uma aplicação distribuída pode ser vista como um


conjunto de objetos
Objetos:
Consistem de dados + código
Podem ser clientes, servidores ou ambos
Modelar com objetos não implica no uso de programação
orientada a objetos
Middleware:
Object brokers: permitem que objetos se encontrem em um
sistema distribuído, e interajam uns com os outros
Object services: permitem criar, nomear, mover, copiar,
armazenar, deletar, restaurar e gerenciar objetos

15
Arquitetura de Objetos Distribuídos

o1 o2 o3 o4

S (o1) S (o2) S (o3) S (o4)

Software bus

o5 o6

S (o5) S (o6)

Software Engineering, 6th Edition Chapter 11


© Ian Sommerville 2000
16
Comentários finais (1/2)

O uso de objetos distribuídos melhora a


capacidade de manutenção e adaptabilidade de
um sistema
Arquiteturas cliente-servidor fornecem uma infra-
estrutura versátil que suporta a inserção de
novas tecnologias mais rapidamente
Arquiteturas de software cliente-servidor têm sido
usadas desde os anos 80 → maturidade

17
Comentários finais (2/2)

Um número de tradeoffs deve ser considerado


considerado para selecionar a arquitetura cliente-
cliente-servidor apropriada, incluindo:
O crescimento potencial do número de usuários,
Custo e
Homogeneidade do ambiente computacional futuro e
futuro e do momento

18

Vous aimerez peut-être aussi