quarta-feira, 23 de maio de 2007

Traduzindo um Objeto AS para Java com OpenAMF

A um tempo atrás, já conseguindo fazer o Flex comunicar-se
com o Java via OpenAMF, Não estava satisfeito fazendo trocas
apenas de atributos, queria fazer algo mais “genérico”
fazendo apenas a troca de Objetos.

Foi então que revirei o pai Google a procura de como resolver isso!
mas só achava com Flash e Flex 1.0 =/

Mas quando estava quase desistindo, apelei para o Ctrl-Espaço do Eclipse... ehheh
Fui tentando método por método baseado na pobre documentação do OpenAMF.

Vejam como fico:

Depois de ter gerado um Objeto no Flex como por exemplo Pessoa,
Passe por parametro o Objeto AS para a função:

AS3:
-----
public function save(objeto : Object) : void{
//chama o service Java para salvar o objeto
service.call( "src.services.Service.save", new Responder(saveResult, resultFault), objeto);
}


E No Java uma Classe Service:

Java
------
package service;

import com.carbonfive.flash.ASTranslator;
import flashgateway.io.ASObject;

public class Service {
public void executa(ASObject objeto , String classe, String acao) throws Exception{
Object ob = (Object) new ASTranslator().fromActionScript(objeto);
//O ob viro um Objeto Java, agora é só persistir!!!!! +)
}
}

E só! O segredo está ali no ASTranslator()

Agora ficou fácil não!?!

=)


Aproveitando para argumentar....
Aqueles que estão começando seus projetos usando OpenAMF, é melhor rever, e fazer uma análise,
Pois o projeto OpenAMF foi descontinuado em 2006!!!!!!!
É terrivel mais é verdade, logo, bacana procurar outros frameworks .

Um que tá vindo com tudo ae é o GraniteDataServices (GDS) assim como o RED5


Outra hora posso trazer um comparativo dentre os frameworks OpenSource

Blza?!?!

Abraço Pessoal!!

\o/

2 comentários:

Unknown disse...

Fala Rodrigo, tudo bem?

Parabéns pelo blog, tem muita informação boa.

Olha só, consegui passar um objeto do flex para o java, só que estou tendo um pouco de dificuldade para trabalhar com o objeto no java. Tens alguns exemplo completo, arquivo flex e java. Por exemplo, um objeto Pessoa sendo enviado do Flex para o Java, e trabalhando com essa classe no Java.

To ficando preocupado, pq tenho menos de 1 semana pra entregar o meu projeto de conclusão de curso e empaquei nisso, qualquer ajuda vai ser muito bem vinda.

Valeu, um abraço.

Unknown disse...

Esqueci de informa o meu e-mail rafaellops@gmail.com