RemoteObject ou WebService????

17 visualizações
Pular para a primeira mensagem não lida

TITO

não lida,
20 de mai. de 2009, 18:14:1920/05/2009
para flexdev
Pessoal gostaria de saber qual o tipo de conexão com a linguagem de
back-end vocês estão trabalhando mais RemoteObject ou WebService????

Achei interessante a forma de trabalhar com WebService pois posso
fazer minha aplicação se comunicar com outras aplicações tambem
independente da linguagem.

EX: Um empresa onde possui varias filiais. Eu posso tá acessando o
estoque de produtos das outras filias utilizando WebService. Isso
realmente tem me ajudado bastante.

Quanto a performace da comunicação qual seria a melhor??? RemoteObject
ou WebService????

Posta a opinião de vocês ai.

Abraços

Romulo Gnomo

não lida,
20 de mai. de 2009, 19:22:3720/05/2009
para fle...@googlegroups.com
tbm sou curioso quanto a isso.

Stefan Horochovec

não lida,
20 de mai. de 2009, 19:25:1920/05/2009
para fle...@googlegroups.com
Ola
 
Utilizo RemoteObject por ser MUITO mais rápido que Webservice, porem, o projeto em qual trabalho permite que eu o utilize.
 
Cada projeto tem suas particularidades. Se eu puder optar, sempre irei trabalhar com RemoteObject, porem, se não tiver como o Webservice é uma boa saida tambem, e muito facil de implementar.
 
Abraço
Stefan Horochovec
Analista de Sistemas
Adobe User Group Manager - FlexDuck
Blog: http://www.horochovec.com.br/
Use Java, Flex e Linux
2009/5/20 Romulo Gnomo <romu...@gmail.com>
tbm sou curioso quanto a isso.



--


Pergentino Araújo

não lida,
20 de mai. de 2009, 20:07:4020/05/2009
para fle...@googlegroups.com
Cara, RemoteObject (em geral) é bem mais rápido do que WebServices, porém se sua aplicação tiver várias chamadas simultâneas, é aconselhavel utilizar WebServices.

Em um recente estudo que estou fazendo para minha dissertação de mestrado, fiz um teste sobre o tempo de resposta em 3 modos de comunicação (segue em anexo) e, como meu projeto trata de um sistema em larga escala, escolhi por WebServices.

Mas é como o Stefan falou, cada projeto tem suas particularidades, mas creio que uma regra geral para uma aplicação que não haverá uma sobrecarga de chamadas é o uso de RemoteObject, do contrário, WebServices.

Espero ter ajudado a esclarecer tua dúvida.

2009/5/20 Stefan Horochovec <stefan.h...@gmail.com>:

Pergentino Araújo

não lida,
20 de mai. de 2009, 20:51:1920/05/2009
para fle...@googlegroups.com
Esqueci o anexo.

Bruno, falei que sobrecargas de chamadas, usa-se WebServices.

O que chamei de sobrecarga de chamadas, seria uma aplicação que houvesse várias chamadas ao servidor (inclusive simultaneamentes).

2009/5/20 bruno bg <brun...@ig.com.br>
Não entendi sua colocação.

sobrecargas de chamadas => uso RemoteObject
ou
sobrecargas de chamadas => uso WebServices.

!!! fiquei na dúvida.

e o que seria sobrecargas de chamadas na íntegra.




2009/5/20 Pergentino Araújo <jperg...@gmail.com>





--
Atenciosamente, Pergentino.

Mário Júnior

não lida,
20 de mai. de 2009, 20:52:4220/05/2009
para fle...@googlegroups.com
@Pergentino,

Fiquei curioso sobre sua tese de não usar remoting para aplicações que tiverem várias chamadas/requisições.

Se puder dissertar algo sobre sua tese, e quais métodos de testes o levaram a essa conclusão, gostaria de debatê-la.
(na maior boa vontade, claro =D)


um abraço.



2009/5/20 Pergentino Araújo <jperg...@gmail.com>



--
Mário Júnior
Programador Java / Adobe Flex
http://blog.mariojunior.com

Julio Carneiro

não lida,
20 de mai. de 2009, 21:14:3320/05/2009
para flexdev
já deve ter rolado aqui no forum, mas é sempre bom lembrar deste site:
http://www.jamesward.com/census/

uma aplicação que compara várias tecnologias de transferencia de
dados, inclusive AJAX, usando REST, SOAP, Remoting, etc...

