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 <thief...@gmail.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 <jjcarne...@gmail.com>
>
>
>> 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>
>> >
>> >
>> >
>> >
>> >
>> > > 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>
>> >
>> > > > >>> >> tbm sou curioso quanto a isso.
>> >
>> > > > >>> >> --
>> >
>> > > > >> --
>> > > > >> Mário Júnior
>> > > > >> Programador Java / Adobe Flex
>> > > > >>http://blog.mariojunior.com
>> >
>> > > > --
>> > > > Mário Júnior
>> > > > Programador Java / Adobe Flexhttp://blog.mariojunior.com
>> >
>> > --
>> > Mário Júnior
>> > Programador Java / Adobe Flexhttp://blog.mariojunior.com
>>
>>
>
> >
>


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

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Reply via email to