AJAX, Reverse AJAX e os Protocolos Bayeux e SPDY

Page 1

AJAX, Reverse AJAX e os Protocolos Bayeux e SPDY Jose Alex de Souza Universidade Federal do ABC - UFABC zoinvoo@yahoo.com.br Resumo

2. AJAX Ajax é um método de criação de páginas da web de forma dinâmica, que apareceu por causa do aumento no uso da web para realizações de negócios e de outras aplicações, por causa desse aumento é necessário que as transações sejam feitas de forma mais rápidas e dinâmicas, para que os clientes ou usuários tenham uma experiência positiva no seu relacionamento com as aplicações web, que ficam cada vez mais parecidas com as aplicações desktop. Com a evolução da web surgiu várias tecnologias diferentes que criam as páginas web. Segundo Reis (2005) [2], o primeiro a fala no termo AJAX, foi Jesse Garrett, que é o criador do Ajax no ano 2005, onde essa expressão AJAX significa “Asynchronous JavaScript And XML”, que consiste em utilizar JavaScript, XML e XMLHTTPREQUEST, para criação de páginas para web, e tornar as páginas mais interativas para com o usuário. Garrett (2005) [1], fala que “ajax não é uma tecnologia e sim várias, cada uma progredindo de forma independente, e que se juntaram de forma a poder explorar métodos de melhorar a interação com os utilizadores em aplicações Web”. Outra definição do AJAX é que ele seja uma técnica adequada de utilização de DHTML com substituição no modelo requisição/resposta de comunicação sincronizada pela comunicação assíncrona com a separação da visualização e da busca dos dados. Para Asleson (2006, p. 13) [3], “o Ajax funciona na maioria dos navegadores modernos e não requer nenhum software ou hardware patenteado. Na verdade, uma das vantagens dessa abordagem é que os desenvolvedores não precisam aprender alguma linguagem nova ou descartar o investimento que fizeram em tecnologia no lado do servidor”. A figura 1 abaixo mostra as tecnologias que envolvem a técnica do Ajax e que são: - HTML (HyperText Markup Language), Linguagem de Marcação de Hipertexto) ou XHTML (eXtensible Hypertext Markup Language); - CSS (Cascading Style Sheets) que em português ficou como folha de estilo em cascata;

Este artigo apresenta a tecnologia AJAX e a Reverse AJAX e os padrões Bayeux e o SPDY, que são usados para que o usuário de internet tenha uma experiência agradável no seu uso, esses conjuntos de tecnologias juntas proporcionam aos desenvolvedores de aplicativos web uma elaboração mais dinâmica das páginas web. As tecnologias citadas acima podem promover aplicações web parecidas com aplicações desktop, sendo que seus clientes ou usuários não notam o processamento no carregamento das aplicações. Com a evolução da Web surgiu a necessidade de uma nova técnica de desenvolvimento para atender as necessidades de seus usuários, como carregar páginas mais rapidamente, ter uma interface mais elegante e agradáveis, dinâmicas, e confiáveis. Palavras Chaves: AJAX, Reverse AJAX, Bayeux, SPDY.

1. Introdução Segundo Garrett (2005) [1], com o avanço da tecnologia os usuários da Internet tornaram-se mais exigentes, preferindo páginas com maior nível de interatividade. Com isso os desenvolvedores necessitam criar aplicativos, páginas ou sites mais eficientes para atender as necessidades destes usuários. Neste contexto surgiu uma nova técnica de aplicação WEB, chamado AJAX, essa técnica utiliza várias tecnologias como: JavaScript, XML, XMLHttpRequest, DOM e HTML. O artigo mostra os conceitos das tecnologias e do seu uso no dia-a-dia pelos usuários que interagem com varias aplicações que estão espalhadas pela internet, como por exemplo: no Gmail, no mapa do Google, Yahoo, etc. Serão demonstradas também suas principais vantagens e desvantagens, como também o funcionamento dos dois principais modelos de aplicação Web. Também será abordado um pouco dos protocolos Bayeux da fundação DOJO e o SDPY que tem como criador o Google que faz seu uso em suas aplicações.

1


- XMLHttpRequest; - JavaScript e DOM (Document Object Model) Modelo de Objeto de Documentos.

interface dos usuários interativamente usando o CSS (Crane; Pascarello, 2006) [4].