julio

On May 20, 9:52 pm, Mário Júnior <juninho...@gmail.com> wrote:
> @Pergentino,
>
> Fiquei curioso sobre sua tese de *não usar r*emoting para aplicações que
> tiverem várias chamadas/requisições.
>
> Se puder dissertar algo sobre sua tese, e quais métodos de testes o levaram
> a essa conclusão, gostaria de debatê-la.
> (na maior boa vontade, claro =D)
>
> um abraço.
>
> 2009/5/20 Pergentino Araújo <jpergent...@gmail.com>
>
>
>
> > Cara, RemoteObject (em geral) é bem mais rápido do que WebServices, porém
> > se sua aplicação tiver várias chamadas simultâneas, é aconselhavel utilizar
> > WebServices.
>
> > Em um recente estudo que estou fazendo para minha dissertação de mestrado,
> > fiz um teste sobre o tempo de resposta em 3 modos de comunicação (segue em
> > anexo) e, como meu projeto trata de um sistema em larga escala, escolhi por
> > WebServices.
>
> > Mas é como o Stefan falou, cada projeto tem suas particularidades, mas
> > creio que uma regra geral para uma aplicação que *não *haverá uma
> > sobrecarga de chamadas é o uso de RemoteObject, do contrário, WebServices.
>
> > Espero ter ajudado a esclarecer tua dúvida.
>
> > 2009/5/20 Stefan Horochovec <stefan.horocho...@gmail.com>:
>
> > > Ola
>
> > > Utilizo RemoteObject por ser MUITO mais rápido que Webservice, porem, o
> > > projeto em qual trabalho permite que eu o utilize.
>
> > > Cada projeto tem suas particularidades. Se eu puder optar, sempre irei
> > > trabalhar com RemoteObject, porem, se não tiver como o Webservice é uma
> > boa
> > > saida tambem, e muito facil de implementar.
>
> > > Abraço
> > > Stefan Horochovec
> > > Analista de Sistemas
> > > Adobe User Group Manager - FlexDuck
> > > Blog:http://www.horochovec.com.br/
> > > Use Java, Flex e Linux
> > > 2009/5/20 Romulo Gnomo <romul...@gmail.com>

Mário Júnior

não lida,
20 de mai. de 2009, 21:19:0520/05/2009
para fle...@googlegroups.com
Então... em todos os testes q já fiz, dá o uso de remoting é bem mais rápido que webservice.
Por isso gostaria de debater a conclusão do Pergentino abertamente e até, se quiser, podemos ajudá-lo no trabalho dele. (claro, se quiser. Na real, acho q dificilmente alguém da banca vai querer argumentar isso com vc... a menos q leia esse post =D hehehe)

um abraço.



2009/5/20 Julio Carneiro <jjcar...@gmail.com>

bruno bg

não lida,
20 de mai. de 2009, 21:22:2920/05/2009
para fle...@googlegroups.com
Entendi.
Eu tenho algumas telas que necessito de fazer muitas chamadas , mas hoje só consigo fazer uma chamada de cada vez, um após a outra.
Pelo que vi e me responderam o FLEX é sincrono . E não possibilita fazer chamadas assincronas.

EX: tenho uma tela de cadastro de cliente onde tenho 3 combos onde faço o RemoteObject me retornando arrayColection, com Binding. e tenho 3 combos com ArrayColection que são criados no próprio MXML.
e nessa mesma tela tenho (por enquanto) 2 DataGrids que tb tem seus RemoteObject me retornando ArrayColection preenchendo seus respectivos DataGrid.
Que onde eu clico num Item já abre a tela correspondente ao seu DataGrid para edição ou cadastramento de um registro novo.
e ainda essa tela vai "crescer".

Ainda não sei se é o certo , mas tb não sei se é errado. Não vi ainda nenhuma "cartilha" para telas complexas igual a essa minha.
Pesquisei se existe alguma maneira de fazer chamadas assincronas :
http://groups.google.com.br/group/flexdev/browse_thread/thread/33b5ef85f0d8a3b6/b1c816f85511cdb6
Mas não achei nada que me convence.!

mande o anexo para darmos uma olhada.


2009/5/20 Mário Júnior <junin...@gmail.com>

Vinícius Velasco

