Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutorial Integrado Flex + Java + Blazeds
Tutorial Integrado Flex + Java + Blazeds
(Vagner Machado)
H vrias maneiras de comunicar o Java com o Flex, mas em destaque que voc
pode trocar objetos Java/Flex por um protocolo que prov compactao e
tranferncia binria, este o AMF.
Adobe BlazeDS
O BlazeDS um produto OpenSource (Licena LGPL v3) que corresponde
tecnologia JAVA server-side que d suporte tanto para o Remoting assim como ao
Messaging de objetos trocados entre o Java e o Flex/Flash atravs do protocola
AMF que mostra ser 10x mais rpido que outros protocolos utilizados sobre HTTP
em formato XML.
Arquitetura Java+Flex+BlazeDS:
Abaixo segue uma imagem de uma aplicao em Flex (Census) por JamesWard que
mostra grficamente o tempo gasto em transferncias utilizando diversos
tecnologias/mtodos de comunicao. http://www.jamesward.com/census/
- Criando o projeto
Aps fazer o download dos requisitos e configurar o servidor de aplicao vamos
iniciar a criao do projeto.
1 Abra o Flex Builder e crie um novo projeto Dynamic Web Project
Ento na prxima altere Java Sorce Directory para src_java para nao haver
confuses quando a integrao for feita.
Repare que o web.xml foi substituido, agora o Servelet do BlazeDS est sendo
chamado.
Agora vamos dizer ao compilador do Flex que existe um servidor de AMF levantado, para isso
de um boto direito no projeto JavaFlex -> Properties -> Selecione Flex Compiler -> em
Additional compiler arguments adicione a linha e ok:
-services "../WebContent/WEB-INF/flex/services-config.xml"
5 Vamos agorar criar uma classe java para fazer a comunicao com o Flex
atravs do BlazeDS
Crie uma classe Java no diretrio src_java com o nome OlaMundo
public class OlaMundo {
public String ola(String nome){
return "Ol "+nome;
}
}
Agora vamos fazer com que o BlazeDS reconhea nossa classe e permita que o flex
possa acessa-la atravs de seu protocolo AMF.
Dentro do diretorio WebContent\WEB-INF\flex esto contidos todos os XMLs de
configuraes do BlazeDS
Abra o remoting-config.xml e declare sua classe java
Ficaria assim:
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="servico">
<properties>
<source>OlaMundo</source>
</properties>
</destination>
</service>