Modelos Arquiteturais Carlos Ferraz cagf@cin.ufpe.br
Tópicos da Aula Modelos arquiteturais e-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 e-servidor es invocando servidores individuais Figura 2.2 [Coulouris2001] invocation invocation Server result Server result 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 Server 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] Proxy server Web server 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 Coordination code Application Coordination 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 Applet code Web server b) cliente interage com o applet Applet Web 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 Thin-client model Presentation Server Data management Application processing Fat-client model Presentation Application processing Server Data management Software Engineering, 6 th Edition Chapter 11 Ian Sommerville 2000 12
Arquitetura C/S 3-tier3 Presentation Server Server Application processing Data management Software Engineering, 6 th Edition Chapter 11 Ian Sommerville 2000 13
Exemplo de um SD em um hotel Figura 2.8 [Coulouris[ 2001] Spontaneous Networking Internet Discovery service gateway Music service Características fundamentais: fácil conexão à rede local fácil integração com serviços locais Usuários móveis: conectividade limitada Hotel wireless segurança e privacidade Um serviço network de descoberta oferece duas interfaces: registration service: usado por servidores lookup service: usado por clientes Alarm service Camera TV/PC Laptop PDA Guests 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 S (o5) o6 S (o6) Software Engineering, 6 th 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 infraestrutura 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 clientecliente-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