Via de mão dupla com WebSockets
Este artigo explica o que é o protocolo WebSocket, qual foi a motivação de sua concepção, qual a relação do protocolo com a API WebSocket, quais são suas vantagens e o que ele oferece de novidade em relação às soluções atuais.
Recursos especiais neste artigo:
Artigo no estilo Solução Completa
Este artigo explica o que é o protocolo WebSocket, qual foi a motivação de sua concepção, qual a relação do protocolo com a API WebSocket, quais são suas vantagens e o que ele oferece de novidade em relação às soluções atuais. Também demonstramos uma implementação de um exemplo prático utilizando o protocolo WebSocket em Java e HTML5.
Em que situação o tema é
útil
Este tema é importante
para os desenvolvedores e arquitetos que implementam e desenham soluções para a
Web. Principalmente para aqueles que precisam oferecer mais dinamismo e
interatividade com baixa latência em soluções de Internet.
Possui relação também com o contexto de integração entre sistemas. Conhecer este novo protocolo e quais são os recursos e vantagens fornecidos por ele são relevantes para todos os profissionais envolvidos com arquitetura de integração.
Estabelecer a comunicação entre duas partes envolve a definição de regras de sintaxe, sincronização e semântica na busca de um padrão o qual os participantes devem obedecer para compreender e ser compreendido em uma comunicação. É desta maneira que se estabelece um protocolo.
Na história da comunicação entre computadores, muitos protocolos foram criados, porém um deles se destacou por ser utilizado na construção da rede de computadores denominada ARPANET, que pertencia ao Departamento de Defesa Americano, e que a utilizava apenas em seus projetos. Esta rede incentivou o avanço de protocolos para a comunicação entre redes, possibilitando que múltiplas redes separadas pudessem se juntar em uma rede de redes. A ARPANET foi a primeira rede de computadores operacional e progenitora da rede global, conhecida hoje como Internet, a utilizar o conjunto de protocolos referenciado como TCP/IP.
Para que computadores pudessem trocar informações em um âmbito global, além de toda a necessidade física de infraestrutura, foi necessário escolher um protocolo que fundasse um padrão de comunicação entre os elementos. O protocolo TCP/IP foi concebido durante o projeto da ARPANET, estabelecido como padrão de comunicação entre todos os computadores militares do Departamento de Defesa Americano em 1982. Logo, na mesma década, este protocolo se consolidou como o padrão da Internet (a grande rede de redes mundial). Dessa forma, qualquer rede ou computador que desejasse participar da rede mundial deveria conhecer e saber “conversar” em TCP/IP.
Apesar de ser comumente chamado de protocolo, o TCP/IP é na verdade um conjunto de protocolos, cada qual com sua responsabilidade e papel para estabelecer uma comunicação. É formado basicamente por quatro camadas, que da inferior para a superior são: rede, internet, transporte e aplicação. Iremos nos referenciar ao conjunto de protocolos TCP/IP apenas como protocolo TCP/IP na continuidade deste artigo, para assim se adequar a sua forma popularmente conhecida e facilitar a leitura.
Utilizando a técnica de camada sobre camada, os protocolos são sobrepostos para estabelecer o canal de comunicação. Cada uma destas camadas fornece uma abstração responsável por resolver aspectos técnicos (roteamento, transporte, semântica) que isola os programas destas funções para se concentrarem apenas no tráfego do conteúdo intercambiado. Podemos observar esta sobreposição de camadas na Figura 1.
Figura 1. Composição das camadas que formam o conjunto de protocolos TCP/IP.
Na camada de transporte há duas opções de protocolo que se destacam: o Transmission Control Protocol (TCP) e o User Datagram Protocol (UDP). O protocolo TCP é mais utilizado por oferecer maior confiabilidade durante a comunicação do que o protocolo UDP. O TCP garante que os pacotes de dados trafegados permaneçam inalterados e que cheguem na mesma ordem com que foram enviados, enquanto o protocolo UDP nem mesmo garante a chegada dos dados. Por outro lado o UDP é mais rápido que o TCP, pois não realiza a verificação de erros nos pacotes de dados. Por este motivo o UDP é mais utilizado em aplicações de jogos e outras mais que necessitam de uma conexão mais veloz, porém não tão confiável. Como sempre, cada escolha uma renúncia.
Em uma das camadas, a quarta (de baixo para cima), está a de aplicação, onde podemos citar como exemplo de protocolo um dos mais conhecidos, o Hypertext Transfer Protocol (HTTP), que teve o seu desenvolvimento gerenciado pelo consórcio W3C e pela Internet Engineering Task Force (IETF), uma comunidade internacional aberta sem fins lucrativos, cujo objetivo é auxiliar a evolução e funcionamento da Arquitetura da Internet. O HTTP é um dos protocolos de aplicação mais difundidos, adotado pelos Navegadores Web como base para a linguagem HTML.
Seguindo esta técnica de sobreposição de camadas, temos outras abstrações adicionadas conforme o objetivo desejado, por exemplo: para se criar um padrão de comunicação heterogêneo entre aplicações de software, outro protocolo foi adicionado sobre o HTTP, o protocolo denominado SOAP, formando o atualmente conhecido Web Services. Estas sobreposições, definitivamente, criam mais onerações na comunicação, pois existe o dispêndio das partes em converter informações de e para a linguagem XML antes de enviar e receber os dados. Vale ressaltar que o SOAP pode ser também utilizado sobre outros protocolos de aplicação, porém é mais comumente utilizado sobre o HTTP.
Na Figura 2 ilustramos quais são os protocolos utilizados na comunicação dos Navegadores de Internet e aplicações de e-mails, enquanto na Figura 3 podemos observar a sobreposição de protocolos para estabelecer uma comunicação entre aplicações de software que precisam utilizar Web Services.
Figura 2. Camadas dos protocolos sobrepostos utilizados na comunicação de Páginas Webs e E-mails.
"
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo