Uma descrição do serviço e aplicações
A discussão anterior identificou muitos dos componentes que compõem a Internet. Mas também podemos descrevê-la partindo de um ângulo completamente diferente — ou seja, como uma infraestrutura que provê serviços a aplicações. Tais aplicações incluem correio eletrônico, navegação na Web, mensagem instantânea, Voz sobre IP (VoIP), Internet via rádio, vídeo em tempo real, jogos distribuídos, compartilhamento de arquivos peer- -to-peer (P2P), televisão pela Internet, login remoto e muito mais. Essas aplicações são conhecidas como aplicações distribuídas, uma vez que envolvem diversos sistemas finais que trocam informações mutuamente. De forma significativa, as aplicações da Internet são executadas em sistemas finais — e não em comutadores de pacote no núcleo da rede. Embora os comutadores de pacote facilitem a troca de dados entre os sistemas, eles não estão relacionados com a aplicação, que é a fonte ou destino de dados.
Vamos explorar um pouco mais o significado de uma infraestrutura que fornece serviços a aplicações. Nesse sentido, suponha que você tenha uma grande ideia para uma aplicação distribuída para a Internet, uma que possa beneficiar a humanidade ou que simplesmente o enriqueça e o torne famoso. Como transformar essa ideia em uma aplicação real da Internet? Como as aplicações são executadas em sistemas finais, você precisará criar componentes de software que sejam executados em sistemas finais. Você pode, por exemplo, criar seus componentes em Java, C, ou Python. Agora, já que você está desenvolvendo uma aplicação distribuída para a Internet, os componentes do software executados em diferentes sistemas finais precisarão enviar dados uns aos outros. E, aqui, chegamos ao assunto principal — o que leva ao modo alternativo de descrever a Internet como uma plataforma para aplicações. De que modo um componente da aplicação, executado em um sistema final, orienta a Internet a enviar dados a outro componente de software executado em outro sistema final?
Os sistemas finais ligados à Internet proveem uma Interface de Programação de Aplicação (API) que especifica como o componente do software que é executado no sistema final solicita à infraestrutura da Internet que envie dados a um componente de software de destino específico, executado em outro sistema final. A API da Internet é um conjunto de regras que o software emissor deve cumprir para que a Internet seja capaz de enviar os dados ao componente de destino. Discutiremos a API da Internet mais detalhadamente no Capítulo 2. Agora, vamos traçar uma simples comparação, que será utilizada com frequência neste livro. Suponha que Alice queria enviar uma carta para Bob utilizando o serviço postal. Alice, é claro, não pode simplesmente escrever a carta (os dados) e atirá-la pela janela. Em vez disso, o serviço postal necessita que Alice coloque a carta em um envelope; escreva o nome completo de Bob, endereço e CEP no centro do envelope; feche; coloque um selo no canto superior direito do envelope; e, finalmente, coloque o envelope em uma caixa de correio oficial. Dessa maneira, o serviço postal possui sua própria “API de serviço postal”, ou conjunto de regras, que Alice deve cumprir para que sua carta seja entregue a Bob. De um modo semelhante, a Internet possui uma API que o software emissor de dados deve seguir para que a Internet envie os dados para o software receptor.
O serviço postal, naturalmente, fornece mais de um serviço a seus clientes: entrega expressa, confirmação de envio, carta simples e muito mais. Igualmente, a Internet provê diversos serviços a suas aplicações. Ao desenvolver uma aplicação para a Internet, você também deve escolher um dos serviços que a rede oferece.
Esta segunda descrição da Internet — uma infraestrutura de fornecimento de serviços a aplicações distribuídas — é muito importante. Cada vez mais, os avanços na tecnologia dos componentes da Internet estão sendo guiados pelas necessidades de novas aplicações. Portanto, é importante ter sempre em mente que a Internet é uma infraestrutura na qual novas aplicações estão constantemente sendo inventadas e disponibilizadas.
Acabamos de apresentar duas descrições da Internet: uma delas diz respeito a seus componentes de hardware e software, e a outra, aos serviços que ela oferece a aplicações distribuídas. Mas talvez você ainda esteja confuso sobre o que é a Internet. O que é comutação de pacotes, TCP/IP e API? O que são roteadores? Que tipos de enlaces de comunicação estão presentes na Internet? O que é uma aplicação distribuída? Como uma torradeira ou um sensor de variações meteorológicas pode ser ligado à Internet? Se você está um pouco assustado com tudo isso agora, não se preocupe — a finalidade deste livro é lhe apresentar os mecanismos da Internet e também os princípios que determinam como e por que ela funciona. Explicaremos esses termos e questões importantes nas seções e nos capítulos subsequentes.

Comentários
Postar um comentário