SlideShare a Scribd company logo
1 of 12
Download to read offline
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 Glassfish
com.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.
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 e
tranferência binária, este é o AMF.

Adobe BlazeDS

O BlazeDS é um produto OpenSource (Licença 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 através do protocola
AMF que mostra ser 10x mais rápido que outros protocolos utilizados sobre HTTP
em formato XML.




Arquitetura Java+Flex+BlazeDS:
Abaixo segue uma imagem de uma aplicação em Flex (Census) por JamesWard que
mostra gráficamente o tempo gasto em transferências utilizando diversos
tecnologias/métodos de comunicação. http://www.jamesward.com/census/
- Criando o projeto

Após fazer o download dos requisitos e configurar o servidor de aplicação vamos
iniciar 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
Então na próxima altere “Java Sorce Directory” para “src_java” para nao haver
confusõ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:
Selecione J2EE e clique em Next




Na próxima tela clique em “Finish”
3 – Agora novamente clique com o botão direito sobre o projeto e vá em
propriedades, e siga os seguintes passos:

Flex Builder Path

Altere “Output folder” para WebContent

Este diretório será responsável pelos arquivos gerados pelo flex como Html’s e
SWF’s.

Vá em “Library path” e remova a pasta “flex_libs” que não será mais necessária
pois as bibliotecas irão ser armazenadas no WebContent(veremos mais à frente).
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á sendo
chamado.
Agora vamos dizer ao compilador do Flex que existe um servidor de AMF levantado, para isso
de um botão 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 comunicação com o Flex
através do BlazeDS

       Crie uma classe Java no diretório “src_java” com o nome OlaMundo

public 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 flex
possa acessa-la através de seu protocolo AMF.

Dentro do diretorio WebContentWEB-INFflex estão contidos todos os XML’s de
configurações 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>
6 – Acessando o servico por RemoteObject no Flex

Abra seu MXML que foi criado no diretório “flex_src” e adicione o RemoteObject, um
TextInput e um Label

Repare que o RemoteObject tem um destination, este destination equivale ao
mesmo 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 é chamado
e sendo passado como parâmetro seu próprio texto

O 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 os
Templates HTML
8 – Agora abra o arquivo web.xml dentro do WebContentWEB-INF

E 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 por
padrão quando adicionado FlexNatureProject com o nome dado ao seu projeto, no
meu caso ficou JavaFlex.html , mas se você deu outro nome ao projeto, ponha este
nome. Indicará qual arquivo será aberto ao iniciar a aplicação.



9 – Clique com o botão direito sobre o projeto e dê um Build Project

10 – 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

More Related Content

What's hot

Instalação e configuração do TOTVS Série 1 Manufatura (First)
Instalação e configuração do TOTVS Série 1 Manufatura (First)Instalação e configuração do TOTVS Série 1 Manufatura (First)
Instalação e configuração do TOTVS Série 1 Manufatura (First)Éder Hernandes
 
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãospirallab
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento webValdir Junior
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Natan Moraes
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Jeison Barros
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
React + Flux (Alt)
React + Flux (Alt)React + Flux (Alt)
React + Flux (Alt)Cezar Luiz
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorJeison Barros
 

What's hot (20)

Conectores mule
Conectores muleConectores mule
Conectores mule
 
Instalação e configuração do TOTVS Série 1 Manufatura (First)
Instalação e configuração do TOTVS Série 1 Manufatura (First)Instalação e configuração do TOTVS Série 1 Manufatura (First)
Instalação e configuração do TOTVS Série 1 Manufatura (First)
 
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãoGerenciando sites em WordPress de forma eficiente: do deploy à manutenção
Gerenciando sites em WordPress de forma eficiente: do deploy à manutenção
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
ASP.NET - Conceitos Básicos
ASP.NET - Conceitos BásicosASP.NET - Conceitos Básicos
ASP.NET - Conceitos Básicos
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
React + Flux (Alt)
React + Flux (Alt)React + Flux (Alt)
React + Flux (Alt)
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 

Viewers also liked

Mensajes 2005
Mensajes 2005Mensajes 2005
Mensajes 2005reygo72
 
Patrimonio Mundial
Patrimonio MundialPatrimonio Mundial
Patrimonio Mundialguest1a25b91
 
Chuvas no Rio De Janeiro
Chuvas no Rio De JaneiroChuvas no Rio De Janeiro
Chuvas no Rio De JaneiroMonica Buriche
 
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01Isela Guerrero Pacheco
 
Symbaloo em bibliotecas escolares
Symbaloo em bibliotecas escolaresSymbaloo em bibliotecas escolares
Symbaloo em bibliotecas escolaresRBE Algarve
 
Designarte Usabil
Designarte UsabilDesignarte Usabil
Designarte UsabilDesignarte
 
Be Cdu Opac
Be Cdu OpacBe Cdu Opac
Be Cdu Opacsubranco
 
Pedacinhos Principezinho
Pedacinhos PrincipezinhoPedacinhos Principezinho
Pedacinhos Principezinhogueste1966c
 
Pela Internet Gilberto Gil( Ary E Eduardo)
Pela Internet  Gilberto  Gil( Ary E  Eduardo)Pela Internet  Gilberto  Gil( Ary E  Eduardo)
Pela Internet Gilberto Gil( Ary E Eduardo)arypowell
 
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - CInterfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - CPaulo Henrique Lerbach Rodrigues
 
Basta de Correntes
Basta de CorrentesBasta de Correntes
Basta de Correntesjomartg
 
Do romantismo à república
Do romantismo à repúblicaDo romantismo à república
Do romantismo à repúblicasilvartes
 

Viewers also liked (20)

Mensajes 2005
Mensajes 2005Mensajes 2005
Mensajes 2005
 
Conexao Sebrae - Fevereiro 2010
Conexao Sebrae - Fevereiro 2010Conexao Sebrae - Fevereiro 2010
Conexao Sebrae - Fevereiro 2010
 
Patrimonio Mundial
Patrimonio MundialPatrimonio Mundial
Patrimonio Mundial
 
Chuvas no Rio De Janeiro
Chuvas no Rio De JaneiroChuvas no Rio De Janeiro
Chuvas no Rio De Janeiro
 
Sociedad del conocimiento
Sociedad del conocimientoSociedad del conocimiento
Sociedad del conocimiento
 
Tribuna 1523
Tribuna 1523Tribuna 1523
Tribuna 1523
 
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
 
Onu+7ª+Sé[1]
Onu+7ª+Sé[1]Onu+7ª+Sé[1]
Onu+7ª+Sé[1]
 
Symbaloo em bibliotecas escolares
Symbaloo em bibliotecas escolaresSymbaloo em bibliotecas escolares
Symbaloo em bibliotecas escolares
 
Designarte Usabil
Designarte UsabilDesignarte Usabil
Designarte Usabil
 
Marketing Viral
Marketing ViralMarketing Viral
Marketing Viral
 
Be Cdu Opac
Be Cdu OpacBe Cdu Opac
Be Cdu Opac
 
Pedacinhos Principezinho
Pedacinhos PrincipezinhoPedacinhos Principezinho
Pedacinhos Principezinho
 
Pela Internet Gilberto Gil( Ary E Eduardo)
Pela Internet  Gilberto  Gil( Ary E  Eduardo)Pela Internet  Gilberto  Gil( Ary E  Eduardo)
Pela Internet Gilberto Gil( Ary E Eduardo)
 
Instituto Iniciativa Global Apresentação
Instituto Iniciativa Global   ApresentaçãoInstituto Iniciativa Global   Apresentação
Instituto Iniciativa Global Apresentação
 
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - CInterfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
 
Ficha inscripcion
Ficha inscripcionFicha inscripcion
Ficha inscripcion
 
Basta de Correntes
Basta de CorrentesBasta de Correntes
Basta de Correntes
 
Do romantismo à república
Do romantismo à repúblicaDo romantismo à república
Do romantismo à república
 
Espaço Calango
Espaço CalangoEspaço Calango
Espaço Calango
 

Similar to Integrando Flex Java e BlazeDS

Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe FlexRafael Nunes
 
T@rget trust desenvolvendo aplicações com flex
T@rget trust   desenvolvendo aplicações com flexT@rget trust   desenvolvendo aplicações com flex
T@rget trust desenvolvendo aplicações com flexTargettrust
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPauloRobertoBolsanel
 
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...clesiojunior
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Jeison Barros
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.Rogério Napoleão Jr.
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend frameworkMarcos Oliveira
 
J query apostila - noções básicas
J query   apostila - noções básicasJ query   apostila - noções básicas
J query apostila - noções básicasLuciano Marwell
 
JQuery - introdução ao
JQuery - introdução ao JQuery - introdução ao
JQuery - introdução ao Daniel Filho
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotationeduardo dias
 

Similar to Integrando Flex Java e BlazeDS (20)

Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe Flex
 
T@rget trust desenvolvendo aplicações com flex
T@rget trust   desenvolvendo aplicações com flexT@rget trust   desenvolvendo aplicações com flex
T@rget trust desenvolvendo aplicações com flex
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações Iniciais
 
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Jsf
JsfJsf
Jsf
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Jboss tutorial
Jboss tutorialJboss tutorial
Jboss tutorial
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.
 
Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend framework
 
J query apostila - noções básicas
J query   apostila - noções básicasJ query   apostila - noções básicas
J query apostila - noções básicas
 
JQuery - introdução ao
JQuery - introdução ao JQuery - introdução ao
JQuery - introdução ao
 
J query basico
J query basicoJ query basico
J query basico
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Cake Php
Cake PhpCake Php
Cake Php
 

Integrando Flex Java e BlazeDS

  • 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 Glassfish com.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. 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 e tranferência binária, este é o AMF. Adobe BlazeDS O BlazeDS é um produto OpenSource (Licença 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 através do protocola AMF que mostra ser 10x mais rápido que outros protocolos utilizados sobre HTTP em formato XML. Arquitetura Java+Flex+BlazeDS:
  • 3. Abaixo segue uma imagem de uma aplicação em Flex (Census) por JamesWard que mostra gráficamente o tempo gasto em transferências utilizando diversos tecnologias/métodos de comunicação. http://www.jamesward.com/census/
  • 4. - Criando o projeto Após fazer o download dos requisitos e configurar o servidor de aplicação vamos iniciar 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. Então na próxima altere “Java Sorce Directory” para “src_java” para nao haver confusõ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. Selecione J2EE e clique em Next Na próxima tela clique em “Finish”
  • 7. 3 – Agora novamente clique com o botão direito sobre o projeto e vá em propriedades, e siga os seguintes passos: Flex Builder Path Altere “Output folder” para WebContent Este diretório será responsável pelos arquivos gerados pelo flex como Html’s e SWF’s. Vá em “Library path” e remova a pasta “flex_libs” que não será mais necessária pois as bibliotecas irão ser armazenadas no WebContent(veremos mais à frente).
  • 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á sendo chamado.
  • 9. Agora vamos dizer ao compilador do Flex que existe um servidor de AMF levantado, para isso de um botão 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"
  • 10. 5 – Vamos agorar criar uma classe java para fazer a comunicação com o Flex através do BlazeDS Crie uma classe Java no diretório “src_java” com o nome OlaMundo public 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 flex possa acessa-la através de seu protocolo AMF. Dentro do diretorio WebContentWEB-INFflex estão contidos todos os XML’s de configurações 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>
  • 11. 6 – Acessando o servico por RemoteObject no Flex Abra seu MXML que foi criado no diretório “flex_src” e adicione o RemoteObject, um TextInput e um Label Repare que o RemoteObject tem um destination, este destination equivale ao mesmo 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 é chamado e sendo passado como parâmetro seu próprio texto O 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 os Templates HTML
  • 12. 8 – Agora abra o arquivo web.xml dentro do WebContentWEB-INF E 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 por padrão quando adicionado FlexNatureProject com o nome dado ao seu projeto, no meu caso ficou JavaFlex.html , mas se você deu outro nome ao projeto, ponha este nome. Indicará qual arquivo será aberto ao iniciar a aplicação. 9 – Clique com o botão direito sobre o projeto e dê um Build Project 10 – 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