Escolar Documentos
Profissional Documentos
Cultura Documentos
Índice de Figuras
Fig. 6: Clientes invocam servidor individual...................................................................... 2
Fig. 7: Web crawler ............................................................................................................ 3
Fig. 8: Um serviço providenciado por múltiplos servidores............................................... 5
Fig. 9: Servidor proxy ......................................................................................................... 6
Fig. 10: Uma aplicação distribuída baseada em processos peer......................................... 8
Fig. 11: Applets Web........................................................................................................... 8
Página 1 de 10
1.1 Modelo de arquitectura de Sistemas
Página 2 de 10
Em algum momento os servidores podem ser clientes de outros servidores, como ilustra a
fig. 6. Por exemplo, um servidor Web é frequentemente um cliente para um servidor local
de ficheiros, que faz a gestão das páginas Web em si armazenadas. Servidores Web e
muitos outros serviços de Internet são clientes dos serviços DNS (Domain Name System),
que traduz os nomes dos domínios da Internet para endereços de rede. Outro exemplo,
também relacionado com a Web, são os motores de busca que permitem aos usuários
pesquisar resumos de páginas Web em sites da Internet. Estes resumos são feitos, por
programas chamados Web crawler 1 (vide fig. 7), que correm por detrás do site do motor
de busca usando requisições http 2 para aceder servidores Web através da Internet.
1
De acordo com Crovella, Lindemann e Reiser (2000), os sistemas de busca na Internet cresceram
consideravelmente nos últimos anos. Esses sistemas operam geralmente através de agentes. A maior parte
destes mecanismos de procura e indexação de informações são chamadas de Web crawlers.
2
Hyper Text Transfer Protocol
Página 3 de 10
Um motor de busca é ao mesmo tempo um servidor e um cliente: ele responde a
solicitações de navegadores cliente e ele executa Web crawlers que age como cliente para
outros servidores Web. Neste exemplo, as tarefas do servidor (respondendo as
requisições dos usuários) e as tarefas do crawler (fazendo requisições a outros servidores
Web são totalmente independentes); existe uma pequena necessidade de sincronizá-los e
eles podem correr de forma concorrente. De facto, um motor de busca típico incluiria
muitas threads de execução concorrentes, alguns servindo seus clientes e outros
executando Web crawlers .
Página 4 de 10
Fig. 3: Um serviço providenciado por múltiplos servidores
Servidor
Cliente
Servidor
Cliente
Servidor
Página 5 de 10
Caches podem ser colocados com cada cliente ou podem ser localizados num servidor
proxy que pode ser partilhado por diversos clientes.
Servidores Web proxies (vide fig. 9) providencia um cache partilhado de recursos Web
para máquinas clientes num site ou para vários sites. O propósito de servidores proxies é
aumentar a disponibilidade e a desempenho do serviço diminuindo o tráfego na rede e
carga de processamento nos servidores Web. Servidores proxy podem assumir outras
funções, como por exemplo, serem usados para aceder remotamente um servidor Web
por meio de um firewall.
Página 6 de 10
podem interagir uns com os outros e o padrão de comunicação depende dos requisitos da
aplicação.
Página 7 de 10
Fig. 5: Uma aplicação distribuída baseada em processos peer
Aplicação Aplicação
Código de Código de
coordenação coordenação
Aplicação
Código de
coordenação
Diversas variações neste modelo podem ser derivados da consideração dos seguintes
factores:
• O uso de código móvel em agentes móveis;
• Necessidades de usuário em uso de computadores de baixo custo com recursos de
hardware limitados que são simples de gerir.
• Os requisitos de adicionar e remover dispositivos móveis duma forma
conveniente.
Applets são bem conhecidos e largamente usados como exemplo de código móvel é o
caso de o utilizador de um navegador Web seleccionar um link para Applet cujo código
esta num servidor Web; o código é descarregado para o navegador e é executado no
mesmo, como é mostrado na fig. 9. A vantagem de executar o código descarregado
localmente, é que pode boas respostas interactivas, pois não sofre atrasos nem
variabilidade da largura de banda associado com as comunicações.
Servidor
Cliente Web
Código Applet Página 8 de 10
b) Cliente interage com o Applet
Servidor
Cliente Applet Web
Acedendo serviços significa executar código que pode invocar outras operações. Alguns
serviços já estão estandardizados que podem ser acedidos com aplicações bem
conhecidas – a Web é o exemplo mais comum, mas mesmo na Web existem alguns sites
usam funcionalidades não encontradas em navegadores Web, que requerem código
adicional. O código adicional pode, por exemplo, comunicar com o servidor.
Considerando uma aplicação que requere que o usuários tenham informação actualizada à
medida que vão ocorrendo alterações no servidor. Isto não pode ser alcançado com uma
interacção normal com o servidor Web, que é sempre iniciada pelo cliente.
Agentes móveis (como código móvel) são potenciais ameaças para os recursos do
computador que acedem. O ambiente que recebe um agente móvel deve decidir, que
recursos locais são permitidos para o agente, baseados na identidade do usuário com
quem o agente está interagindo – a identidade deve ser incluído duma forma segura com
o código e os dados do agente móvel. Adicionalmente, agentes móveis podem eles
próprios ser vulneráveis – eles podem não completar a tarefa se forem recusados a aceder
Página 9 de 10
a informação que eles precisam. Por exemplo, Web crawlers que precisam aceder
recursos num servidor Web através da Internet que funcionam correctamente fazendo
requisições remotas a processos servidores. Por esta razão, a aplicação de agentes móveis
pode ser limitada.
Página 10 de 10