2.3 XMLHttpRequest O XmlhttpRequest Object, permite aos programadores web recuperarem dados do web server como uma atividade background, tendo como formato de dados padrão o Xml, mas esse objeto trabalha bem com todos os dados baseados em texto. Segundo Asleson (2006) [3], o XMLHttpRequest, foi implementado originalmente no internet Explorer 5, onde o DOM é um componente ActiveX. Sendo importante ressaltar que esse objetivo, não é um padrão do W3C, mas que grande parte da funcionalidade é abordada em uma nova proposta DOM. O Objetivo do XMLHttpRequest, é permitir que um código JavaScript faça o envio de dados e posa receber a resposta de um servidor, sem haver necessidade de carregar todo o código da página web.

Figura 1 – Tecnologias do AJAX

2.1 HTML Segundo Asleson (2006, p. 130) [3] “ao mesmo tempo que os navegadores modernos dão suporte às últimas novidades em padrões W3C, eles também tentam ser tão condescendentes quanto possível com a página HTML criada precariamente.” De acordo com Asleson (2006), o HTML não tem seu próprio compilador, diferente das linguagens de programação como C++ ou Java que possuem compilador próprio. O HTML converte seu código legível para humanos em códigos binários usando um navegador Web que converte códigos HTML para o formato DOM legível para a máquina e assim gera o conteúdo na tela [3]. Documentos HTML são arquivos de texto simples e podem ser criados e editados em qualquer editor de textos, como o Bloco de Notas do Windows, ou o TextEdit, do Macintosh. Para facilitar a produção de documentos, apareceu no mercado editores HTML específicos, com recursos sofisticados, que facilitam a realização de tarefas repetitivas, inserção de objetos, elaboração de tabelas e outros recursos. Esses editores dividem-se em dois tipos: - Editores de texto fonte que inserem automaticamente as etiquetas, orientando a inserção de atributos e marcações. - Editores WYSIWYG que oferecem ambiente de edição com um "esboço" resultado final das marcações.

Figura 2 – Funcionamento

do

XMLHttpRequest [3] A figura 2 mostra como o XMLHttpRequest atualiza um JavaScript sem a necessidade que todo o código da página web seja atualizados juntos, atualizando só o necessário para o bom funcionamento da aplicação.

2.4 JavaScript e DOM Asleson, (2006) [3], fala que a Netscape criou a linguagem de scripts que acabou sendo batizada de JavaScript, ela foi criada de forma a deixar os applets mais fáceis de serem desenvolvidos por programadores e projetistas da Web, que não estavam adaptados com o Java. A Microsoft também criou sua linguagem de scripts que se chamava VBScrip, ela foi desenvolvida em resposta ao JavaScrip da Netscape. Originalmente o JavaScript foi criada para ajudar os desenvolvedores a modificar dinamicamente as tags das páginas Web de modo a apresentar uma experiência mais

2.2 CSS A tecnologia que compõe o Ajax de nome CSS (Cascading Style Sheets), oferece uma maneira de definir estilos visuais reusáveis para elementos da página web, sendo possível nas aplicações Ajax modificar os estilos de

2


moderna ao seu cliente. Assim as páginas começam a serem tratadas como um objeto nascendo então o Documento Object Model (DOM). No começo JavaScript e DOM eram encontrados e adaptados um ao outro mas evoluíram em estruturas diferentes. O DOM é uma página realmente orientada a objetos, mas pode ser modificada através de scripts como o JavaScript ou o VBScript. O JavaScript, linguagem de programação baseada em scripts, é projetada para ser usada dentro das aplicações. Os web browsers possuem um intérprete do JavaScript que permite a interação programática com muitas potencialidades embutidas nos browsers dos clientes, com as aplicações Ajax sendo escritas em JavaScript (Gehtland, 2005) [5]. A tecnologia DOM (Document Object Model) Modelo de Documentos Baseados em Objetos, apresenta a estrutura das páginas web como um jogo de objetos programáveis, que podem ser manipulados com JavaScript, o script do Dom permite que uma aplicação Ajax modifique eficazmente interfaces de usuários separadas, redesenhando suas páginas (Crane, 2006) [6]. De acordo com Asleson (2006) [3], o DOM refere-se a uma especificação do órgão W3C, criada de uma maneira independente da linguagem e plataforma de forma a alterar a estrutura e conteúdo do documento, essa é uma melhor maneira de exibir e preparar os documentos HTML ou XML. O DOM foi fundamentado usando as especificações do Object Management Group, isso permite que seja utilizado em todas as linguagens de programação, ele é um modelo de objetos, determinando quais objetos são necessários para a representação e alteração de documentos, definindo seu comportamento e atributos dos objetos que será utilizado entre eles [3]. A conclusão desses quatros tópicos anteriores é de que o HTML ou XHTML junto com o CSS faz a apresentação das informações, a tecnologia DOM por meio de scripts do JavaScript interage dinamicamente com as informações apresentadas, e o XMLHttpRequest é o responsável pela troca de dados com o servidor web de forma assíncrona, utilizando como padrão o XML, mas que funciona com qualquer formato de texto ou mesmo HTML.

