Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
1
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
2
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
3
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
A arquitetura de um sistema é a sua estrutura em termos dos elementos (componentes)
constituintes. O objetivo de uma arquitetura (e de dividi-la em componentes) é assegurar que a
4
-Copyright Cesar Augusto Tacla 2008
constituintes. O objetivo de uma arquitetura (e de dividi-la em componentes) é assegurar que a estrutura satisfaça e satisfará as necessidades dos usuários. As maiores questões envolvidas na definição da arquitetura referem-se à confiabilidade, gerenciabilidade, flexibilidade e
balanceamento custo-desempenho do sistema.
Quando estudamos modelos de arquitetura buscamos padrões arquiteturais que definem a localização dos componentes, ou seja, onde colocar o componente na rede buscando padrões que dêem boa distribuição da carga de trabalho e dos dados.
Enfim, a arquitetura trata da divisão de responsabilidades entre os componentes do sistema (processos servidores, clientes e outros processos) e de posicionar estes componentes na rede. Esta divisão de responsabilidades e posicionamento tem implicações no desempenho,
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
No diagrama de componentes, as relações descrevem os papéis funcionais e padrões de comunicação utilizados entre os componentes.
5
-Copyright Cesar Augusto Tacla 2008 comunicação utilizados entre os componentes.
Por exemplo, os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes).
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
No diagrama de componentes, representa-se os componentes localizados nos respectivos ambientes ou máquinas onde executam.
6
-Copyright Cesar Augusto Tacla 2008 ambientes ou máquinas onde executam.
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
7
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
8
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
9
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Um servidor pode ser cliente de outro. Por exemplo, um servidor de páginas WEB é cliente de um servidor de arquivos local que gerencia os arquivo das páginas. Outro exemplo é o proxy de WEB
10
-Copyright Cesar Augusto Tacla 2008
servidor de arquivos local que gerencia os arquivo das páginas. Outro exemplo é o proxy de WEB (ver slide seguinte).
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
11
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Servidores proxy de WEB possuem um espaço de armazenamento temporário para páginas WEB recentemente visitadas pelos clientes. Ao invés de transferir todos os pedidos que chegam até ele
12
-Copyright Cesar Augusto Tacla 2008
recentemente visitadas pelos clientes. Ao invés de transferir todos os pedidos que chegam até ele aos servidores WEB, primeiramente verifica se a página solicitada está disponível no cache local. Caso esteja disponível e atualizada, serve-a ao cliente. Um servidor proxy aumenta a
disponibilidade do serviço (caso um servidor WEB torne-se indisponível (“caia”), suas páginas continuam disponíveis em cache, e aumenta o desempenho do serviço.
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Servidores podem rodar em computadores diferentes, mas oferecendo um serviço único. Por exemplo, uma base de dados que possui muitos acessos (muitos clientes) pode ser replicada em
13
-Copyright Cesar Augusto Tacla 2008
exemplo, uma base de dados que possui muitos acessos (muitos clientes) pode ser replicada em diversos servidores que garantem a disponibilidade do serviço com um desempenho
satisfatório.Por exemplo, o serviço de busca Google possui vários servidores replicados (índices para páginas WEB): http://www.google.fr/ ou .com.br ou .com. Outro exemplo, são sites que oferecem links alternativos para fazer download de arquivos. Isto indica replicação de dados (ex. www.tucows.com.br).
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
14
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Applets são bastante usadas e servem para ilustrar esta variação da arquitetura cliente-servidor. A vantagem de se utilizar applets (ou código móvel) é prover um tempo de resposta melhor ao
15
-Copyright Cesar Augusto Tacla 2008
A vantagem de se utilizar applets (ou código móvel) é prover um tempo de resposta melhor ao usuário, principalmente nos casos onde há muita interatividade (ex. preenchimento de
formulários). Como o cliente interage localmente com a applet, não há desperdício de banda de passagem e nem atrasos na comunicação entre cliente e servidor.
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
A applet pode comunicar-se com o servidor com o objetivo de manter o usuário atualizado. Por exemplo, uma applet consulta de tempos em tempos informações sobre cotações de ações
16
-Copyright Cesar Augusto Tacla 2008
exemplo, uma applet consulta de tempos em tempos informações sobre cotações de ações disponíveis no servidor e mostra ao usuário. Este modelo é conhecido por “push model”.
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Exemplos de applets numa arquitetura cliente-servidor do tipo push. •Banco do Brasil:
17
-Copyright Cesar Augusto Tacla 2008 •Banco do Brasil:
http://www.bb.com.br/appbb/portal/voce/ep/inv2/InformacoesDet.jsp?Noticia.codigo=148250 •Lances de jogos de futebol (sites esportivos).
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Applets numa arquitetura cliente-servidor do tipo push. Exemplos:
18
-Copyright Cesar Augusto Tacla 2008 Exemplos:
•Banco do Brasil:
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
19
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Todos os hosts são iguais no compartilhamento de recursos e comunicação.
20
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
As idéias precursoras ou a visão de Licklider levou a criação do protocolo host-to-host NCP, precursor do TCP/IP.
21
-Copyright Cesar Augusto Tacla 2008 precursor do TCP/IP.
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Alguns eventos levaram ao predomínio da arquitetura cliente-servidor:
-A Internet tornou-se gradualmente mais comercial, levando as empresas a criarem firewalls para
22
-Copyright Cesar Augusto Tacla 2008
-A Internet tornou-se gradualmente mais comercial, levando as empresas a criarem firewalls para protegerem as informações e controlarem o acesso;
-Milhões de pessoas se conectam a Internet por meio de seus desktops que não podem competir com o poder de processamento dos servidores que formam a espinha dorsal da Internet;
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
23
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
24
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
25
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
26
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
27
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
28
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
29
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
30
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
31