Flerry
Para minha sorte, quem sabe para sua também, garimpando os resultados das buscas no Google encontrei um projeto chamado de Flerry [ site projeto ] o que se propõe a nos possibilitar utilizar uma aplicação em Java sendo chamada pelo NativeProcess no Adobe AIR 2.
Este projeto foi criado por: Piotr Walczyszyn, polonês, funcionário da Adobe e evangelista da plataforma. [ Site: RiaSpace | twitter: @pwalczyszyn ]
Vamos a uma visão geral :
Agora uma visão mais detalhada de como fica a estrutura da aplicação:
Onde o Flerry API [ Flerry.jar], utiliza as libs do BlazeDS para efetuar a serialização e deserialização dos objetos, segue o nome das libs do BlazeDS utilizadas:
- flex-messaging-core.jar
- flex-messaging-common.jar
O restante o fluxo e funcionamento é exatamente similar ao que temos quando utilizamos o BlazeDS no Java, com uma diferença, não há a necessidade de nenhuma configuração na aplicação Java para mapear a classe do serviço, isto é feito diretamente no MXML.
Na página inicial do projeto Flerry, possui exemplo de código de como funciona. Observe a tag, fx:Declarations. A estrutura segue a idéia da tag RemoteObject.
Mas como bem sabemos nem tudo são flores nessa vida…
O projeto está na versão 1.1.1 e caso você baixe diretamente lá do site do projeto como eu fiz, irá observar que o código do projeto está um tanto confuso, mesclado o Java com o código AIR.
Então resolvi arrumar a casa e acertar o projeto, facilitando o uso e estudo do código… e neste processo me deparei com um bug de uma funcionalidade descrita neste post a qual é a mesma idéia do poolling que temos no BlazeDS. Mas não se preocupe com o bug, pois já achei a correção e no código que segue já está corrigido.
Download:
- código fonte e a aplicação de exemplo de uso
- este já está organizado e separado em projetos, caso tenha curiosidade baixe o projeto do site oficial e compare
- correção do bug da funcionalidade similar ao poolling do BlazeDS
- a lib para uso no Adobe AIR foi adicionado o namespace, algo que não tem no oficial ainda
para facilitar sua vida e a minha, quando for criar um novo projeto, deixei separado as libs para serem utilizadas em um novo projeto Adobe AIR que irá se comunicar com java.
Atenção: (editado 20100722 1040)
- A respectiva versão disponibilizada neste post é uma versão adaptada e atualizada do projeto Flerry, onde os projetos estão unidos, neste caso separei os projetos para uma melhor manutenção e entendimento do código.
- Alteração da classe original: JavaStartupInfoProvider da Lib Flex, para localizar o Java no Windows, onde segundo o verificado, o Java a partir da versão 1.6 alterou a sua respectiva instalação no Windows, incluindo os arquivos: [ java.exe / javaw.exe / javaws.exe ] no diretório: c:/windows/system32, com isto não há mais a necessidade de configurar a variável de ambiente JAVA_HOME no Windows. Isto explica o motivo do comando java -version executar na janela de comando do windows [cmd.exe]. Então alterei a classe citada, apontando para o arquivo: c:/windows/system32/javaw.exe
Possível problema conhecido na versão atual:
Caso você for executar sua aplicação Adobe AIR + Flerry em um Windows Vista e/ou XP em Português, provável que a lib não localize o local onde está o executável do java.
O que tenho em mente para fazer ainda quando ao código desse projeto?
- Revisar o algoritmo de localização do executável java
- Adicionar a possibilidade de repassar para a lib o JAVA_HOME
- Criar um novo componente avançado para possibilitar mais configurações do processo java
- Implementar um algoritmo mais inteligente de load dos jars
Bom por enquanto é isso. o/
Veja também:
Página: 1 2









Pingback: Tweets that mention [ Flerry ] Adobe AIR 2 conversando com Java local em AMF via NativeProcess | Erko Bridee -- Topsy.com
Pingback: Flerry 1.1.2 released at Space of Flex/AIR technologies
Pingback: [Adobe AIR 2 : NativeProcess + Java] SimpleAirJava - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!
Pingback: Flerry 1.2.0 disponível - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!
Pingback: [ Java Desktop ] Processamento de Imagens Digitais - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!