Web, após o modelo aguardar a resposta do pedido, a página é modificada para o usuário em HTML.

Figura 3 – Modelo tradicional para aplicações web (esquerda) comparado ao modelo Ajax (direita) [1] A figura 3 mostra a comparação dos dois modelo o clássico e o AJAX, à esquerda o modelo é baseado no modelo original da Web, e está adaptada para hypertexto, onde as páginas fazem ligações com outras, porém esse modelo foi desenvolvido originalmente para o desenvolvimento de aplicações. Para Garrett (2005) [1], no modelo AJAX, a direita da figura 3, é adicionado uma camada intermediaria entre o cliente e o servidor, essa camada é considerada como um Motor AJAX, ela elimina a demora entre o pedido e o retorno do servidor, otimizando e fazendo que o cliente retorne a interação com as aplicações web. O Motor AJAX fica responsável pela realização das comunicações com o servidor e atualizar as respectivas áreas necessárias da página, com isso as aplicações começam a se tornar assíncronas, possibilitando que o usuário não obrigatoriamente espere uma resposta do servidor para continuar sua interação com a aplicação. Para Garrett (2005) [1], os pedidos assíncronos feitos no passado nas aplicações web utilizavam um “truque” que envolvia a utilização de Frame ou IFrame (efetuando os pedidos para essas frame escondidas, e que seriam elas

2.5 Modelo clássico web versus modelo AJAX As páginas de internet e suas aplicações podem ser feitas no Modelo Clássico Web que não são dinâmicos e usam muita banda da rede e também no modelo AJAX que faz uso de várias tecnologias para torna as páginas web dinâmicas consumindo menos banda da rede. Garrett (2005) [1], diz que no modelo clássico as aplicações Web, em sua maior parte, tem suas interações de interface com o usuário sendo realizado através de um ciclo na qual são efetuados pedidos HTTP a um servidor

3


as responsáveis por ficar á espera da resposta), na atualidade as aplicações AJAX utilizam o objeto XMLHttpRequest, que foi desenhado especificamente com este propósito.

agradável é que o cliente continua a interagir com a aplicação, tornando a requisição feita anterior ao servidor quase imperceptível para ele.

2.6 Dados versus conteúdos As aplicações Web tradicionais o conteúdo e o dado são misturados em cada passo, um exemplo: é quando um cliente adiciona um item a uma compra, é necessário responder o preço atualizado do carrinho de compras e se aconteceu algum problema, essa resposta é enviada pelo servidor para o cliente, mais com ela é feita a atualização da página web por completo. Segundo Reis (2005) [2], nas aplicações com AJAX o carrinho de compras trabalha de forma inteligente, enviando o pedido de forma assíncrona ao servidor, atualizando apenas os locais necessários evitando um refresh, ou seja, não tem que atualizar toda a página web, isso pode ser feito de várias formas, dependendo da tecnologia usada na aplicação, e mesmo que o cliente ou usuário fique esperando a página ser montada em seu Web Browser, o servidor enviará respostas em formatos JavaScript, um simples texto, ou documento XML que será processado pelo motor AJAX.

2.7 Características e vantagens do AJAX Conforme Reis (2005) [2], as aplicações que seguem o modelo AJAX dão um grande passo quando se tenta comparar com a complexidade e riqueza das aplicações Desktop tradicionais. Um dos motivos para a utilização do AJAX em aplicações Web, é que a aplicação é executada ao lado do cliente, possibilitando assim que a aplicação se comporte igual a uma aplicação Desktop, e que a comunicação com o servidor não fique limitada pela rede. O AJAX possibilita uma maior interatividade em termos gráficos, podendo enviar dados, ou mesmo arrastar e colar elementos como é feito nas aplicações Desktop.

