Em um modelo de comunicação, como o TCP/IP, as camadas mais inferiores têm a função de transmitir os dados enviados pela camada de aplicação de maneira confiável, mas não fornecem serviços diretos aos usuários. Já a camada de aplicação, fornece diretamente estes serviços, sendo assim, a camada de aplicação é “a razão de ser de uma rede de computadores”[1]. No modelo TCP/IP não há as camadas de seção e apresentação, que na maioria das aplicações são pouco usadas. Essas duas camadas estão incluidas na camada de aplicação.
Arquiteturas de aplicação
Uma Arquitetura de Aplicação define a estrutura de comunicação entre os utilizadores da aplicação. Existem basicamente três tipos de arquitetura: Cliente-Servidor, Peer-to-Peer e uma arquitetura híbrida, que é uma mescla das outros duas. Ao contrario de uma arquitetura de rede, que é fixa, ou seja, provê um conjunto específico de serviços as aplicaçõoes, a arquitetura de aplicação deve ser escolhida pelo desenvolvedor da aplicação, determinando o modo que a aplicação vai se comportar nos sistemas finais em uma rede.
Com essa classificação segundo a arquitetura (cliente-servidor, P2P ou híbrida) pode-se entender melhor como se comportam as aplicações em uma rede. Em qualquer uma dessas arquiteturas, uma aplicação se comunica através de pares de processos, onde um é rotulado cliente e outro servidor. Mesmo em uma aplicação do tipo P2P, o par que solicita um arquivo de outra máquina, é denominado cliente, e o outro que fornece é o servidor. Cliente e Servidor
Este modelo praticamente ocupava a única possibilidade e acabava assumindo como unanimidade o posto de arquitetura de aplicação, isso ocorria devido a computadores poderosos, com muita memória, serem muito caros. Com isso, a tendência era que existissem computadores potentes que centralizassem esses efeitos, por isso MainFrames eram utilizados para armazenar dados de clientes para fazer operações remotas.
Na atualidade, apesar do avanço da tecnologia, trazendo computadores pessoais com maior possibilidade de processamento e de memória, com custo baixo, esse modelo ainda se apresenta com muita força e aparentemente terá forças para continuar por muito tempo ainda.
No modelo de arquitetura Cliente-Servidor, existem dois processos envolvidos, um no host cliente e um outro no host servidor. A comunicação acontece quando um cliente envia uma solicitação pela rede ao processo servidor, e então o processo servidor recebe a mensagem, e executa o trabalho solicitado ou procura pelos dados requisitados e envia uma resposta de volta ao cliente, que estava aguardando. Nesta arquitetura o servidor tem uma aplicação que fornece um determinado serviço e os clientes tem aplicações que utilizam este serviço. Uma característica desta arquitetura, é que um cliente não se comunica com outro cliente, e o servidor, que tem um endereço fixo, esta sempre em funcionamento. Quase sempre um único servidor é incapaz de suportar as requisições de todos os clientes, devido a isso, na maioria dos casos são utilizados vários servidores que constituem um servidor virtual (server farm). Um exemplo claro de aplicação Cliente-Sevidor é a comunicação entre um browser, que é usado para visualizar páginas da internet, em um servidor web. Neste tipo de aplicação o cliente (browser) e o servidor (servidor web) comunicam-se trocando mensagens através do protocolo HTTP.
Peer-to-Peer
A arquitetura P2P (Peer-to-Peer) consiste em uma comunicação direta entre os clientes, não existe nenhuma divisão fixa entre cliente e servidor. Cada par (peer) ativo requisita e fornece dados a rede, desta forma não existe a dependência do servidor, isso aumenta significativamente a largura de banda e a redução de recursos. Esse tipo de arquitetura é utilizado principalmente por aplicações de compartilhamento de conteúdo, como arquivos contendo áudio, vídeo, dados ou qualquer coisa em formato digital. Outras aplicações orientadas a comunicações de dados, como a telefonia digital, videotelefonia e rádio pela internet também utilizam esta arquitetura. Como exemplo podemos citar o protocolo BitTorrent que utiliza a arquitetura peer-to-peer para compartilhamento de grandes quantidades de dados. Neste exemplo um cliente é capaz de preparar e transmitir qualquer tipo de ficheiro de dados através de uma rede, utilizando o protocolo BitTorrent.
Um peer (par) é qualquer computador que esteja executando uma instância de um cliente. Para compartilhar um arquivo ou grupo de arquivos, um nó primeiro cria um pequeno arquivo chamado "torrent" (por exemplo, Meuarquivo.torrent). Este arquivo contém metadados sobre os arquivos a serem compartilhados e sobre o tracker, que é o computador que coordena a distribuição dos arquivos. As pessoas que querem fazer o download do arquivo devem primeiro obter o arquivo torrent, e depois se conectar ao tracker, que lhes diz a partir de quais outros pares que se pode baixar os pedaços do arquivo.
Híbrida
Com uma pesquisa realizada pela empresa Xerox, foi detectado que pelo menos 70% dos usuários de P2P não compartilhavam arquivo, enquanto apenas 1% compartilhavam 50% destes, ou seja, a teoria que se tinha de “divisão de trabalho” pelos clientes, não valia na prática. Para isso então, buscou-se uma solução, e esta solução, representou a utilização da arquitetura do tipo híbrida.
Uma híbrida, mescla das outras duas: cliente-servidor/P2P. Esta arquitetura utiliza, por exemplo, para transferência de arquivos o P2P e a arquitetura cliente/servidor para pesquisar quais peers contêm o arquivo desejado. Uma aplicação muito utilizada neste tipo de arquitetura é a de mensagem instantânea. O Windows Live Messenger e o aMSN são bons exemplos, onde usuários podem bater papo online instantaneamente em tempo real. A comunicação desta aplicação é tipicamente P2P, no entanto, para iniciar uma comunicação, um usuário registra-se em um servidor, e verifica quem da sua lista de contatos também está registrado, para a partir de então começar uma comunicação. Essas aplicações também disponibilizam transferência de arquivos, suporte a grupos, emoticons, histórico de chat, suporte a conferência, suporte a Proxy, e outras ferramentas.
0 comentários:
Postar um comentário