Sem dúvida hoje o .Net é uma força muito grande quando se fala em desenvolvimento de software, seja para web, desktop ou mobile.
O Flex não poderia de deixar de se comunicar com ele e para tanto temos diversas formas de fazer isso: AMF3, RemoteObject, WebService e HTTPService.
Porém cada forma de se fazer essa integração possui seus prós e contras, e o objetivo deste post é exatamente esse.
Então vamos cada uma:

RemoteObject (AMF3): Comunicação em que o Flex faz a solicitação à um gateway (weborb, fluorine, amfnet) e este faz a tradução dos dados (.Net x AS3) usando protocolo AMF(3) no qual os dados são transferidos em formato bínário.
Prós:
Muito rápido devido ao fato de os dados serem trafegados em formato bínario;
Excelente mapeamento de tipo de dados, desde as coleções simples até os tipos mais complexos;
Ciclo de desenvolvimento curto;
Contras:
Protocolo não é padronizado (ainda);
Requer software adicional no lado do servidor (LCDS, WebOrb, AMFPHP, CF);

WebService:
Formato muito parecido com o HTTPService, porém é baseado em padrões e compatível com diversas linguagens como .Net, Java e Coldfusion. Todo o output do WebService é serializado em XML.
Prós:
Baseado em padrões;
Pode ser construido facilmente dentro do Visual Studio;
Rápido com cargas pequenas e médias de dados;
Contras:
Problemas de serialização do DataSet;
Tende a ser lento com cargas grandes de dados;
Mapeamento de tipos pode ser complicado;
Implementação de segurança não é sólida;

RMTP: É a integração de nível mais baixo, em que a conexão é feita por sockets.
Prós:
Comunicação em tempo real (os outros métodos não suportam esse recurso);
Controle granular sobre o protocolo de comunicação;
Pode-se implementar suporte a outros protocolos (POP, SMTP, ETC … )
Contras:
Requer mais trabalho;
Precisa de mais debug e testes;
Precisa de boa experiência com sockets;

HTTPService
Forma mais simples de se integrar, consiste basicamente em enviar uma solicitação via POST/GET para uma determinada página .aspx e recuperar o retorno em XML.
Prós:
Pode ser utilizado para qualquer estrutura de dados (XML, JSON, REST, SOAP);
Todas as funcionalidades são próprias, não requer componentes de terceiros.
Contras:
Não é robusto para construir sistemas complexos;
Requer parse manual;
Mapeamento de tipos de dados é feita manualmente;
A performance é relativamente lenta;

Apesar de esse post se referir à integração entre Flex e .Net, pode-se usar o conceito com PHP, Java, Rails, CF …

Nos próximos posts farei um exemplo detalhado de cada forma para um melhor aprendizado.

Esse material foi retirado da palestra de Mark Piller que consta no Adobe DevNet Flex com o nome “Flex and .NET Integration eSeminar“.
Recomendo que assistam o video para mais informações: https://admin.adobe.acrobat.com/_a227210/p13301983/

SaintBr. =]