Figura 4 – Padrão de interação síncrono de uma aplicação web tradicional (em cima), em comparação com o padrão assíncrono de uma aplicação AJAX (parte inferior) [1] A figura 4 mostra a interação do cliente com aplicações web nos dois modelos, em cima o tradicional e em baixo o modelo AJAX, analisando a parte superior nota-se que o cliente faz sua requisição ao servidor e espera sua resposta, no modelo abaixo com o AJAX o tempo de espera da resposta é reduzido e outro fator importante e

Figura 5 – Comparação de desempenho do AJAX e web clássica. Fonte: Crane, 2006, p.51 [4].

4


A figura 5 mostra a relação da diferença no uso da banda de rede com aplicações web clássica e com a técnica AJAX, e uma relação entre tempo de resposta e o acumulativo de dados, isso se deve porque a comunicação entre servidor e usuário torna-se mais eficiente e estável no AJAX, pois não há mais acúmulo de dados, enquanto que, em uma aplicação web clássica, pode haver picos de dados de acordo com a solicitação feita por parte do cliente (Crane, 2006) [4]. A redução do consumo de banda na maioria das vezes no modelo AJAX é devido à redução da quantidade de dados a serem trocadas com o servidor, isso acontece porque não é necessário reenviar a página inteira, somente os dados de atualização, que são enviados para o Browser do cliente. Uma aplicação AJAX não é proprietária, pois seu nome não é uma marca ou produto, seu nome é apenas uma denominação ou técnica de como projetar aplicações Web, usando tecnologias padrões já existentes no mercado. Conforme Reis (2005) [2], outra vantagem do AJAX é sua portabilidade, pois ele é constituído de várias tecnologias que são usadas na maioria dos Browsers do mercado. É uma técnica que não se limita apenas a um Browser, e sim a mais de uma plataforma, além destas vantagens também não há a necessidade da instalação de software ou plugin no Browser no cliente.

solucionadas, devido às características não operacionais da Web (Reis, 2005) [2]. Outra desvantagem do AJAX é a latência de rede, ou seja, quando o usuário fazer um pedido ao servidor deverá ser feito um feedback para que o usuário não ache que ocorreu algumas falhas, ou travamento com a aplicação durante o envio e resposta. Esse problema diminuirá com o aumento da banda larga, mas nunca ira acabar devido ao gênero da internet. Também o AJAX requer que a aplicação tenha uma conectividade permanente, pois operam baseadas na Web, porque parte do processamento da aplicação fica em um servidor, isso faz com que seja obrigatória esta sempre conectada (Reis, 2005) [2]. Concluindo o assunto AJAX e de acordo com Soares (2006) [7], para se ter um entendimento das técnicas AJAX será necessário considerar três princípios básicos, o primeiro é deixar o processamento da aplicação no browser e os de dados no servidor, e isso só é possível fazendo uso da técnica AJAX, pois com ela é possível fazer várias chamadas ao servidor e fazer as atualizações das páginas necessárias, com um mecanismo de controle para se saber onde esta, como foi feito e quais dados sejam carregados, para assim saber o que será feito em cada atualização. Também é necessários carregar os dados de uma página para outra e assim controlar os dados da sessão. O segundo princípio serve para fazer a transformação de uma aplicação Web em um processo contínuo e coerente, esse princípio esta ligado ao primeiro no sentido de dar separação entre a camada de aplicação que seria nesse caso o cliente e o servidor. O terceiro princípio é a utilização de padrões de desenvolvimento, isso mostra como o desenvolvimento das soluções Web, diz respeito aos padrões, práticas e metodologias que já foram consagradas em outros ambientes de desenvolvimento, pois para o desenvolvimento de aplicações Web deve ser seguido um padrão, uma disciplina de como é feito em outras aplicações como, por exemplo: a clássica ERPs (Soares, 2006) [7].

