As Aplicações WEB Tradicionais
Para entender corretamente o que é o AJAX é preciso ter a compreensão dos desafios que ele se propõe a resolver.
Para isso é fundamental ter uma visão das limitações impostas pelo ambiente WEB anteriormente ao AJAX.
Aplicações web tradicionais centralizavam todo seu código em torno de uma arquitetura de cliente-servidor e um cliente-magro. Todo o processamento é realizado no servidor, e o cliente apenas utiliza uma tela estática, neste caso em HTML (HiperText Markup Language) .
Os navegadores Web foram projetados para ser o lado cliente, que utilizam normalmente o protocolo HTTP (HiperText Transfer Protocol) para enviar uma requisição e recebem do servidor uma resposta. Não há possibilidade de o servidor tomar a iniciativa para se comunicar com o cliente.
A figura 1 demonstra o fluxo de comunicação entre o navegador e o servidor.
Figura 1
As principais características deste tipo de processamento são:
- o processamento ocorre integralmente no lado do servidor
- o modelo de dados do usuário precisa ser gravado no servidor, na sessão do usuário
- as páginas são reexibidas por inteiro, mesmo nos casos de pequenas alterações em seu conteúdo
- Em função do protocolo HTTP não é possível a comunicação partir do servidor
- a comunicação é síncrona, ou seja, uma requisição só pode ser iniciada quando a anterior tiver sido concluída
Estas características das aplicações Web tradicionais produzem desvantagens seja para o lado cliente (navegador), seja para o lado do servidor. O usuário fica impossibilitado de realizar qualquer ação até que a requisição seja integralmente processada. O servidor precisa processar toda a página a cada requisição. Finalmente o tráfego de rede é intensificado com grande volume de informações repetitivas.
Embora as aplicações Web tenham demonstrado vantagens, tais como acesso fácil, custos reduzidos, facilidade de atualização e menores requisitos de hardware e software, as aplicações desktop se destacavam pela grande capacidade de interação com os usuários.
O que é o AJAX
Durante muito tempo as GUIs – Interfaces Gráficas do Usuário – dominaram a informática. Os profissionais da Web estavam sempre tentando convencer o mundo de que, para a maioria dos programas, uma interface Web era o bastante. Mas os usuários estavam acostumados a certas características, como campos que são completados automaticamente, ou o arrastar e soltar, que eram impossíveis na Web.
O AJAX, na realidade, estava à disposição dos desenvolvedores desde 1998. Entretanto, fazia-se necessário um olhar mais atento para se descobrir suas funcionalidades. O termo “AJAX” consiste de um acrônimo de Asynchronous JavaScript And XML (JavaScript e XML assíncronos).
Curiosamente sua existência se deve a uma dessas famosas violações dos padrões que a Microsoft costuma realizar com seus produtos.
Foi a introdução de uma biblioteca que permitia fazer consultas usando protocolo HTTP de maneira autônoma e assíncrona, utilizando os recursos da linguagem JavaScript para trazer informações de diversas páginas, de maneira independente, além de fazer que um determinado código permanecesse em execução respondendo a eventos, que criou a possibilidade do navegador trazer informações que estavam no servidor, sem a necessidade recarregar toda a página.
O próximo passo para a montagem do “quebra-cabeça” seria a possibilidade de alterar o conteúdo de uma página em tempo real, de forma simples e estruturada. Neste contexto, o DOM (Document Object Model), permitia a consulta e edição ao conteúdo de uma página, através da visão hierárquica de seus componentes.
Para contribuir ainda mais com a construção de uma solução apropriada, os programadores começaram a utilizar o XML para promover a interoperabilidade entre servidores remotos que possuíam características tecnológicas distintas.
Basicamente, uma vez carregada a página Web, temos em mãos todas as possibilidades de programação de uma GUI tradicional. E tudo isso sem a necessidade de plugins nem instalações. Toda essa tecnologia estava em nossos computadores, esperando para ser usada.
Dessa forma, estava aberta a possibilidade de levar para o ambiente WEB as mesmas funcionalidades de já existiam nas aplicações desktop.
O AJAX, portanto, não é um framework, nem uma API, nem uma tecnologia isolada. Na verdade, o AJAX é um conjunto de quatro tecnologias que se complementam visando tornar os aplicativos Web mais responsivos, aproximando-os das características de um ambiente desktop.
As tecnologias utilizadas na construção de aplicativo AJAX são:
JavaScriptÉ uma linguagem de script, sendo considerada atualmente a principal linguagem de programação “client-side” em navegadores Web. Possui recursos de orientação a objetos, baseada em protótipos, com variáveis dinâmicas e fracamente tipadas.
Cascade Style Sheets (CSS)É uma linguagem de estilo utilizada para definir a apresentação de documentos escritos em formato de marcação de texto, como HTML ou XML. A CSS possibilita uma separação entre conteúdo e apresentação
Document Object Model (DOM)É uma especificação da W3C (World Wide Web Consortium) , independente e plataforma e linguagem, utilizada para organizar um documento de forma hierárquica, que permite consultar e alterar dinamicamente sua estrutura, conteúdo e estilo.
Objeto XMLHttpResponseÉ uma ferramenta de uso geral que permite ao navegador recuperar dados do servidor como uma atividade de segundo plano (background).
A integração dessas tecnologias ocorre na forma esquematizada na figura 2.
Figura 2
O JavaScript assume papel central, responsabilizando-se pela lógica e pela integração das tecnologias subjacentes.
Através do DOM é possível acessar e modificar qualquer componente da página em tempo real.
A CSS facilita a padronização e a modificação da aparência de um aplicativo Web.
Por fim, o objeto XMLHttpResponse fornece toda a estrutura para a implantação de programação assíncrona e orientada a eventos.
A utilização do AJAX altera o papel tradicional do navegador Web, projetado originalmente para ser um cliente “burro”, transformando-o em “aplicativo cliente” e delegando-lhe parte da lógica que estava integralmente confinada nos servidores.
A figura 3 demonstra o novo fluxo de comunicação entre o navegador e o servidor.
Dessa forma, o AJAX vem transformando pouco a pouco todas a páginas Web e a maioria dos currículos dos profissionais de desenvolvimento de softwares.


Nenhum comentário:
Postar um comentário