Gostaria de saber se existe como utilizar uma aplicação Flex acessando um servidor J2EE, trocando mensagens pelo protocolo AMF, utilizando o BlazeDS.
Já pesquisei e muito sobre isso, porem tudo o que achei é sempre a mesma repetida forma de se fazer tudo no Eclipse, no mesmo project um diretorio para classes java, outro diretorio para flex, e tudo rodando no mesmo servidor no final.
O que eu preciso é ter um pc trabalhando como servidor por exemplo fornecendo os dados necessarios nas requisições , e os demais pcs rodando o aplicativo Flex AIR apenas consumindo os dados e enviando para o servidor.
Eu consegui fazer isso utilizando o HTTPService, porém além de ter diminuido dramaticamente a velocidade da conexão / parsing, os dados so podem ser transmitidos via JSON ou XML, o que dificulta e muito o mapeamento no Flex. Além da velocidade, o que mais me atraiu no flex foi a possibilidade de espelhar minhas entidades em Java no ActionScript3.
Enfim, so queria saber se tem como eu setar no XML services-config.xml por exemplo, uma URL como http://www.meudominio.com.br:8080/minhaaplicacao, para não ter que prender minha aplicação flex, java e banco de dados na mesma máquina.
Obrigado.
Opa Diego tudo bem ?
Seguinte isso é muito simples.
Na sua configuração do flex, você informa o caminho do seu services-config.xml
Nele é feita a configuração de onde a aplicação esta instalada.
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
</channels>
No caso do projeto estar tudo junto, no mesmo servidor de aplicação os parametros “{server.name}:{server.port}/{context.root}”, serão substituidos pelos valores correntes. Por exemplo se instalar no a aplicação em http:\localhost:8080\MyApp
{server.name}="localhost"
{server.port}="8080"
{context.root}="MyApp"
No seu caso basta na configuração do AIR apontar para um arquivo services-config.xml
que tenha os valores do servidor fixo.
<channels>
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://localhost:8080/MyApp/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
<properties>
<polling-enabled>false</polling-enabled>
</properties>
</channel-definition>
</channels>