2.8 Desvantagens do AJAX Alguns pontos devem ser analisados, principalmente devido ao comportamento do AJAX em Web Browsers (REIS, 2005) [2]. O desempenho do cliente em uma aplicação AJAX é contestado porque se transfere muito do processamento do servidor ao cliente, essa mudança terá custo por que o cliente é quem terá a responsabilidade de realizar algumas operações, para quais ainda não foi desenvolvida no início. Esse problema pode sobrecarregar o cliente, caso não seja tomada algumas precauções na fase de desenvolvimento. De acordo com Reis (2005) [2] algumas capacidades são limitadas nas aplicações AJAX, essas aplicações podem fazer coisas que em algum tempo atrás não se imaginava ser feito na Web, são muitas as restrições nessa plataforma, por causa do AJAX ser uma técnica que faz uso de tecnologias já existentes, assim carrega as limitações das tecnologias. Essas limitações são o armazenamento local no cliente; capacidade multimídia (streaming de vídeo); gráficos em tempo real; interação com hardware (impressoras, webcams). Elas estão sendo solucionadas usando Browsers mais novos ou utilizando plugins específicos, mas muitas limitações serão complicadas para ser

3. Reverse AJAX Como o AJAX o Reverse AJAX também não é uma tecnologia em si, mas uma técnica que faz uso de um grupo de tecnologias existente no mercado. O Reverse AJAX vai permiti que as páginas web possua conteúdos em tempo real, atraindo mais usuários mantendo a sua atenção na aplicação. Essa nova técnica de atualização de aplicações web possivelmente irá abrir áreas de desenvolvimento web que até agora não era possível. O Reverse AJAX é composto de tecnologias existentes para enviar dados, que tem sido usado antes em outras áreas no desenvolvimento de aplicativos, para que

5


o cliente tenha cada vez mais uma agradável experiência no uso desses aplicativos [8]. Com o uso das tecnologias em AJAX foi criado o termo que já foi definido acima como Reverse AJAX, que vai permite que o servidor possa fazer atualizações dos conteúdos das aplicações web, sem a necessidade de um pedido de requisição do cliente ou usuários. Basicamente, é uma forma de enviar os dados do cliente para o servidor e um mecanismo para empurrar os dados do servidor de volta para o cliente. Temos três tecnologias para aplicação do Reverse AJAX, e será feito uma pequena introdução para cada uma.

envia os dados para o navegador, ele são manipulados pelo JavaScripts e a página é carregada normalmente.

3.1 Polling ou votação Figura 7 – Diagrama do comet [8]

Esse tipo de tecnologia pode ser facilmente implementado por ter uma função JavaScripts que realiza as atualizações por um tempo a cada poucos segundos, quando é chamada ela consulta o servidor e devolve a resposta ao cliente.

A figura 7 mostra o diagrama comet com a ligação permanentemente aberta, e com todos os eventos de atualização contínua do lado do servidor que pode ser transmitido para o cliente.

3.3 Piggyback ou sobre os ombros Como o nome já sugere as três tecnologias por trás do Reverse AJAX é sobreposto, e quando uma nova informação chega ao servidor é armazenado até o próximo cliente fazer uma solicitação para o servidor, atualizando todos os dados novos.

Figura 6 – Aplicação continua no servidor [8] A figura 6 representa um evento modelo cliente/servidor, que tem como principal objetivo representar o processo contínuo em tempo real a atividade do servidor que é útil, por exemplo, quando o cliente tem a necessidade de receber atualizações em tempo real como o valor das cotações das ações que movimentam o índice Bovespa (IBOV) etc. seu ponto fraco é que mesmo sem dados novos o servidor envia uma resposta vazia para o cliente, mantendo a conexão ativa, isso se torna um problema se um número muito grande de usuários (milhões) usarem o aplicativo ao mesmo tempo, podendo gerar uma sobrecarga no servidor e largura de banda.

Figura 8 – Diagrama do piggyback [8] A figura 8 acima demonstra a verticalização no contexto de uma aplicação web do modelo clássico, mas que para AJAX Reverse deve ter outra camada do lado do cliente JavaScript, essa técnica não é tão popular quanto a do Polling (voto) ou Comet, por exigir que o usuário faça alguma atividade para a atualização. Juntando as duas técnicas AJAX e Reverse AJAX, como o AJAX permitindo a criação de interfaces web mais eficientes e agradáveis, melhorando a usabilidade e a interatividade e o Reverse AJAX permitindo que os usuários tenham conteúdos em tempo real.

3.2 Comet Comet é uma velha tecnologia usada para atualizar páginas web, ela exige que a conexão do cliente com o servidor nunca feche. É por esta conexão que o servidor

6


Os desenvolvedores podem criar aplicações web cada vez mais interativas e com uma aceitação satisfatória dos clientes ou usuários.