não lida,
20 de mai. de 2009, 21:32:5920/05/2009
para fle...@googlegroups.com
Se olharmos em sites especializado vemos que 99% vai dizer RemoteObject é mais rápido e mais indicado, esse link do Julio diz tudo. Uma vez eu fiz a mesma coisa nos dois e o Remote ganhou. A idéia do Mário pro Pergentino falar sobre sua tese é legal que ai ia ter uma posição contraria bem legal pra todo mundo ver, quem sabe também no caso dele especifico o WebService ganhou...

2009/5/20 bruno bg <brun...@ig.com.br>



--
Bel. Vinícius Velasco
MSN: ircvi...@hotmail.com
Skype: ircvinicius
Fone: 66 9206 6966
Rondonópolis - Mato Grosso - Brasil

"Nos seus momentos de aflição, não se envergonhe de baixar a cabeça e
chamar por Deus!!!"

Mário Júnior

não lida,
20 de mai. de 2009, 21:53:1620/05/2009
para fle...@googlegroups.com
@Bruno diz:
"...Pelo que vi e me responderam o FLEX é sincrono . E não possibilita fazer chamadas assincronas. ..."


Bruno.. infelizmente te responderam errado... =D

As chamadas RPC comuns (remoteObject, webservice e httpService) do Flex NÃO SÃO síncronas... pelo contrário, são SEMPRE assíncronas. Digo "comuns" pq são as mais usadas e recomendadas para tal caso.

Já o NetConnection (muito usado para conexões rtmp) tb é assíncrono, mas suas requisições são infileiradas oq torna um comportamento parecido com o "síncrono" mas o "parecer" está longe de "ser" .. seria muito complexo tentar explicar isso num e-mail só mas o  fato é que muita gente ainda confunde isso e levam outras pessoas a usar o netconnection de forma "errada" pq ele também permite o uso de remoting.

Um exemplo disso eram os primeiros exemplos do amfphp. Eles usavam NetConnection e com isso levou muita gente a fazer a mesma coisa, isso porque o amfphp foi "concebido" originalmente para trabalhar com o Flash (Flash Remoting) e no Flash não tem RemoteObject (pq esse componente é exclusivo do Flex SDK), por isso no flash usava-se o NetConnection. Como muita gente via os exemplos em flash, escreviam eles no Flex e voilá... funcionavam. =D (Mal sabem q estão usando de forma errada.)

Outra ferramenta q usava NetConnection para remoting era o OpenAMF (for java), que tb tinha exemplos usando NetConnection para fazer o remoting em AMF0.

Enfim, ainda hoje é normal ver muita gente usando NetConnection para remoting no Flex pq se baseiam em exemplos antigos e defazados (deprecateds) e não correm atrás de se informarem sobre a maneira certa (usar sempre o mx.RemoteObject para chamadas assíncronas) Mas isso não vem ao caso agora sobre o assunto WebService vs Remoting.

Fiquei curioso em saber quais os testes q o Pergentino utilizou para chegar a essa conclusão, por isso perguntei. Acho q levantar um debate sobre isso (de forma saudável, claro) pode ser interessante para todos (mesmo q esse assunto já tenha sido comentado várias e várias vezes).


@Pergentino.. acho q vc esqueceu de anexar o arquivo no segundo e-mail também. =D


Um abraço.



2009/5/20 bruno bg <brun...@ig.com.br>

Julio Carneiro

não lida,
20 de mai. de 2009, 22:35:2420/05/2009
para flexdev
Bruno,

Acho que vc está enganado... pelo contrário, Flex é assíncrono por
natureza... na verdade não tem como fazer um procedimento síncrono em
Flex, nem Air.
Tome AIR por exemplo, que te dá acesso direto a arquivos locais.
Se vc usa uma chamada para digamos ler um arquivo (file.load()), esta
chamada será sempre assíncrona. Um evento será disparado quando os
dados do arquivo estiverem carregados. isto é, imediatamente após a
chamada file.load(), nada ainda estará disponível.
EM outros ambientes, (PHP, ASP, C, VB, Delphi, ...), qdo vc executa um
'read', esta chamada é em geral síncrona por default. Quer dizer,
imediatamente após a chamada (read, load,...), os dados já estarão
disponíveis.

Nos casos de obtenção de dados de fontes remotas (HTTP, SOAP,
REmoting,..) então, nem se fala.

O que muita gente confunde com 'sincronismo' em Flex é o fato de vc
estar limitado a uma única chamada a um WebService, HTTPService ou
RemoteService quando este é definido via tag <mx:xxxxService />.
Esta limitação só existe em mxml. Com AS vc tem a classe AsyncToken
que te permite disparar múltiplas chamadas simultâneas para o mesmo
'serviço' (qqr tipo).

Eu tenho aplicativos com telas que tem dezenas de datagrids,
comboboxes, lists e forms, todos carregados remotamente e
simultâneamente de forma assíncrona.
No meu caso eu uso WebServices em função do meu backend que não
suporta remoting.

julio

On May 20, 10:22 pm, bruno bg <bruno...@ig.com.br> wrote:
> Entendi.
> Eu tenho algumas telas que necessito de fazer muitas chamadas , mas hoje só
> consigo fazer uma chamada de cada vez, um após a outra.
> Pelo que vi e me responderam o FLEX é sincrono . E não possibilita fazer
> chamadas assincronas.
>
> EX: tenho uma tela de cadastro de cliente onde tenho 3 combos onde faço o
> RemoteObject me retornando arrayColection, com Binding. e tenho 3 combos com
> ArrayColection que são criados no próprio MXML.
> e nessa mesma tela tenho (por enquanto) 2 DataGrids que tb tem seus
> RemoteObject me retornando ArrayColection preenchendo seus respectivos
> DataGrid.
> Que onde eu clico num Item já abre a tela correspondente ao seu DataGrid
> para edição ou cadastramento de um registro novo.
> e ainda essa tela vai "crescer".
>
> Ainda não sei se é o certo , mas tb não sei se é errado. Não vi ainda
> nenhuma "cartilha" para telas complexas igual a essa minha.
> Pesquisei se existe alguma maneira de fazer chamadas assincronas :http://groups.google.com.br/group/flexdev/browse_thread/thread/33b5ef...
> Mas não achei nada que me convence.!
>
> mande o anexo para darmos uma olhada.
>
> 2009/5/20 Mário Júnior <juninho...@gmail.com>
>
> > @Pergentino,
>
> > Fiquei curioso sobre sua tese de *não usar r*emoting para aplicações que
> > tiverem várias chamadas/requisições.
>
> > Se puder dissertar algo sobre sua tese, e quais métodos de testes o levaram
> > a essa conclusão, gostaria de debatê-la.
> > (na maior boa vontade, claro =D)
>
> > um abraço.
>
> > 2009/5/20 Pergentino Araújo <jpergent...@gmail.com>
>
> >> Cara, RemoteObject (em geral) é bem mais rápido do que WebServices, porém
> >> se sua aplicação tiver várias chamadas simultâneas, é aconselhavel utilizar
> >> WebServices.
>
> >> Em um recente estudo que estou fazendo para minha dissertação de mestrado,
> >> fiz um teste sobre o tempo de resposta em 3 modos de comunicação (segue em
> >> anexo) e, como meu projeto trata de um sistema em larga escala, escolhi por
> >> WebServices.
>
> >> Mas é como o Stefan falou, cada projeto tem suas particularidades, mas
> >> creio que uma regra geral para uma aplicação que *não *haverá uma
> >> sobrecarga de chamadas é o uso de RemoteObject, do contrário, WebServices.
>
> >> Espero ter ajudado a esclarecer tua dúvida.
>
> >> 2009/5/20 Stefan Horochovec <stefan.horocho...@gmail.com>:
>
> >> > Ola
>
> >> > Utilizo RemoteObject por ser MUITO mais rápido que Webservice, porem, o
> >> > projeto em qual trabalho permite que eu o utilize.
>
> >> > Cada projeto tem suas particularidades. Se eu puder optar, sempre irei
> >> > trabalhar com RemoteObject, porem, se não tiver como o Webservice é uma
> >> boa
> >> > saida tambem, e muito facil de implementar.
>
> >> > Abraço
> >> > Stefan Horochovec
> >> > Analista de Sistemas
> >> > Adobe User Group Manager - FlexDuck
> >> > Blog:http://www.horochovec.com.br/
> >> > Use Java, Flex e Linux
> >> > 2009/5/20 Romulo Gnomo <romul...@gmail.com>

Julio Carneiro

não lida,
20 de mai. de 2009, 22:37:1320/05/2009
para flexdev
lol, respondemos quase a mesma coisa ao mesmo tempo :-)

On May 20, 10:53 pm, Mário Júnior <juninho...@gmail.com> wrote:
> @Bruno diz:
> *"...Pelo que vi e me responderam o FLEX é sincrono . E não possibilita
> fazer chamadas assincronas. ..."*
>
> Bruno.. infelizmente te responderam errado... =D
>
> As chamadas RPC *comuns (remoteObject, webservice e httpService) *do Flex
> NÃO SÃO síncronas... pelo contrário, são SEMPRE assíncronas. Digo "comuns"
> pq são as mais usadas e recomendadas para tal caso.
>
> Já o NetConnection (muito usado para conexões rtmp) tb é assíncrono, mas
> suas requisições são infileiradas oq torna um comportamento parecido com o
> "síncrono" mas o "parecer" está longe de "ser" .. seria muito complexo
> tentar explicar isso num e-mail só mas o  fato é que muita gente ainda
> confunde isso e levam outras pessoas a usar o netconnection de forma
> "errada" pq ele também permite o uso de remoting.
>
> Um exemplo disso eram os primeiros exemplos do amfphp. Eles usavam
> NetConnection e com isso levou muita gente a fazer a mesma coisa, isso
> porque o amfphp foi "concebido" originalmente para trabalhar com o Flash
> (Flash Remoting) e no Flash não tem RemoteObject (pq esse componente é
> exclusivo do Flex SDK), por isso no flash usava-se o NetConnection. Como
> muita gente via os exemplos em flash, escreviam eles no Flex e voilá...
> funcionavam. =D (Mal sabem q estão usando de forma errada.)
>
> Outra ferramenta q usava NetConnection para remoting era o OpenAMF (for
> java), que tb tinha exemplos usando NetConnection para fazer o remoting em
> AMF0.
>
> Enfim, ainda hoje é normal ver muita gente usando NetConnection para
> remoting no Flex pq se baseiam em exemplos antigos e defazados (deprecateds)
> e não correm atrás de se informarem sobre a maneira certa (usar sempre o
> mx.RemoteObject para chamadas *assíncronas*) Mas isso não vem ao caso agora
> sobre o assunto WebService vs Remoting.
>
> Fiquei curioso em saber quais os testes q o Pergentino utilizou para chegar
> a essa conclusão, por isso perguntei. Acho q levantar um debate sobre isso
> (de forma saudável, claro) pode ser interessante para todos (mesmo q esse
> assunto já tenha sido comentado várias e várias vezes).
>
> @Pergentino.. acho q vc esqueceu de anexar o arquivo no segundo e-mail
> também. =D
>
> Um abraço.
>
> 2009/5/20 bruno bg <bruno...@ig.com.br>
>
>
>
> > Entendi.
> > Eu tenho algumas telas que necessito de fazer muitas chamadas , mas hoje só
> > consigo fazer uma chamada de cada vez, um após a outra.
> > Pelo que vi e me responderam o FLEX é sincrono . E não possibilita fazer
> > chamadas assincronas.
>
> > EX: tenho uma tela de cadastro de cliente onde tenho 3 combos onde faço o
> > RemoteObject me retornando arrayColection, com Binding. e tenho 3 combos com
> > ArrayColection que são criados no próprio MXML.
> > e nessa mesma tela tenho (por enquanto) 2 DataGrids que tb tem seus
> > RemoteObject me retornando ArrayColection preenchendo seus respectivos
> > DataGrid.
> > Que onde eu clico num Item já abre a tela correspondente ao seu DataGrid
> > para edição ou cadastramento de um registro novo.
> > e ainda essa tela vai "crescer".
>
> > Ainda não sei se é o certo , mas tb não sei se é errado. Não vi ainda
> > nenhuma "cartilha" para telas complexas igual a essa minha.
> > Pesquisei se existe alguma maneira de fazer chamadas assincronas :
>
> >http://groups.google.com.br/group/flexdev/browse_thread/thread/33b5ef...
> > Mas não achei nada que me convence.!
>
> > mande o anexo para darmos uma olhada.
>
> > 2009/5/20 Mário Júnior <juninho...@gmail.com>
>
> >> @Pergentino,
>
> >> Fiquei curioso sobre sua tese de *não usar r*emoting para aplicações que
> >> tiverem várias chamadas/requisições.
>
> >> Se puder dissertar algo sobre sua tese, e quais métodos de testes o
> >> levaram a essa conclusão, gostaria de debatê-la.
> >> (na maior boa vontade, claro =D)
>
> >> um abraço.
>
> >> 2009/5/20 Pergentino Araújo <jpergent...@gmail.com>
>
> >>> Cara, RemoteObject (em geral) é bem mais rápido do que WebServices, porém
> >>> se sua aplicação tiver várias chamadas simultâneas, é aconselhavel utilizar
> >>> WebServices.
>
> >>> Em um recente estudo que estou fazendo para minha dissertação de
> >>> mestrado, fiz um teste sobre o tempo de resposta em 3 modos de comunicação
> >>> (segue em anexo) e, como meu projeto trata de um sistema em larga escala,
> >>> escolhi por WebServices.
>
> >>> Mas é como o Stefan falou, cada projeto tem suas particularidades, mas
> >>> creio que uma regra geral para uma aplicação que *não *haverá uma
> >>> sobrecarga de chamadas é o uso de RemoteObject, do contrário, WebServices.
>
> >>> Espero ter ajudado a esclarecer tua dúvida.
>
> >>> 2009/5/20 Stefan Horochovec <stefan.horocho...@gmail.com>:
>
> >>> > Ola
>
> >>> > Utilizo RemoteObject por ser MUITO mais rápido que Webservice, porem, o
> >>> > projeto em qual trabalho permite que eu o utilize.
>
> >>> > Cada projeto tem suas particularidades. Se eu puder optar, sempre irei
> >>> > trabalhar com RemoteObject, porem, se não tiver como o Webservice é uma
> >>> boa
> >>> > saida tambem, e muito facil de implementar.
>
> >>> > Abraço
> >>> > Stefan Horochovec
> >>> > Analista de Sistemas
> >>> > Adobe User Group Manager - FlexDuck
> >>> > Blog:http://www.horochovec.com.br/
> >>> > Use Java, Flex e Linux
> >>> > 2009/5/20 Romulo Gnomo <romul...@gmail.com>

