Flex e .NET - Qual é uma boa maneira de inserir dados no Flex, WebORB?Serviços web?
Pergunta
Ok, fiz uma pergunta anteriormente sobre Flex e ADO.NET Data Services, mas não obtive muita resposta, então pensei em reformular a frase.Alguém tem alguma experiência na criação de aplicativos Adobe Flex com back-end .NET?Em caso afirmativo, qual arquitetura você usou e quais ferramentas de terceiros você empregou.Eu li um pouco sobre como fazer a comunicação remota Flex com WebORB, mas parece mais complicado do que deveria ser. Os serviços da Web são uma alternativa adequada?
Solução
Usei principalmente páginas simples do ASP.NET que retornam XML para situações que são principalmente de comunicação unidirecional (dados do ASP.NET -> Flex/Flash).O lado Flex apenas usa um URLLoader para acessar a página ASP.NET e carrega o resultado como XML.
Se a comunicação precisar ser um pouco mais bilateral (enviando mais do que alguns parâmetros para o ASP.NET, digamos), usei serviços da web ASP.NET padrão.
Nunca usei comunicação remota WebOrb ou Flex porque nunca precisei realmente desse tipo de interação entre o servidor e o SWF.
Espero que ajude.
Outras dicas
Acredito que os serviços da web são, na verdade, mais complicados e mais restritivos.Você não pode criar serviços da Web com estado, a troca de dados é bastante lenta devido ao detalhamento do XML.Desenvolver com WebORB não é tão difícil.Basicamente se resume a desenvolver um assembly e implantá-lo no /bin
pasta de um aplicativo ASP.NET habilitado para weborb.Depois de fazer isso, você pode invocar suas classes .NET usando a API RemoteObject do Flex.Por exemplo:
var ro:RemoteObject = new RemoteObject( "GenericDestination" );
ro.source = "com.bar.FooService"
ro.foo.addEventListener( ResultEvent.RESULT, gotFooResult );
ro.foo();
public function gotFooResult( evt:ResultEvent ):void
{
// evt.result contains the return value;
}
É importante compilar seu projeto do construtor Flex com o argumento do compilador -service.Você pode adicionar propriedades do projeto "compilador Flex" do Flex Builder:
-services c:/Inetpub/wwwroot/weborb30/web-inf/flex/services-config.xml
Se você apontar para esse caminho, certifique-se de implantar sua DLL em:
c:/Inetpub/wwwroot/weborb30/bin