O bayeux é um padrão emergente para a prática do comet, e já existe implementação de referência que é o cometd projeto da Fundação Dojo para implementar a especificação bayeux, ele permite múltiplas conversações dissociado em cima de uma única conexão HTTP, a execução bayeux comunica-se através de vários canais fictício, todos agrupados em uma única solicitação HTTP resposta. O evento bayeux é enviado do servidor para o cliente via HTTP, dando uma resposta a uma solicitação HTTP enviada, que podem ser a votação dos transportes que após a recepção da resposta HTTP, o cliente emite uma nova mensagem de bayeux e o Streaming de transporte usa a técnica de streaming (sempre resposta), permitindo múltiplas mensagens sendo enviadas pela mesma resposta [10].

Figura 9 – Diagrama do AJAX e reverse AJAX Juntos [8]

5. Protocolo SPDY A figura acima é um diagrama final mostrando o trabalho junto das tecnologias, usado para fornecer Comet Reverse AJAX. Com essas técnicas a menos tráfego na rede, e o Reverse Ajax fazem com que as mensagens sejam transferidas com menos delay (baixa latência) para os clientes das aplicações web [8].

O SPDY é um protocolo para tornar a web mais rápida, diminuindo a latência das páginas web, e tem em sua retaguarda simplesmente o Google, que aplica esse protocolo no projeto chromium. O protocolo SPDY tem camada de aplicação para transporte de conteúdo na web, e foi desenvolvido especificamente para ter uma latência mínima, esse protocolo esta habilitado no navegador Google Chrome e é open-source web Server. Em testes laboratoriais o desempenho das aplicações através de HTTP e SPDY tiveram uma redução de até 64% no carregamento das páginas web [11]. O protocolo SPDY tem algumas netas: - atingir uma redução de 50% no tempo de carregamento das páginas web. - minimizar a complexidade de implementação, por isso o SPDY utiliza o TCP como camada de transporte subjacente, não exigindo alterações na infra-estrutura. Sendo essa as netas mais importantes. E com alguns objetivos técnicos que são: - permitir que muitas solicitações simultâneas HTTP sejam executadas em uma única sessão TCP; - reduzir a largura de banda utilizada atualmente por HTTP através da compressão de cabeçalhos; - definir um protocolo que seja fácil de implementar, e torne o servidor mais eficiente; - fazer o protocolo SSL de transporte subjacente, melhorar a segurança e compatibilidade com a infraestrutura das redes já existentes; - habilitar o servidor para iniciar uma comunicação com o cliente e enviar dados ao cliente sempre que possível. Esses objetivos técnicos estão sendo a cada dia aperfeiçoados, para que no futuro a internet, ou seja, o carregamento das aplicações web sejam cada vez mais rápido, proporcionando aos usuários uma boa interação.

Figura 9 – Home broker da link trade [9] A figura acima é um Home Broker, destinado a operações no mercado de renda variável, ou seja, compra e venda de ações, opções, termo etc. na bolsa de valores de São Paulo a BOVESPA (IBOV), neste caso depois que é carregado pela primeira vez, as atualizações posteriores dos preços dos ativos são realizadas sem que o cliente faça alguma atividade no aplicativo, ou seja, o servidor quando recebe um novo valor do ativo, encaminha esse novo valor para os clientes conectados.

4. Protocolo bayeux Bayeux é um protocolo para o transporte de mensagens assíncronas, com baixa latência entre um servidor web e o cliente web.

7


nas transferências de dados e da abertura da página desejada é otimizada. O Google foi um dos primeiros a utilizar AJAX, alguns exemplos são o Google Maps, Google Suggest o Gmail, esses são só alguns aplicativos que utilizam essa tecnologia. O Yahoo está ainda no começo apenas introduzindo alguns controles AJAX. A empresa Netflix que aluga DVDs utiliza AJAX para fornecer informações para os usuários que navegam pelos filmes, após o cliente passar o cursor sobre a imagem de algum filme, esse filme é identificado e enviado essa identificação para o servidor central, fazendo aparecer um balão informando detalhes do filme para o cliente. Essa abordagem permite que a empresa mostre mais informações de seus filmes para os clientes sem desordenar a página. Esse método torna a navegação mais fácil para os clientes por que eles não precisam clicar no filme, para obter os detalhes do filme, conseguindo isso passando só o cursor sobre o filme. Essas tecnologias que foram abordados nesse artigo permitem e abrem várias áreas de pesquisa para que sejam melhorados, para o benefício da internet e da interatividade dos clientes com as aplicações web.