Mário Júnior

não lida,
20 de mai. de 2009, 22:39:4220/05/2009
para fle...@googlegroups.com
@Julio, pois é... quase =D
Mas então.. o mxml tb pode ser assincrono.
E em AIR, uma chamada ao SQLite pode ser  tanto assincrona como sincrona. É a unica forma sincrona q conheço no framework, mas isso só no AIR com SQLite.



2009/5/20 Julio Carneiro <jjcar...@gmail.com>

Julio Carneiro

não lida,
20 de mai. de 2009, 22:53:0420/05/2009
para flexdev
Verdade Mário, tinha me esquecido do SQLite, que pode ser síncrono (e
que eu já usei para um projetinho pessoal).

Quanto ao mxml, como nós dissemos ele é sempre assíncrono. A diferença
é que com o mxml as transações tem que ser enfileiradas, isto é, um
send() de cada vez. Para permitir chamadas simultâneas vc tem que
obrigatoriamente usar AsyncToken com AS3.

julio

On May 20, 11:39 pm, Mário Júnior <juninho...@gmail.com> wrote:
> @Julio, pois é... quase =D
> Mas então.. o mxml tb pode ser assincrono.
> E em AIR, uma chamada ao SQLite *pode ser  *tanto assincrona como sincrona.
> É a unica forma sincrona q conheço no framework, mas isso só no AIR com
> SQLite.
>
> 2009/5/20 Julio Carneiro <jjcarne...@gmail.com>

Thief

não lida,
20 de mai. de 2009, 23:03:0320/05/2009
para fle...@googlegroups.com
Como comentaram já, o AIR pode ser sincrono em alguns momentos.
O Flex tem alguns jeitos de simular sincronismo, inclusive em chamadas remotas!
Uma delas é criando uma pseudo-thread e em outra é chamando o método por externalinterface via JS.
Tem até um exemplo no site da Adobe da segunda ali.



2009/5/20 Julio Carneiro <jjcar...@gmail.com>

Mário Júnior

não lida,
20 de mai. de 2009, 23:35:0920/05/2009
para fle...@googlegroups.com
Cuidado.. vamos ser bem categóricos para não causarmos confusão, ainda mais para os iniciantes (como o bruno_bg e vários outros).

- Bem, chamadas RPC (e SQLite não é RPC) são sempre assincronas. (ponto final)
- O mxml permite criar vários <mx:methods> dentro (que são convertidos para Operations em AS3), oq permite q vc dispare várias requisições do mesmo mxml ao mesmo tempo.
- O AsyncToken gerado por um mxml tb pode ser reaproveitado, DESDE QUE vc recupere a instancia dele no ResultEvent.
- Além disso, tem uma propriedade no RemoteObject que pouca gente usa (e/ou conhece): concurrency. Recomendo a leitura da documentação para não prolongar muito o assunto por aqui.

