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 -~----------~----~----~----~------~----~------~--~---