Figura 10 – Estrutura do SPDY [11] A figura 10 apresenta a estrutura do SPDY, ele adiciona uma camada em cima da sessão SSL que permite múltiplas mensagens em uma única conexão, pois o HTTP GET usual tem o formato de mensagem POST e permanecem os mesmos, no entanto o SPDY especifica um formato novo de enquadramento para codificação e transmissão dos dados ao longo da conexão. O SPDY tem como características básicas a multiplexação, a priorização de pedidos, e a compressão do cabeçalho HTTP, e em suas características avançadas o SPDY apresenta as opções do Push Server que informa ao cliente que o servidor está empurrando (transmitindo) um recurso para o cliente antes de o cliente efetuar o pedido, e a Dica Server que em vez de empurrar automaticamente os recursos para o cliente, ele sugere ao cliente que faça um pedido de recursos específicos que poderá ser usado na aplicação web [11]. Essas técnicas esta sendo usado no Chrome navegador web do Google e em outros produtos.

7. Referências [1] GARRETT, JESSE J. Ajax: Uma nova Abordagem para Aplicação Web, Adaptive Path Publications, 18/02/2005. Disponível em: <http://www.adaptivepath.com/publications/essays/archives/ 000385.php>; Acesso em: abril de 2010. [2] REIS, Ricardo. Et al. Artigo AJAX: Introdução. 13/12/2005. Disponível em: <http://pwp.net.ipl.pt/alunos.isel/24138/AJAX/IntroducaoAJ AX.pdf>; Acesso em: abril de 2010. [3] Asleson R.; Svhutta N. T. Fundamentos do Ajax, Rio de Janeiro, Alta Books, 2006. [4] Crane, David; Pascarello, Eric. Ajax in action, Greenwich, Manning, 2006. [5] Gehtland, Justin; Galbraith, Ben; Almaer, Dion. Pragmatic Ajax: a web 2.0 primer, Dallas, The Pragmatic Programmers Llc, 2005. [6] Crane, David; Pascarello, Eric. Ajax in action, Greenwich, Manning, 2006. [7] Soares, W. Ajax guia prático para Windows, São Paulo, Erica, 2006. [8] Reverse AJAX. Disponível em: <http://en.wikipedia.org/wiki/Reverse_Ajax>; Acesso em: Abril de 2010. [9] Aplicativo web, Home Broker da Corretora Link. Disponível em: <https://www.linktrade.com.br/Site/Public/Home.aspx>; Acesso em: Abril de 2010. [10] Protocolo Bayeux. Da Dojo Foundation. Disponível em: <http://cometdproject.dojotoolkit.org/documentation/bayeux >; Acesso em: Abril de 2010. [11] Protocolo SPDY. Projeto chromium do Google. Disponível em: <http://www.chromium.org/spdy/spdy-protocol>; Acesso em: Abril de 2010.

6. Conclusão Devido ao grande avanço no uso de aplicações web surgiu à necessidade de novas técnicas de desenvolvimento visando atender as necessidades do usuário. Assim surgiu a técnica AJAX que é uma aplicação utilizada na maioria dos navegadores atuais, por questões de compatibilidade e por não necessitar de nenhum software ou hardware patenteado, e tem a vantagens de que os desenvolvedores não precisam buscar conhecimento novo, pois ele é uma técnica baseado em várias tecnologias já existentes no mercado. O AJAX permite desenvolver aplicações com interfaces mais ricas e dinâmicas para que o usuário se sinta satisfeito com sua experiência na web. Seguindo a evolução, para resolver problemas de conexão e da banda de rede utilizadas nas aplicações web depois da técnica AJAX surgiu a técnica Reverse AJAX que atualiza as páginas web sem que o cliente ou usuário faça uma requisição ao servidor, diminuindo assim ainda mais o consumo de banda das redes, continuando a evolução surgem os protocolos Bayeux da Fundação Dojo e o SPDY do Google, com propostas para deixar a internet cada vez mais rápida. As aplicações práticas utilizando o AJAX estão cada vez mais comuns. Para quem faz uso desta tecnologia, tem uma grande vantagem, porque o aumento da velocidade

8


9


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.