DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!

Desmistificando o AJAX – Parte II

Enquanto as aplicações clássicas tinham seqüência de troca de informações totalmente síncrona, AJAX, por default tem uma seqüência assíncrona

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Raphael Paiva

raphael@sena.com.br

 

A arquitetura do AJAX

AJAX(Asynchronous Javascript And XML) modifica um pouco a arquitetura das aplicações atuais.

 

Enquanto as aplicações clássicas tinham seqüência de troca de informações totalmente síncrona, AJAX, por default tem uma seqüência assíncrona, porém esta pode ser configurada para ser síncrona como será explicado depois.

 

desmajaxrpfig01.jpg

Figura 1. Comparativo entre a arquitetura clássica e a AJAX

 

Agora com o AJAX é possível termos um centralizador/controlador de requisições e respostas, implementando assim o padrão MVC-2 e possibilitando uma melhor manutenibilidade do sistema. Mas a frente estaremos exemplificando.

 

Sincronismo X Assincronismo

A diferença entre requisições síncronas e assíncronas é quando se espera receber a resposta.

 

Num modelo síncrono das aplicações clássicas, temos chamadas e respostas seqüenciais, ou seja, é necessário recebermos a resposta da requisição anterior antes que passemos para a próxima requisição. Este tipo de modelo é o usado na arquitetura clássica, onde, caso precise chamar o servidor, é preciso realizar um refresh da página, e na página atualizada (ou na próxima página) receber a resposta.

 

A ilustração a seguir descreve a diferença dos modelos:


desmajaxrpfig02.jpg

Figura 2. Demonstração de modelo síncrono e assíncrono

 

No AJAX podemos utilizar ambos os modelos dependendo da necessidade, e em ambos os casos, não precisamos nem sequer realizar refresh da página.

 

Por exemplo, imagine que estamos num cadastro de usuário e, desejamos procurar pela cidade de acordo com o CEP informado; para este caso podemos utilizar o modelo assíncrono, pois não é de grande importância que essa informação chegue para que outras sejam executadas, assim, outras lógicas e métodos podem estar rodando em paralelo. Com o modelo assíncrono, no momento em que a resposta chegar ao cliente, será disparado um método que irá tratar e utilizar as informações retornadas do servidor.

 

Imagine agora, que na mesma tela de cadastro de usuário queremos verificar a idade deste usuário que apenas informou a data de nascimento; caso o usuário for maior de 18 anos, podemos habilitar algumas informações e campos na tela, caso menor, não deve mostrar; para este caso podemos utilizar o modelo síncrono; pois é crucial que o usuário de 18 anos preencha ou verifique tais dados antes de clicar em ‘salvar’. Com o modelo síncrono, ao chamar o método que se deseja, a aplicação cliente fica aguardando receber a resposta do servidor, e só executa os demais métodos depois deste ter retornado.

 

Atenção: Deve-se utilizar o modelo síncrono apenas em um caso de real necessidade, pois caso o servidor nunca responda, a aplicação cliente ficará “travada” até que se dê um time-out.

 


Eduardo Oliveira Spinola
Eduardo Oliveira Spínola (eduspinola@gmail.com - http://eduspinola.googlepages.com/home) é Bacharel em Ciência da Computação pela Universidade Salvador - UNIFACS, em 2005. Atualmente fazendo o Mestrado em Engenharia de Software pela Universidade Salvador - Unifacs. Tendo como experiência: desenvolvi...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03