Integrando Flex + Java + BlazeDS                                  (Vagner Machado)Para este tutorial serão necessários os ...
Há várias maneiras de comunicar o Java com o Flex, mas em destaque é que vocêpode trocar objetos Java/Flex por um protocol...
Abaixo segue uma imagem de uma aplicação em Flex (Census) por JamesWard quemostra gráficamente o tempo gasto em transferên...
- Criando o projetoApós fazer o download dos requisitos e configurar o servidor de aplicação vamosiniciar a criação do pro...
Então na próxima altere “Java Sorce Directory” para “src_java” para nao haverconfusões quando a integração for feita.2 – V...
Selecione J2EE e clique em NextNa próxima tela clique em “Finish”
3 – Agora novamente clique com o botão direito sobre o projeto e vá empropriedades, e siga os seguintes passos:Flex Builde...
4 – Vamos agora integrar o BlazeDS ao nosso projeto.Após fazer o download do BlazeDS e extrair, copie a pasta WEB-INF para...
Agora vamos dizer ao compilador do Flex que existe um servidor de AMF levantado, para issode um botão direito no projeto J...
5 – Vamos agorar criar uma classe java para fazer a comunicação com o Flexatravés do BlazeDS       Crie uma classe Java no...
6 – Acessando o servico por RemoteObject no FlexAbra seu MXML que foi criado no diretório “flex_src” e adicione o RemoteOb...
8 – Agora abra o arquivo web.xml dentro do WebContentWEB-INFE na linha  <welcome-file-list>        <welcome-file>index.htm...
Upcoming SlideShare
Loading in …5
×

Tutorial integrado flex_+_java_+_blazeds

435 views
398 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
435
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tutorial integrado flex_+_java_+_blazeds

  1. 1. Integrando Flex + Java + BlazeDS (Vagner Machado)Para este tutorial serão necessários os seguintes requisitos:- Flex Builder 3 .http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email- BlazeDS Server.http://opensource.adobe.com/wiki/display/blazeds/Release+Builds- Servidor de Aplicação (Glassfish utilizado neste tutorial).https://glassfish.dev.java.net/downloads/v2ur2-b04.html- Plugin do Glassfishcom.sun.enterprise.jst.server.sunappsrv_1.0.3- Plugin WTP (Web Tools Plataform)Os plugins são facilmente instalados pelo gerenciador de plugins do Eclipse.
  2. 2. Há várias maneiras de comunicar o Java com o Flex, mas em destaque é que vocêpode trocar objetos Java/Flex por um protocolo que provê compactação etranferência binária, este é o AMF.Adobe BlazeDSO BlazeDS é um produto OpenSource (Licença LGPL v3) que corresponde àtecnologia JAVA server-side que dá suporte tanto para o Remoting assim como aoMessaging de objetos trocados entre o Java e o Flex/Flash através do protocolaAMF que mostra ser 10x mais rápido que outros protocolos utilizados sobre HTTPem formato XML.Arquitetura Java+Flex+BlazeDS:
  3. 3. Abaixo segue uma imagem de uma aplicação em Flex (Census) por JamesWard quemostra gráficamente o tempo gasto em transferências utilizando diversostecnologias/métodos de comunicação. http://www.jamesward.com/census/
  4. 4. - Criando o projetoApós fazer o download dos requisitos e configurar o servidor de aplicação vamosiniciar a criação do projeto.1 – Abra o Flex Builder e crie um novo projeto “Dynamic Web Project”De um nome ao projeto e clique em “Next”.De outro Next na próxima tela
  5. 5. Então na próxima altere “Java Sorce Directory” para “src_java” para nao haverconfusões quando a integração for feita.2 – Vamos agora transformar o projeto em um projeto Flex Clique com o botão direito sobre o projeto Então selecione:
  6. 6. Selecione J2EE e clique em NextNa próxima tela clique em “Finish”
  7. 7. 3 – Agora novamente clique com o botão direito sobre o projeto e vá empropriedades, e siga os seguintes passos:Flex Builder PathAltere “Output folder” para WebContentEste diretório será responsável pelos arquivos gerados pelo flex como Html’s eSWF’s.Vá em “Library path” e remova a pasta “flex_libs” que não será mais necessáriapois as bibliotecas irão ser armazenadas no WebContent(veremos mais à frente).
  8. 8. 4 – Vamos agora integrar o BlazeDS ao nosso projeto.Após fazer o download do BlazeDS e extrair, copie a pasta WEB-INF para seu“WebContent”. Após ter feito deverá ficar assim:Repare que o web.xml foi substituido, agora o Servelet do BlazeDS está sendochamado.
  9. 9. Agora vamos dizer ao compilador do Flex que existe um servidor de AMF levantado, para issode um botão direito no projeto JavaFlex -> Properties -> Selecione Flex Compiler -> emAdditional compiler arguments adicione a linha e ok:-services "../WebContent/WEB-INF/flex/services-config.xml"
  10. 10. 5 – Vamos agorar criar uma classe java para fazer a comunicação com o Flexatravés do BlazeDS Crie uma classe Java no diretório “src_java” com o nome OlaMundopublic class OlaMundo { public String ola(String nome){ return "Olá "+nome; }}Agora vamos fazer com que o BlazeDS reconheça nossa classe e permita que o flexpossa acessa-la através de seu protocolo AMF.Dentro do diretorio WebContentWEB-INFflex estão contidos todos os XML’s deconfigurações do BlazeDSAbra o remoting-config.xml e declare sua classe javaFicaria 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>
  11. 11. 6 – Acessando o servico por RemoteObject no FlexAbra seu MXML que foi criado no diretório “flex_src” e adicione o RemoteObject, umTextInput e um LabelRepare que o RemoteObject tem um destination, este destination equivale aomesmo destination que foi declarado no remoting-config.xml<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"> <mx:RemoteObject id="servico" destination="servico"/> <mx:TextInput x="269" y="85" width="175"change="servico.ola(campo.text);" id="campo"/> <mx:Label x="269" y="115" width="201" id="label1"text="{servico.ola.lastResult}"/></mx:Application>No TextInput, a cada mundança de caractere o método “ola” do servico é chamadoe sendo passado como parâmetro seu próprio textoO label, obtem o ultimo resultado no método.7 – Após ter realizado todos estes passos, um erro é gerado.Abra a aba Problems clique com o direito sobre ele e então mande recriar osTemplates HTML
  12. 12. 8 – Agora abra o arquivo web.xml dentro do WebContentWEB-INFE na linha <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list>Altere index.html e index.htm para o nome de seu MXML, que no caso foi criado porpadrão quando adicionado FlexNatureProject com o nome dado ao seu projeto, nomeu caso ficou JavaFlex.html , mas se você deu outro nome ao projeto, ponha estenome. Indicará qual arquivo será aberto ao iniciar a aplicação.9 – Clique com o botão direito sobre o projeto e dê um Build Project10 – Clique com o botão direito sobre o projeto, “Run As” > “Run on Server”Resultado:Está é a integração básica Flex+Java+BlazeDS. Espero que tenha ajudado.Até a próxima. Vagner Machado

×