0% encontró este documento útil (0 votos)
257 vistas17 páginas

Configuración de Flex con BlazeDS

Este documento describe cómo configurar una aplicación Flex con BlazeDS utilizando Tomcat. Explica los pasos para instalar BlazeDS, configurar el servidor Tomcat, crear una clase remota en Java y llamarla desde Flex, y compilar el proyecto.

Cargado por

Carmelo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
257 vistas17 páginas

Configuración de Flex con BlazeDS

Este documento describe cómo configurar una aplicación Flex con BlazeDS utilizando Tomcat. Explica los pasos para instalar BlazeDS, configurar el servidor Tomcat, crear una clase remota en Java y llamarla desde Flex, y compilar el proyecto.

Cargado por

Carmelo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Flex con BlazeDS

Ejemplo
Tomcat
• Utilizamos Tomcat para crear nuestra
aplicación Flex con BlazeDS
• Arrancas Tomcat
• Dentro del directorio webapps, creamos el
directorio de nuestro proyecto
– lo podemos llamar blazeds
Instalación BlazeDS
• Podemos bajar la distribución binaria
de BlazeDS desde Adobe y la
desempaquetamos en un directorio temporal.
• Copiamos el archivo blazeds.war al directorio
de nuestro proyecto y lo desempaquetamos.
• borramos ya el war
Configurar server.xml
• podemos configurar el fichero server.xml
– dentro de conf/server.xml
– vamos a la etiqueta dels host
– añadimos un nuevo contexto

– <Context path="/blazeds" docBase="blazeds" deb
ug="0" reloadable="true" />
Evitar errores SandBox
• Agregamos el archivo de
seguridad crossdomain.xml donde este el
directorio raíz de nuestro dominio
• debe contener

• <cross-domain-policy>
        <allow-access-from domain="*" />
</cross-domain-policy>
Remote Object en Java
• Podemos crear una clase en Java
– en el directorio WEB-INF/src
• import java.util.Date;
• public class EjemploJava {
•         public String getTime() {
                Date hora= new Date();
                return “la hora es " + hora;
        }
• }
• compilamos la clase java
– javac EjemploJava
– usando NetBeans, Jcreator…
• La copiamos al directorio classes.
• Fin lado del servidor
• Tenemos que declarar nuestra clase
agregando la etiqueta service en el fichero
– flex/Remoting-config.xml:
• <destination id="blazeds">
  <properties>
       <source>EjemploJava</source>
  </properties>
</destination>
• Del lado del cliente, necesitamos crear un
archivo de configuración services-config.xml
que más adelante se utilizará como un
parámetro del comando mxmlc que compila
nuestro código.
• <?xml version="1.0" encoding="UTF-8"?>
<services-config>
   <services>
•       <service id="remoting-service" class="flex.messaging.services.RemotingService" 
                    messageTypes="flex.messaging.messages.RemotingMessage">
         <adapters>
            <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true" />
         </adapters>
•          <!-- Con este id, llamamos al java desde flex -->
         <destination id="blazeds">
            <channels>
               <channel ref="my-amf" />
            </channels>
         </destination>
      </service>
•    </services>
•    <channels>
      <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
         <!-- Aqui tengo la ruta de donde se va a desplegar todo , proviene del war de flex -->
            <endpoint uri="http://localhost:8080/blazeds/messagebroker/amf"
                            class="flex.messaging.endpoints.AMFEndpoint"/>
      </channel-definition>
   </channels>
</services-config>
fichero.mxml en Flex
• <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*">
•         <mx:Script>
•                 <![CDATA[
•             import mx.controls.Alert;
•             import mx.rpc.events.FaultEvent;
•             import mx.rpc.events.ResultEvent;
•             // Esta función se llama cuando se llamo exitosamente a nuestro objeto:
•             public function onMethodResult(event:ResultEvent):void {
•                 bo.label = "Result "+event.result
•                 bo.label += "nDataType "+ typeof(event.result)
•       }
•                 ]]>
        </mx:Script>
•     <mx:RemoteObject id="ro" destination="blazeds" fault="Alert.show(event.fault.faultString,
'Error')" result="{onMethodResult(event)}">
•       <!-- Aquí declaramos todas las funciones que vamos a llamar del objeto Java -->
•       <mx:method name="getTime" result="{onMethodResult(event)}" />
•     </mx:RemoteObject>
•     <mx:Label id="bo" label="" click="ro.getTime()" />
• </mx:Application>
Compilación
• Lo compilamos con la siguiente línea de
comando:
• ~/flex/bin/mxmlc blazeds.mxml -services
"services-config.xml"
• Al ejecutar el mxml, veremos una etiqueta
vacia que al darle doble click, nos imprimirá la
hora del servidor.

También podría gustarte