Sobre o enfileiramento que o Thief falou, realmente dá pra fazer. Eu fiz mas no final não gostei doq eu mesmo fiz, preferi a opção de recuperar o asyncToken do result event para reaproveitar a instancia de um RemoteObject e então disparar outra requisição. É mais ou menos isso que o Cairngorm With Extensions faz para notificar os "chamadores" de uma requisição para q possam disparar outra logo em seguida.(notifyCallers - Cairngorm with Extensions é uma modificação do Cairngorm original criado pela UniversalMind e disponibilizada para a comunidade)


Enfim... minha curiosidade mesmo ficou sobre a conclusão do Pergentino de que "... é melhor usar WebService para aplicação com várias chamadas..." realmente isso me causou curiosidade.

That's all folks.

Abraços a todos.. vamos dormir q já deu hora =D





2009/5/21 Thief <thie...@gmail.com>

Pergentino Araújo

não lida,
21 de mai. de 2009, 09:28:5021/05/2009
para fle...@googlegroups.com
Esqueci o anexo novamente hehehe (acho que estou ficando louco ou o
Gmail ignorou meu anexo).

Vou ler os outros emails abaixo deste para ver a discussão e assim que
tiver tempo respondo.

[]'s

2009/5/20 Pergentino Araújo <jperg...@gmail.com>:
--
Atenciosamente, Pergentino.
TST_COMUNICACAO_FLEX_TESE.JPG

Mário Júnior

não lida,
21 de mai. de 2009, 09:42:0321/05/2009
para fle...@googlegroups.com
Olá Pergentino! Conheço esse teste, ele foi realizado pelo pessoal da midnightcoders (mantenedores da weborb)
(http://www.themidnightcoders.com/blog/2007/03/flex-remoteobject-vs-webservice.html)

Então, pela a imagem q vc mesmo mandou, o RemoteObject está mais rapido que seus "concorrentes", o que contraria a sua tese no seu primeiro e-mail.





2009/5/21 Pergentino Araújo <jperg...@gmail.com>

Pergentino Araújo

não lida,
21 de mai. de 2009, 10:29:4821/05/2009
para fle...@googlegroups.com
Opa Mario,

pois é, este teste eu fiz aí neste site mesmo, porém eu fiz algo
parecido (é por que nao está aqui no meu pc) e testei nao apenas a
chamada, pois este teste aí testa 1 cliente acessando o servidor, e eu
precisava testar um cenário de várias chamadas em várias maquinas e
analizar também o servidor.

Claro que não teria como eu fazer este cenário sem que a aplicação não
esteja em produção, pois não tenho várias máquinas, porém fiz um teste
onde realizei um profiling no meu servidor (claro, ele ficaria mais
lento com isso) e submeti várias requisições vindo de aplicacoes
diferentes (algo em torno de 10.000, preciso de valores altos pra dar
mais conteudo ao trabalho).

Percebi que o RemoteObject seria mais rápido quando você está em 1 só
máquina, pois ele ja estaria "mapeado" com o servidor, facilitando
todas as requisições realizadas após a 1a. Isso submetido a várias
chamadas distintas iria comprometer um pouco no seu desempenho. Não
tenho informações em nros (até pq eu estou no trabalho e nao lembro
precisamente dos valores), mas lembro vagamente que as chamadas via
RemoteObject consumia mais processamento do container web (creio que
por causa do processamento do BlazeDS nos mapeamentos) e o
WebServices, mais memória.

Meu trabalho de mestrado trata-se de um projeto de arquitetura para
sistemas de meta-recomendacao, em aplicacoes ria na web em larga
escala, utilizando Flex e Java. Lembro que minha preocupacao é mais
arquitetural do que no lado cliente. Claro que qualquer discussão é
bem vinda (inclusive utilizo muitos conceitos discutidos aqui no
grupo, e também levanto outras).

Claro que, toda discussao sobre este assunto, tem que ser dada as suas
devidas proporcoes.

Ahh, a imagem eu capturei de meu ppt que usei na defesa da proposta de
mestrado. ;)

Tomara que vcs entendam as idéias jogadas ae ;)

[]'s

2009/5/21 Mário Júnior <junin...@gmail.com>:
--
Atenciosamente, Pergentino.
Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem