Por: HernanRivas + 01.03.2008
Este es el primer problema que me surgió cuando instalé el Flex Builder 3. Por defecto trae como opción de control de versiones el CVS. Lo que no está mal, ya que al ser open source es una excelente opción.
Pero si les pasa como a mí y necesitan usar el mismo estándar en toda la empresa (el VSS, en mi caso), la cosa se complica.
Este mismo problema ya había surgido con la versión anterior de Flex Builder 3, el Flex Builder 2, donde la solución era instalar un plugin, el Java Developer Tools, y luego el del VSS. Pero este mismo método no me funcionó, porque no pude encontrar el plugin de Java entre los plugins que me ofrecía Flex Builder 3.
Mi solución fue optar por trabajar con Eclipse 3.3 y el plugin de Flex (que me costó bastante encontrar, link abajo). Luego de descargar ambos, instalé el plugin de VSS y todo anduvo de mil maravillas.
Pero como me quedé con ganas de usar Flex Builder 3 (por que no me quería dar por vencido, hasta donde sé, Flex Builder 3 y Eclipse son funcionalmente idénticos), copié todos los plugins que tenía en el Eclipse y los pegué (sin reemplazar nada) en la carpeta de plugins de Flex Builder 3.
Y funcionó, sin mayor problema. Lo único malo es que debería haber probado copiar los plugins uno por uno para ver cuál era exactamente el que tenía que copiar en un principio.
Conclusión: Si, como yo, se ven en la necesidad de usar el VSS, opten por Eclipse. Es más práctico.
* Descargar Elipse 3.3.2
* Descargar el plugin de VSS para Eclipse
Descargar el plugin de Flex 3 es más complicado y requiere estar registrado en Adobe. Lo que tienen que hacer es ir a adobe.com/downloads, seleccionar Flex 3 en las opciones y descargarlo. Por las dudas el link a la página de descarga, una vez logueados es esta.
Fte: http://www.cristalab.com/tips/53202/instalar-el-plugin-de-visual-source-safe-en-flex-builder-3
martes, 15 de abril de 2008
Control de versiones con Flex Builder 3 y SubVersion
Por: andresmaro + 05.03.2008
VSS (SourceSafe), CVS y SVN (SubVersion) son software de control de versiones. Muy útiles y a mi parecer indispensables en proyectos donde más de un desarrollador participa. Permite entre otras cosas llevar historial de los cambios hechos al proyecto en cada uno de sus ficheros.
No he usado SourceSafe, no puedo dar mi opinión, pero si he estado usando con mi equipo CVS y SVN SubVersion y con el cambio a Flex 3 tambien tuvimos un par de dolores de cabeza para instalar el plug-in de SubVersion, algo parecido a lo que cita HernanRivas en este post
Les dejo los pasos para instalar el plug-in en Flex Builder 3 de SubVersion:
* Help Menu
* Software Updates
* Find and Install
* Search for New Features to Install
* Click en Europa Discovery Site
* Escoger un Mirror
* Exapndir Europa Discovery Site
* Exapndir Java Development
* Seleccionar lo siguiente:
o Eclipse plug-in development Environment (PDE)
o Java Development Tools (JDT)
* Aceptar los términos y reiniciar Flex Builder 3
Luego se sigue el mismo proceso hasta "Search for New Features to Install",
* New Remote Site:
* Se agrega el sitio "Subversion" (o el nombre que se desee) y la url
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
* Se agrega el sitio "Conectores" (o el nombre que se desee) y la url
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
* Escoger un mirror si no está automático.
* Expandir "Conectores"
Seleccionar el paquete Subversive Connectors.
* Expandir "Subversion"
Seleccionar el paquete Subversive (Incubation).
Con esto queda listo el plug-in. Otro pequeño tip, si están detrás de un proxy-firewall deben darle acceso al puerto 3690 para poder trabajar con SVN.
Un buen host de control de versiones es www.assembla.com; para los que quieren empezar teniendo un servidor SVN remoto para proyectos privados, tiene una muy buena opción gratuita; y si el proyecto es abierto obviamente esta el Señor Google con code.google.com/hosting/. Y obviamente también pueden instalarlo localmente, más información.
Fte: http://www.cristalab.com/tips/53414/control-de-versiones-con-flex-builder-3-y-subversion
VSS (SourceSafe), CVS y SVN (SubVersion) son software de control de versiones. Muy útiles y a mi parecer indispensables en proyectos donde más de un desarrollador participa. Permite entre otras cosas llevar historial de los cambios hechos al proyecto en cada uno de sus ficheros.
No he usado SourceSafe, no puedo dar mi opinión, pero si he estado usando con mi equipo CVS y SVN SubVersion y con el cambio a Flex 3 tambien tuvimos un par de dolores de cabeza para instalar el plug-in de SubVersion, algo parecido a lo que cita HernanRivas en este post
Les dejo los pasos para instalar el plug-in en Flex Builder 3 de SubVersion:
* Help Menu
* Software Updates
* Find and Install
* Search for New Features to Install
* Click en Europa Discovery Site
* Escoger un Mirror
* Exapndir Europa Discovery Site
* Exapndir Java Development
* Seleccionar lo siguiente:
o Eclipse plug-in development Environment (PDE)
o Java Development Tools (JDT)
* Aceptar los términos y reiniciar Flex Builder 3
Luego se sigue el mismo proceso hasta "Search for New Features to Install",
* New Remote Site:
* Se agrega el sitio "Subversion" (o el nombre que se desee) y la url
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
* Se agrega el sitio "Conectores" (o el nombre que se desee) y la url
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
* Escoger un mirror si no está automático.
* Expandir "Conectores"
Seleccionar el paquete Subversive Connectors.
* Expandir "Subversion"
Seleccionar el paquete Subversive (Incubation).
Con esto queda listo el plug-in. Otro pequeño tip, si están detrás de un proxy-firewall deben darle acceso al puerto 3690 para poder trabajar con SVN.
Un buen host de control de versiones es www.assembla.com; para los que quieren empezar teniendo un servidor SVN remoto para proyectos privados, tiene una muy buena opción gratuita; y si el proyecto es abierto obviamente esta el Señor Google con code.google.com/hosting/. Y obviamente también pueden instalarlo localmente, más información.
Fte: http://www.cristalab.com/tips/53414/control-de-versiones-con-flex-builder-3-y-subversion
Integrar el compilador del SDK de Flex con el explorador
Por: neohunter + 21.05.2007
Con el SDK de flex, (especificamente el fichero mxmlc.exe) es posible compilar archivos SWF desde la linea de comandos de windows (DOS) teniendo un archivo de texto con el código Actionscript o MXML. Es seguro que si lo han usado se han terminado frustrando por la poca comodidad que brinda para compilar. Yo personalmente o hacía un acceso directo en cada proyecto o escribía la ruta completa del proyecto, que a veces era más largo y demorado que abrir flex por cualquier cambio minimo que hiciese. Y es que muchas veces prefiero simplemente trabajar en el bloc de notas, porque Mr Flex Builder se devora todos los recursos de mi compu (bueno, memoria).
Entonces pensé en integrarlo, aunque fuese de una manera sencilla, con el explorador de windows. Cosa que sin abrir flex, solo click derecho sobre el archivo y compilar
Para ser mas claros, que al dar click derecho sobre un MXML viera esto:
A mi personalmente me ha terminado encantando, solo es cuestión de hacer click derecho sobre el mxml sin necesidad de tener abierto el flex y compilar, y woala, se generara el archivo swf.
Eso sí es sencillo.
Los pasos para su instalación son los siguientes:
1. Bajar estos archivos necesarios.
2. Dar doble click al archivo de registro (reg.reg) que esta dentro del rar.
3. Copiar el archivo mxml.bat en c:\
Yo espero que salgan alternativas al Flex Builder (Cómo Flexible), solo he visto por allí una, pero no me convence aun. De todas formas estoy seguro que sera así. Mientras tanto espero que esto sea algo util. A mi me ha encantado, de verdad.
Fte: http://www.cristalab.com/tips/39671/integrar-el-compilador-del-sdk-de-flex-con-el-explorador
Con el SDK de flex, (especificamente el fichero mxmlc.exe) es posible compilar archivos SWF desde la linea de comandos de windows (DOS) teniendo un archivo de texto con el código Actionscript o MXML. Es seguro que si lo han usado se han terminado frustrando por la poca comodidad que brinda para compilar. Yo personalmente o hacía un acceso directo en cada proyecto o escribía la ruta completa del proyecto, que a veces era más largo y demorado que abrir flex por cualquier cambio minimo que hiciese. Y es que muchas veces prefiero simplemente trabajar en el bloc de notas, porque Mr Flex Builder se devora todos los recursos de mi compu (bueno, memoria).
Entonces pensé en integrarlo, aunque fuese de una manera sencilla, con el explorador de windows. Cosa que sin abrir flex, solo click derecho sobre el archivo y compilar
Para ser mas claros, que al dar click derecho sobre un MXML viera esto:
A mi personalmente me ha terminado encantando, solo es cuestión de hacer click derecho sobre el mxml sin necesidad de tener abierto el flex y compilar, y woala, se generara el archivo swf.
Eso sí es sencillo.
Los pasos para su instalación son los siguientes:
1. Bajar estos archivos necesarios.
2. Dar doble click al archivo de registro (reg.reg) que esta dentro del rar.
3. Copiar el archivo mxml.bat en c:\
Yo espero que salgan alternativas al Flex Builder (Cómo Flexible), solo he visto por allí una, pero no me convence aun. De todas formas estoy seguro que sera así. Mientras tanto espero que esto sea algo util. A mi me ha encantado, de verdad.
Fte: http://www.cristalab.com/tips/39671/integrar-el-compilador-del-sdk-de-flex-con-el-explorador
Flex Remoting con WebOrb y Flex
Algunas veces cuando estamos generando aplicaciones empresariales o de alto nivel, los Web Services nos pueden quedar cortos en cuanto desempeño, desarrollo, e incluso depuración de los mismos. Recordemos que los Web Services son mensajes SOAP basados en texto, y cuando la aplicación empieza a crecer en cuanto a cantidad de datos puede ser un problema para el cliente para "parsear" todo este XML y para el servidor el envio y generación del mismo. Para solventar este problema tenemos lo que conocemos como Remoting. Remoting o en nuestro caso Flex Remoting es capaz de transportar los datos con mayor eficiencia que los Web Services, ya que usa un formato binario (AMF) para transmitir datos entre el Flash Player y nuestro código en .NET. El protocolo AMF (Action Message Format) es un protocolo binario mucho mas liviano que los Web Services y en cuanto al poder y rendimiento es mucho mayor ya que podemos accesar directamente con esta tecnología a objetos remotos como dll (dynamic link libraries) construidas en .NET , es decir podemos consumir directamente los métodos que tengamos en nuestra dll,además que consume menos ancho de banda.
En este tutorial vamos a entender lo que es WebORB y sus características principales , desarrollaremos un componente (dll) para el acceso a los datos y lo daremos de alta en WebORB, una vez finalizado crearemos el front end en Flex para ver los datos.
1. Herramientas Necesarias
2. ¿Que es WebORB y para que me sirve?
3. Creación de nuestro componente en .NET
4. Front-End en Flex
5. Conclusión
Herramientas Necesarias
Para completar el tutorial con éxito necesitaremos algunas herramientas para trabajar con ellas. La primera es Visual C# 2005 Express Edition, para hacer nuestro componente o .NET dll , la segunda es WebORB versión 3.0.1.3 que es el servidor que me permitirá conectarme a mi dll y desde luego antes de instalar WebORB necesitamos instalado IIS (Internet Information Services) y por último SQL Server 2005 Express Edition . Ocuparemos la base de datos (Northwind) de ejemplo que viene en el .NET Framework 2.0 . Si no cuentas con SQL Server 2005 lo puedes hacer con Microsoft Access o con otro motor de base de datos, los conceptos son los mismos. Obviamente también Flex Builder.
¿Que es WebORB y para que me sirve?
WebORB es un servidor multiprotocolo que me permite conectar clientes Flex, Flash o AJAX a objetos .NET , es decir a dlls (dynamic link libraries) o Web Services. Esto quiere decir que mi Front -End se comunica directamente con mi Back-End. En el caso de Flex , utilizaremos el protocolo AMF3 (el cual explicamos con anterioridad y en esta versión 3 viene muy mejorado ), si utilizan Flash, estarían ocupando el protocolo AMF0. Algunas de sus características de manera sintetizada y de mayor interés para desarrolladores .NET serian la completa implementación de Flex Remoting (RPC), una implementación parcial de Flex Data Management Services (Adobe FDMS para Java parte de Flex Data Services), Seguridad ya que soporta un modelo a nivel código y a nivel servicio usando credenciales (basado en roles) que podemos controlar desde el panel de Administración (Management) o direcciones IP. Además el panel provee de una manera bastante sencilla en intuitiva el acceso seguro por namespace, clase o nombre de método, Flex Messaging Service (ya sea para publicación/subscripción o push de datos) basado en el protocolo RTMP (Real Time Message Protocol). En el momento de estar escribiendo este tutorial liberaron la versión 3.1.0.2, la cual ya me permite también trabajar con VB.NET, lo cual no podía en versiones anteriores porque solo codificaba con C#.
Este servidor viene en su última versión bastante completo y muy amigable para los que quieren empezar a conectar aplicaciones con Back Ends hechos en .NET, ya que cuenta con varias pestañas bastante intuitivas, donde nos dice que es WebORB y un esquema de como trabaja, otra pestaña de ejemplos ;esta parte es muy útil para desarrolladores nuevos ya que tiene además del código MXML del Front End, el código del Back (.NET) de una manera bastante bastante simple y el ejemplo funcionando, tiene otras pestañas como instalación , manejo, licencias, monitoreo, extensibilidad etc. Además cuenta con un generador de código ya sea para CAIRNGORM O ARP según sea nuestro caso y podemos descargarlo en formato zip para su posterior implementación en Flex.
Web Orb
Para descargar WebORB diriganse al siguiente link (recuerden que necesitamos instalado WebORB en nuestras computadoras para completar con éxito el tutorial)
Creación de nuestro componente en .NET
Vamos a crear nuestro componente de acceso a datos en Visual C# 2005 Express Edition. Lo primero que debemos hacer es dirigirnos a Archivo > Nuevo > Proyecto y Seleccionaremos Biblioteca de Clases. En la parte inferior, le asignaremos el nombre al componente y se llamara mifdll. Ustedes si así lo desean pueden llamar al componente como gusten. Primero empezaremos con el viejo método de hola mundo, lo que haremos es crear una clase y dentro de esta un método que me devuelva una simple cadena. El código debe verse de esta manera:
Por ahora es lo único que necesitaremos. Ahora vamos a realizar la compilación o generación del proyecto. Nos dirigimos al Menú Generar > Generar Solución o podemos con la tecla F6 efectuar esta tarea.
Generar solucion
Una vez generada nuestra dll vamos a hacer el "Deploy" en WebORB. Dirijámonos al panel de WebORB esto lo podemos hacer dirigiéndonos a Inicio > Programas > WebORB > WebORB Management Console. Una vez la consola abierta , seleccionaremos el panel de Deployment.
Consola webORb
Nos aparecerán debajo dos listas, la primera son los directorios virtuales en IIS y la segunda los directorios virtuales para WebORB. Para efectos de nuestro tutorial, vamos a poner nuestra dll en el directorio de WebORB. Existen dos maneras de poner nuestro componente en WebORB , la primera es manual es decir copiamos al directorio bin de nuestro sitio nuestro componente en .NET (en este mismo panel existe la descripción por si quieren hacer la operación manualmente) o con el botón "Deploy assembly". Demos click en "Deploy assembly". Ahora seleccionemos donde se encuentra nuestra dll y empezara a subir la dll al directorio de WebORB. Recuerden esto es solo por caso de ejemplo nosotros podemos tener nuestro directorio virtual.
Ahora probemos nuestro método, quizás se dirán bueno pues es hora entonces de hacer el Front-End. A decir verdad no ya que directamente en WebORB podemos probar nuestra dll!!!, ¿increible no?. Lo que haremos es lo siguiente. Me voy dirigir a la pestaña que se llama Management> Services y debajo de esta tengo una lista donde están los "Deployed Services", si no aparece nuestro componenet o dll lo que haremos es en esta lista , dar click en el botón de "Refresh" que se encuentra debajo de la misma. Nos deberá aparecer nuestro componente con sus métodos.
En esta lista puedo ver todos mis Servicios dados de alta y como mencionamos con anterioridad todos los métodos que estos tienen.
Web Orb Management
Probemos nuestro componente demos click en el método diHola y del lado derecho tengo activada una pestaña llamada Test Drive. Del lado derecho tengo un botón para invocar el servicio. Demos click en él y obtendremos lo siguiente:
Test drive
Si todo lo hicimos correctamente nos aparecerá despues de invocar el método el tipo y el valor de nuestra clase. Ahora vamos a implementar el método para el acceso a nuestra base de datos, eso nos implica que tenemos que modificar nuestro componente.
Regresemos a Visual C# Express Edition y codifiquemos lo siguiente:
En el código tenemos un método que se llama obtenClientes y que me regresa un DataTable y si nos damos cuenta es un poco parecido cuando vimos el tema de WebServices, es decir un método que me regresa un DataTable con la tabla "Customers". Lo que sigue es que compilemos nuestro componente y hagamos de nuevo el deploy en WebORB.
TIP
Como tip lo que les sugiero para no tener que estar haciendo el deploy cada vez en WebORB, en nuestro proyecto vamos a generar el resultado directamente en WebORB en la carpeta bin, es decir la dll compilada directamente en WebORB, esto lo conseguimos dirigiéndonos en Visual C# en el Menú Proyecto, Propiedades.. y posteriormente en la pestaña de Generar, del lado derecho nos aparece hasta abajo un recuadro de resultado. Demos click en Examinar y para efectos de nuestro tutorial seleccionaremos la carpeta de WebORB>bin.
Invocar
Listo ahora cada vez que compilemos nuestra dll estará directamente en WebORB.
Ahora probemos nuestro fabuloso componente en WebORB, lo que haremos es dar click en Services y daremos un click en el botón de abajo de Refresh. Una vez que hemos dado refresh nos aparecerá nuestro nuevo método que me regresara mi tabla de Datos.
Nuevo metodo
Ahora vamos a probar nuestro método. Si todo esta correcto demos click en el botón de Invoke y nos aparecerá en la parte inferior una carpeta con el Nombre de Result. Demos click en la carpeta y aparecerá en la parte de abajo un DataGrid con todos los registros de nuestra consulta. ¿Maravilloso no creen?
DataGrid
Ok listo, ahora vayamos a Flex a elaborar el Front-End, aunque a decir verdad WebORB también nos podria generar este trabajo , es decir el código mxml para ya no tener que escribir tanto; la intención del tutorial es que lo hagamos todo por el camino "largo" y después en los siguientes tutoriales utilizar todas las bondades de WebORB. Pero si quieren dar un vistazo solamente seleccionen en services la clase AccesoDatos y vean la pestaña Code Generator. El code Generator me generará dependiendo lo que necesite el código del cliente, e incluso con CAIRNGORM O ARP o simplemente Flex Remoting y podré descargarlo para su posterior implementación.
Front-End en Flex
Ahora lo que haremos será crear nuestro front-end en Flex. Lo que haremos es dirigirnos al Menú File> Flex Project y posteriormente Flex Data Services. Seleccionaremos la opción compilar la aplicación local en FLex Builder.
Fp
Daremos click en siguiente y desactivaremos la casilla use default local y seleccionaremos la carpeta de WebORB, todo se verá como muestra la figura
localhost weborb
Una vez hecho esto codifiquemos en Flex Builder el siguiente código:
Este código que tenemos aquí tiene una etiqueta con un botón que llamará al servicio remoto y posteriormente desplegará los resultados en el DataGrid, así que analicemos pues un poco el código para ver lo que esta sucediendo. Primeramente tengo una función llamada obtenDatosCliente que será activada o llamada cuando de click en el botón de Invocar. Lo más importante que debemos saber es que en la línea 26 teniendo declarado miobjetoRemoto y dentro del constructor el id del servicio llamado "GenericDestination", aunque este id no lo hemos asignado en la parte de Remoting o Flex Remoting, lo que haremos ahora es abrir el archivo remoting-config.xml que se encuentra en C:\Inetpub\wwwroot\weborb30\WEB-INF\flex y se tendrá que ver como lo tenemos a continuación.
Nota Importante:
Algunas veces cuando agregamos mas destinos o nodos o incluso cambiamos el nombre de nuestro destino para identificar nuestros componentes, y los invocamos nuevamente desde flex por alguna razón no funciona. La solución es simple, lo que debemos hacer es reiniciar la aplicación en IIS y listo. Como buena práctica definan bien sus nombres de destino para que no tengan que estar reiniciando en caso de que cambien el nombre :roll:
Una vez asignado el id en remoting-config.xml , este id es como flex se tiene que referir o identifica el nombre del servicio y en source es el espacio de nombres completo junto con la clase que vamos a invocar. Si tenemos algún error o el nombre no corresponde al momento de invocar nos aparecerá el error. Este error se hará visible gracias a que tenemos un listener que me manejara cualquier evento Fault y lo mostrara en una ventana de error (línea 35 ) y una función que precisamente me procesara el error.
Por último tenemos un método que me procesa los resultados, tenemos un datagrid con un id de "miDG", el cual en la función de resultados le asignamos un data Provider que es igual a los resutlados como ArrayCollection.
FlexGrid
Conclusión
WebORB me va a permitir conectar a mi Front-End en Flex con mi backEnd en .NET. Es por demás decir que WebORB son los Flex Data Services para .NET. Cuando generamos aplicaciones de alto rendimiento esta es la solución más viable (Les sugiero ver el post que Edgar Rivera puso en cuanto a rendimiento se refiere entre distintas plataformas, AJAX, Flex Remoting, etc pulsando aqui WebORB además tiene otras aplicaciones como servidor RTMP, ya que puedo hacer streaming etc. En el siguiente tutorial vamos a ver un manejo de datos con lo que conocemos WebORB Data Management.
He aqui que comienza la nueva saga de WebORB! :cool:
Fte: http://www.madeinflex.com/2007/05/25/flex-remoting-con-net-weborb-y-flex-i/
En este tutorial vamos a entender lo que es WebORB y sus características principales , desarrollaremos un componente (dll) para el acceso a los datos y lo daremos de alta en WebORB, una vez finalizado crearemos el front end en Flex para ver los datos.
1. Herramientas Necesarias
2. ¿Que es WebORB y para que me sirve?
3. Creación de nuestro componente en .NET
4. Front-End en Flex
5. Conclusión
Herramientas Necesarias
Para completar el tutorial con éxito necesitaremos algunas herramientas para trabajar con ellas. La primera es Visual C# 2005 Express Edition, para hacer nuestro componente o .NET dll , la segunda es WebORB versión 3.0.1.3 que es el servidor que me permitirá conectarme a mi dll y desde luego antes de instalar WebORB necesitamos instalado IIS (Internet Information Services) y por último SQL Server 2005 Express Edition . Ocuparemos la base de datos (Northwind) de ejemplo que viene en el .NET Framework 2.0 . Si no cuentas con SQL Server 2005 lo puedes hacer con Microsoft Access o con otro motor de base de datos, los conceptos son los mismos. Obviamente también Flex Builder.
¿Que es WebORB y para que me sirve?
WebORB es un servidor multiprotocolo que me permite conectar clientes Flex, Flash o AJAX a objetos .NET , es decir a dlls (dynamic link libraries) o Web Services. Esto quiere decir que mi Front -End se comunica directamente con mi Back-End. En el caso de Flex , utilizaremos el protocolo AMF3 (el cual explicamos con anterioridad y en esta versión 3 viene muy mejorado ), si utilizan Flash, estarían ocupando el protocolo AMF0. Algunas de sus características de manera sintetizada y de mayor interés para desarrolladores .NET serian la completa implementación de Flex Remoting (RPC), una implementación parcial de Flex Data Management Services (Adobe FDMS para Java parte de Flex Data Services), Seguridad ya que soporta un modelo a nivel código y a nivel servicio usando credenciales (basado en roles) que podemos controlar desde el panel de Administración (Management) o direcciones IP. Además el panel provee de una manera bastante sencilla en intuitiva el acceso seguro por namespace, clase o nombre de método, Flex Messaging Service (ya sea para publicación/subscripción o push de datos) basado en el protocolo RTMP (Real Time Message Protocol). En el momento de estar escribiendo este tutorial liberaron la versión 3.1.0.2, la cual ya me permite también trabajar con VB.NET, lo cual no podía en versiones anteriores porque solo codificaba con C#.
Este servidor viene en su última versión bastante completo y muy amigable para los que quieren empezar a conectar aplicaciones con Back Ends hechos en .NET, ya que cuenta con varias pestañas bastante intuitivas, donde nos dice que es WebORB y un esquema de como trabaja, otra pestaña de ejemplos ;esta parte es muy útil para desarrolladores nuevos ya que tiene además del código MXML del Front End, el código del Back (.NET) de una manera bastante bastante simple y el ejemplo funcionando, tiene otras pestañas como instalación , manejo, licencias, monitoreo, extensibilidad etc. Además cuenta con un generador de código ya sea para CAIRNGORM O ARP según sea nuestro caso y podemos descargarlo en formato zip para su posterior implementación en Flex.
Web Orb
Para descargar WebORB diriganse al siguiente link (recuerden que necesitamos instalado WebORB en nuestras computadoras para completar con éxito el tutorial)
Creación de nuestro componente en .NET
Vamos a crear nuestro componente de acceso a datos en Visual C# 2005 Express Edition. Lo primero que debemos hacer es dirigirnos a Archivo > Nuevo > Proyecto y Seleccionaremos Biblioteca de Clases. En la parte inferior, le asignaremos el nombre al componente y se llamara mifdll. Ustedes si así lo desean pueden llamar al componente como gusten. Primero empezaremos con el viejo método de hola mundo, lo que haremos es crear una clase y dentro de esta un método que me devuelva una simple cadena. El código debe verse de esta manera:
Por ahora es lo único que necesitaremos. Ahora vamos a realizar la compilación o generación del proyecto. Nos dirigimos al Menú Generar > Generar Solución o podemos con la tecla F6 efectuar esta tarea.
Generar solucion
Una vez generada nuestra dll vamos a hacer el "Deploy" en WebORB. Dirijámonos al panel de WebORB esto lo podemos hacer dirigiéndonos a Inicio > Programas > WebORB > WebORB Management Console. Una vez la consola abierta , seleccionaremos el panel de Deployment.
Consola webORb
Nos aparecerán debajo dos listas, la primera son los directorios virtuales en IIS y la segunda los directorios virtuales para WebORB. Para efectos de nuestro tutorial, vamos a poner nuestra dll en el directorio de WebORB. Existen dos maneras de poner nuestro componente en WebORB , la primera es manual es decir copiamos al directorio bin de nuestro sitio nuestro componente en .NET (en este mismo panel existe la descripción por si quieren hacer la operación manualmente) o con el botón "Deploy assembly". Demos click en "Deploy assembly". Ahora seleccionemos donde se encuentra nuestra dll y empezara a subir la dll al directorio de WebORB. Recuerden esto es solo por caso de ejemplo nosotros podemos tener nuestro directorio virtual.
Ahora probemos nuestro método, quizás se dirán bueno pues es hora entonces de hacer el Front-End. A decir verdad no ya que directamente en WebORB podemos probar nuestra dll!!!, ¿increible no?. Lo que haremos es lo siguiente. Me voy dirigir a la pestaña que se llama Management> Services y debajo de esta tengo una lista donde están los "Deployed Services", si no aparece nuestro componenet o dll lo que haremos es en esta lista , dar click en el botón de "Refresh" que se encuentra debajo de la misma. Nos deberá aparecer nuestro componente con sus métodos.
En esta lista puedo ver todos mis Servicios dados de alta y como mencionamos con anterioridad todos los métodos que estos tienen.
Web Orb Management
Probemos nuestro componente demos click en el método diHola y del lado derecho tengo activada una pestaña llamada Test Drive. Del lado derecho tengo un botón para invocar el servicio. Demos click en él y obtendremos lo siguiente:
Test drive
Si todo lo hicimos correctamente nos aparecerá despues de invocar el método el tipo y el valor de nuestra clase. Ahora vamos a implementar el método para el acceso a nuestra base de datos, eso nos implica que tenemos que modificar nuestro componente.
Regresemos a Visual C# Express Edition y codifiquemos lo siguiente:
En el código tenemos un método que se llama obtenClientes y que me regresa un DataTable y si nos damos cuenta es un poco parecido cuando vimos el tema de WebServices, es decir un método que me regresa un DataTable con la tabla "Customers". Lo que sigue es que compilemos nuestro componente y hagamos de nuevo el deploy en WebORB.
TIP
Como tip lo que les sugiero para no tener que estar haciendo el deploy cada vez en WebORB, en nuestro proyecto vamos a generar el resultado directamente en WebORB en la carpeta bin, es decir la dll compilada directamente en WebORB, esto lo conseguimos dirigiéndonos en Visual C# en el Menú Proyecto, Propiedades.. y posteriormente en la pestaña de Generar, del lado derecho nos aparece hasta abajo un recuadro de resultado. Demos click en Examinar y para efectos de nuestro tutorial seleccionaremos la carpeta de WebORB>bin.
Invocar
Listo ahora cada vez que compilemos nuestra dll estará directamente en WebORB.
Ahora probemos nuestro fabuloso componente en WebORB, lo que haremos es dar click en Services y daremos un click en el botón de abajo de Refresh. Una vez que hemos dado refresh nos aparecerá nuestro nuevo método que me regresara mi tabla de Datos.
Nuevo metodo
Ahora vamos a probar nuestro método. Si todo esta correcto demos click en el botón de Invoke y nos aparecerá en la parte inferior una carpeta con el Nombre de Result. Demos click en la carpeta y aparecerá en la parte de abajo un DataGrid con todos los registros de nuestra consulta. ¿Maravilloso no creen?
DataGrid
Ok listo, ahora vayamos a Flex a elaborar el Front-End, aunque a decir verdad WebORB también nos podria generar este trabajo , es decir el código mxml para ya no tener que escribir tanto; la intención del tutorial es que lo hagamos todo por el camino "largo" y después en los siguientes tutoriales utilizar todas las bondades de WebORB. Pero si quieren dar un vistazo solamente seleccionen en services la clase AccesoDatos y vean la pestaña Code Generator. El code Generator me generará dependiendo lo que necesite el código del cliente, e incluso con CAIRNGORM O ARP o simplemente Flex Remoting y podré descargarlo para su posterior implementación.
Front-End en Flex
Ahora lo que haremos será crear nuestro front-end en Flex. Lo que haremos es dirigirnos al Menú File> Flex Project y posteriormente Flex Data Services. Seleccionaremos la opción compilar la aplicación local en FLex Builder.
Fp
Daremos click en siguiente y desactivaremos la casilla use default local y seleccionaremos la carpeta de WebORB, todo se verá como muestra la figura
localhost weborb
Una vez hecho esto codifiquemos en Flex Builder el siguiente código:
Este código que tenemos aquí tiene una etiqueta con un botón que llamará al servicio remoto y posteriormente desplegará los resultados en el DataGrid, así que analicemos pues un poco el código para ver lo que esta sucediendo. Primeramente tengo una función llamada obtenDatosCliente que será activada o llamada cuando de click en el botón de Invocar. Lo más importante que debemos saber es que en la línea 26 teniendo declarado miobjetoRemoto y dentro del constructor el id del servicio llamado "GenericDestination", aunque este id no lo hemos asignado en la parte de Remoting o Flex Remoting, lo que haremos ahora es abrir el archivo remoting-config.xml que se encuentra en C:\Inetpub\wwwroot\weborb30\WEB-INF\flex y se tendrá que ver como lo tenemos a continuación.
Nota Importante:
Algunas veces cuando agregamos mas destinos o nodos o incluso cambiamos el nombre de nuestro destino para identificar nuestros componentes, y los invocamos nuevamente desde flex por alguna razón no funciona. La solución es simple, lo que debemos hacer es reiniciar la aplicación en IIS y listo. Como buena práctica definan bien sus nombres de destino para que no tengan que estar reiniciando en caso de que cambien el nombre :roll:
Una vez asignado el id en remoting-config.xml , este id es como flex se tiene que referir o identifica el nombre del servicio y en source es el espacio de nombres completo junto con la clase que vamos a invocar. Si tenemos algún error o el nombre no corresponde al momento de invocar nos aparecerá el error. Este error se hará visible gracias a que tenemos un listener que me manejara cualquier evento Fault y lo mostrara en una ventana de error (línea 35 ) y una función que precisamente me procesara el error.
Por último tenemos un método que me procesa los resultados, tenemos un datagrid con un id de "miDG", el cual en la función de resultados le asignamos un data Provider que es igual a los resutlados como ArrayCollection.
FlexGrid
Conclusión
WebORB me va a permitir conectar a mi Front-End en Flex con mi backEnd en .NET. Es por demás decir que WebORB son los Flex Data Services para .NET. Cuando generamos aplicaciones de alto rendimiento esta es la solución más viable (Les sugiero ver el post que Edgar Rivera puso en cuanto a rendimiento se refiere entre distintas plataformas, AJAX, Flex Remoting, etc pulsando aqui WebORB además tiene otras aplicaciones como servidor RTMP, ya que puedo hacer streaming etc. En el siguiente tutorial vamos a ver un manejo de datos con lo que conocemos WebORB Data Management.
He aqui que comienza la nueva saga de WebORB! :cool:
Fte: http://www.madeinflex.com/2007/05/25/flex-remoting-con-net-weborb-y-flex-i/
lunes, 14 de abril de 2008
WEBORB
WebOrb es la version gratuita para el LiveCycle Data Services, permite objetos remotos.
http://www.themidnightcoders.com/weborb/
El LiveCycle Data Services contiene un remote objects que son gratuitos, lo que es de pago es el acceso a traves de jdbc.
http://www.themidnightcoders.com/weborb/
El LiveCycle Data Services contiene un remote objects que son gratuitos, lo que es de pago es el acceso a traves de jdbc.
martes, 8 de abril de 2008
Ejemplo de BlazeDS
Este tutoriel se muestra cómo crear una aplicación de gato en Flex a l’ del servicio de messaging de BlazeDS.
blazeDS
D’abord pueden cargar a distancia aquí a BlazeDS. Tienen en cuenta que las fuentes están tan disponibles :)
Configuración servidor
1 - en su directorio Blazeds, abren el fichero WEB-INF/flex/messaging-config.xml en un editor de texto. Si utilizan a BlazeDS con el servidor Tomcat integrado, a l’application Red BlazeDS se sitúa aquí: “install_dir/tomcat/webapps”. El fichero messaging-config.xml contiene los parámetros de configuración para el Messaging Servicio. Si abren el fichero services-config.xml del mismo directorio, verán que el fichero “messaging-config.xml” se incluye por referencia en este fichero. El fichero “services-config.xml” permite un configurationhaut nivel de BlazeDS. Generalmente, él referencia en este fichero de los ficheros de configuración para definir servicios específicos, como el messaging. Él definido también de los parámetros sistemas como los “messaging channels” y las dificultades de seguridad en este fichero.
2 - en el fichero messaging-config.xml, exactamente antes del l’élément , añaden l’élément siguiente y salvaguardan el fichero:
< destino id=”chat”/>
3 - el destino en el servidor definido l’endroit dónde los clientes Flex van a ser publicados y a qué clientes Flex van a poder recibir dado que se publicó los mensajes. Tienen en cuenta qu’il allí tiene un channel por defecto nombrado my-polling-amf configurado en el fichero messaging-config.xml. BlazeDS utiliza los “channels” para enviar y recibir los datos entre los clientes Flex y el servidor. El channel por defecto se define en el fichero services-config.xml y se hace referencia solamente en el fichero messaging-config.xml. Este channel particular utiliza la Acción Mensaje Formato (AMF) and investigación al servidor para obtener los nuevos mensajes que llegan a su destino. Además de channels de “sondage”, BlazeDS proporcionado también de los channels que mantienen la conexión entre los clientes y el servidor y permiten difundir flujos de datos (streaming) entre ellos.
4 - empiezan o vuelven a arrancar su aplicación servidor BlaseDS.
Desarrollo del lado Cliente en Flex
1 - en el Flex Builder 3, crear un nuevo proyecto BlazeDS como se describe aquí: http://learn.adobe.com/…
2 - nombran este proyecto chat1.
3 - en el fichero chat1.mxml que el Flex Builder creó, van a crear l’application cliente en Flex que podrá publicar mensajes hacia el gato de destino y también recibir los mensajes procedente del destino.
4 - exactamente antes del l’élément < mx:Application > en el fichero chat1.mxml, añaden un elemento < mx:Script > vacia. Pueden hacer eso copiando el siguiente código:
5 - exactamente antes del l’élément , añade el código MXML siguiente. Este código creado un Productor de mensaje y un Cliente. El Productor envía los mensajes hacia el destino y el cliente suscrito y recibe los mensajes que se envían al destino. En esta aplicación, él creado los objetos Productor y un Cliente en MXML, pero como la mayoría de los objetos Flex, pueden eventualmente crearlos en ActionScript.
< mx:Consumer id=”consumer” destination=”chat” message=”messageHandler(event.message)”/>
< mx:Producer id=”producer” destination=”chat”/>
6 - exactamente por debajo de l’élément < mx:Cons >, añaden el código MXML siguiente. Este código creado l’inter usuario para entender los mensajes, enviarlos, y ver los mensajes recibidos. El Grupo de expertos organiza los objetos niños qu’il contiene. El ControlBar también se utiliza para la disposición. El TextArea sirve para indicar los mensajes recibidos en el destino. El control TextInput permite entender los mensajes. Utilizan a continuación el control Button para enviar los mensajes hacia el destino.
< mx:Panel title=”Chat” width=”100%” height=”100%” >
< mx:TextArea id=”log” width=”100%” height=”100%”/>
< mx:ControlBar >
< mx:TextInput id=”msg” width=”100%” enter=”send()”/>
< mx:Button label=”Send B” click=”send()”/>
7 - copiar a continuación el código ActionScript siguiente bajo la sección CDATA de l’élément < mx:Script >:
importaciones mx.messaging.messages.AsyncMessage;
importaciones mx.messaging.messages.IMessage;
private function send():void{
var message:IMessage = new AsyncMessage ();
message.body.chatMessage = msg.text;
producer.send (mensaje);
msg.text = “”;
private function messageHandler(message:IMessage):void{
log.text = message.body.chatMessage “n”;
}
Este código permite de:
* Importar la clase AsyncMessage y l’inter IMessage, que se utiliza en el método send ().
* Crear el método send () que appellée en el chasquido sobre el control Button. Este método creado un nuevo AsyncMessage y le asigna una variable mensaje que está del tipo IMessage . Eso definido el valor de la propiedad message.body.chatMessage con el valor de msg.text - el texto del control TextInput. Eso llama a continuación el método send () del Productor para enviar el mensaje, y vaciar la propiedad Text del control TextInput.
* Creado el método para recuperar l’évènement messageHan (). Este método recupera l’évènement “message” cuando l’objet Cliente recibe el mensaje del destino. Este método indica el texto de message.body.chatMessage en la propiedad log.text - del control TextArea.
* Nota: Porque el método send () toma a un IMessage como argumento en este ejemplo vamos explícitamente a caracterizar a AsyncMessage hacia l’inter IMessage que se aplica. Si no quieren hacer eso, llaman producer.send () con un AsyncMessage, la conversión s’effectuera automáticamente.
8 - añaden los atributos MXML siguientes a l’élément < mx:Application > para que el Cliente Flex suscriba al destino en el comienzo de l’application:
creationComplete=”consumer.subscribe()”
9 - L’élément mx:Application debería ahora asemejar a eso:
< mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
creationComplete=”consumer.subscribe()” >
¡Se termina ahora el código MXML!
10 - garantizan que el servidor BlazeDS es en marcha.
11 - compilan y lanzan l’application cliente con el Flex Builder haciendo “Run > Run” en la barra de carta.
12 - abren el mismo URL en un segundo navegante.
13 - entran un mensaje en una de las dos ventanas y debería aparecer en l’a ventana.
¡Y aquí para nuestra primera aplicación Adobe Flex que utiliza BlazeDS !
Pronto pondría un nuevo tuto en línea para mostrarles cómo generar red servicios con BlazeDS…
Fuente: Adobe Learn
Fte: http://www.flex-info.fr/es/tuto-blazeds-creer-une-application-de-messaging-en-flex-avec-blaseds/20080312/
blazeDS
D’abord pueden cargar a distancia aquí a BlazeDS. Tienen en cuenta que las fuentes están tan disponibles :)
Configuración servidor
1 - en su directorio Blazeds, abren el fichero WEB-INF/flex/messaging-config.xml en un editor de texto. Si utilizan a BlazeDS con el servidor Tomcat integrado, a l’application Red BlazeDS se sitúa aquí: “install_dir/tomcat/webapps”. El fichero messaging-config.xml contiene los parámetros de configuración para el Messaging Servicio. Si abren el fichero services-config.xml del mismo directorio, verán que el fichero “messaging-config.xml” se incluye por referencia en este fichero. El fichero “services-config.xml” permite un configurationhaut nivel de BlazeDS. Generalmente, él referencia en este fichero de los ficheros de configuración para definir servicios específicos, como el messaging. Él definido también de los parámetros sistemas como los “messaging channels” y las dificultades de seguridad en este fichero.
2 - en el fichero messaging-config.xml, exactamente antes del l’élément , añaden l’élément siguiente y salvaguardan el fichero:
< destino id=”chat”/>
3 - el destino en el servidor definido l’endroit dónde los clientes Flex van a ser publicados y a qué clientes Flex van a poder recibir dado que se publicó los mensajes. Tienen en cuenta qu’il allí tiene un channel por defecto nombrado my-polling-amf configurado en el fichero messaging-config.xml. BlazeDS utiliza los “channels” para enviar y recibir los datos entre los clientes Flex y el servidor. El channel por defecto se define en el fichero services-config.xml y se hace referencia solamente en el fichero messaging-config.xml. Este channel particular utiliza la Acción Mensaje Formato (AMF) and investigación al servidor para obtener los nuevos mensajes que llegan a su destino. Además de channels de “sondage”, BlazeDS proporcionado también de los channels que mantienen la conexión entre los clientes y el servidor y permiten difundir flujos de datos (streaming) entre ellos.
4 - empiezan o vuelven a arrancar su aplicación servidor BlaseDS.
Desarrollo del lado Cliente en Flex
1 - en el Flex Builder 3, crear un nuevo proyecto BlazeDS como se describe aquí: http://learn.adobe.com/…
2 - nombran este proyecto chat1.
3 - en el fichero chat1.mxml que el Flex Builder creó, van a crear l’application cliente en Flex que podrá publicar mensajes hacia el gato de destino y también recibir los mensajes procedente del destino.
4 - exactamente antes del l’élément < mx:Application > en el fichero chat1.mxml, añaden un elemento < mx:Script > vacia. Pueden hacer eso copiando el siguiente código:
< mx:Script >
]]>
5 - exactamente antes del l’élément , añade el código MXML siguiente. Este código creado un Productor de mensaje y un Cliente. El Productor envía los mensajes hacia el destino y el cliente suscrito y recibe los mensajes que se envían al destino. En esta aplicación, él creado los objetos Productor y un Cliente en MXML, pero como la mayoría de los objetos Flex, pueden eventualmente crearlos en ActionScript.
< mx:Consumer id=”consumer” destination=”chat” message=”messageHandler(event.message)”/>
< mx:Producer id=”producer” destination=”chat”/>
6 - exactamente por debajo de l’élément < mx:Cons >, añaden el código MXML siguiente. Este código creado l’inter usuario para entender los mensajes, enviarlos, y ver los mensajes recibidos. El Grupo de expertos organiza los objetos niños qu’il contiene. El ControlBar también se utiliza para la disposición. El TextArea sirve para indicar los mensajes recibidos en el destino. El control TextInput permite entender los mensajes. Utilizan a continuación el control Button para enviar los mensajes hacia el destino.
< mx:Panel title=”Chat” width=”100%” height=”100%” >
< mx:TextArea id=”log” width=”100%” height=”100%”/>
< mx:ControlBar >
< mx:TextInput id=”msg” width=”100%” enter=”send()”/>
< mx:Button label=”Send B” click=”send()”/>
7 - copiar a continuación el código ActionScript siguiente bajo la sección CDATA de l’élément < mx:Script >:
importaciones mx.messaging.messages.AsyncMessage;
importaciones mx.messaging.messages.IMessage;
private function send():void{
var message:IMessage = new AsyncMessage ();
message.body.chatMessage = msg.text;
producer.send (mensaje);
msg.text = “”;
private function messageHandler(message:IMessage):void{
log.text = message.body.chatMessage “n”;
}
Este código permite de:
* Importar la clase AsyncMessage y l’inter IMessage, que se utiliza en el método send ().
* Crear el método send () que appellée en el chasquido sobre el control Button. Este método creado un nuevo AsyncMessage y le asigna una variable mensaje que está del tipo IMessage . Eso definido el valor de la propiedad message.body.chatMessage con el valor de msg.text - el texto del control TextInput. Eso llama a continuación el método send () del Productor para enviar el mensaje, y vaciar la propiedad Text del control TextInput.
* Creado el método para recuperar l’évènement messageHan (). Este método recupera l’évènement “message” cuando l’objet Cliente recibe el mensaje del destino. Este método indica el texto de message.body.chatMessage en la propiedad log.text - del control TextArea.
* Nota: Porque el método send () toma a un IMessage como argumento en este ejemplo vamos explícitamente a caracterizar a AsyncMessage hacia l’inter IMessage que se aplica. Si no quieren hacer eso, llaman producer.send () con un AsyncMessage, la conversión s’effectuera automáticamente.
8 - añaden los atributos MXML siguientes a l’élément < mx:Application > para que el Cliente Flex suscriba al destino en el comienzo de l’application:
creationComplete=”consumer.subscribe()”
9 - L’élément mx:Application debería ahora asemejar a eso:
< mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
creationComplete=”consumer.subscribe()” >
¡Se termina ahora el código MXML!
10 - garantizan que el servidor BlazeDS es en marcha.
11 - compilan y lanzan l’application cliente con el Flex Builder haciendo “Run > Run” en la barra de carta.
12 - abren el mismo URL en un segundo navegante.
13 - entran un mensaje en una de las dos ventanas y debería aparecer en l’a ventana.
¡Y aquí para nuestra primera aplicación Adobe Flex que utiliza BlazeDS !
Pronto pondría un nuevo tuto en línea para mostrarles cómo generar red servicios con BlazeDS…
Fuente: Adobe Learn
Fte: http://www.flex-info.fr/es/tuto-blazeds-creer-une-application-de-messaging-en-flex-avec-blaseds/20080312/
Flex Data Services 2
Como comentó Alberto en el anterior post, por fin podemos colgar las charlas celebradas en MIF ONLINE I el pasado 18 de Noviembre.
En mi caso, la charla estaba dedicada a Flex Data Services 2, la aplicación Java de servidor que permite inyectarle un poco de mágia a nuestras aplicaciones Flex dandonos la posibilidad de crear aplicaciones colaborativas, con manejo de datos avanzados, mensajería y comunicación en tiempo real a los clientes conectados, entre otras cosas...
FDS2 en ejemplos
La charla se centra en introducir los conceptos que hacen de Flex Data Services 2 una opción a tener muy en cuenta a la hora de panificar nuestras soluciones. El ejemplo principal (UserSoap Demo) muestra la mayoría de las características de FDS en acción. Hay que tener en cuenta que el código de la demo está pensado con la intención de mostrar la forma más simple de crear las funcionalidades y no se han considerado ningún tipo de arquitectura o estructura (que sería necesaria) en aplicaciones de mayor escala, ya que no era el objetivo de esta charla pero que si lo será en futuras reuniones.
A continuación la relación de enlaces correspondientes a esta charla:
* La grabación de la charla: FDS2 en ejemplos.
* Las transparencias de la charla (formato power point): FDS2 en ejemplos (slides)
* Los archivos de la aplicación de ejemplo UserSoap: UserSoap Demo. Una demo creada con Adobe Captivate 2 sobre esta demo se puede ver aquí.
Para instalar la demo UserSoap:
1. Crear la base de datos "miffds" en MySQL y usar el script de base de datos "miffds.sql", incluido en la distribución.
2. Usar como esqueleto el archivo "flex.war" que viene con la distribución de FDS2 descomprimiendolo en el disco duro local.
3. Copiar el contenido de la carpeta "flex" de esta distribución en "WEB-INF/flex" sobreescribiendo los 3 xmls que ya existen en dicha carpeta.
4. Compilar las clases java de la carpeta "src" y copiar el resultado a "WEB-INF/classes" respetando la estrucuta de paquetes. Copiar también el fichero "flexfds.properties" de src en la misma carpeta.
5. Crear un proyecto Flex en Flex Builder y copiar el contenido de la carpeta "UserSoap" en dicho proyecto. (Nota: Para compilar este proyecto es necesario el componente Spring Graph de Mark Shepherd). Puedes añadir el SWC a este proyecto para compilarlo.
6. Añade los archivos resultantes (html, SWF,...) a tu proyecto FDS y despliega el war resultante en un servidor de aplicaciones Java.
Nota: Si usas Tomcat, debes de instalar JOTM de Objectweb (una implementación de JTA), debido a que este contenedor de servlets no soporta transaccionalidad. Si usas la versión 5.5 de Tomcat, añade el archivo "context.xml" de la carpeta "META-INF" en la carpeta META-INF de tu aplicación FDS.
Fte: http://www.madeinflex.com/2006/12/20/fds2-en-ejemplos-mif-online-i/
En mi caso, la charla estaba dedicada a Flex Data Services 2, la aplicación Java de servidor que permite inyectarle un poco de mágia a nuestras aplicaciones Flex dandonos la posibilidad de crear aplicaciones colaborativas, con manejo de datos avanzados, mensajería y comunicación en tiempo real a los clientes conectados, entre otras cosas...
FDS2 en ejemplos
La charla se centra en introducir los conceptos que hacen de Flex Data Services 2 una opción a tener muy en cuenta a la hora de panificar nuestras soluciones. El ejemplo principal (UserSoap Demo) muestra la mayoría de las características de FDS en acción. Hay que tener en cuenta que el código de la demo está pensado con la intención de mostrar la forma más simple de crear las funcionalidades y no se han considerado ningún tipo de arquitectura o estructura (que sería necesaria) en aplicaciones de mayor escala, ya que no era el objetivo de esta charla pero que si lo será en futuras reuniones.
A continuación la relación de enlaces correspondientes a esta charla:
* La grabación de la charla: FDS2 en ejemplos.
* Las transparencias de la charla (formato power point): FDS2 en ejemplos (slides)
* Los archivos de la aplicación de ejemplo UserSoap: UserSoap Demo. Una demo creada con Adobe Captivate 2 sobre esta demo se puede ver aquí.
Para instalar la demo UserSoap:
1. Crear la base de datos "miffds" en MySQL y usar el script de base de datos "miffds.sql", incluido en la distribución.
2. Usar como esqueleto el archivo "flex.war" que viene con la distribución de FDS2 descomprimiendolo en el disco duro local.
3. Copiar el contenido de la carpeta "flex" de esta distribución en "WEB-INF/flex" sobreescribiendo los 3 xmls que ya existen en dicha carpeta.
4. Compilar las clases java de la carpeta "src" y copiar el resultado a "WEB-INF/classes" respetando la estrucuta de paquetes. Copiar también el fichero "flexfds.properties" de src en la misma carpeta.
5. Crear un proyecto Flex en Flex Builder y copiar el contenido de la carpeta "UserSoap" en dicho proyecto. (Nota: Para compilar este proyecto es necesario el componente Spring Graph de Mark Shepherd). Puedes añadir el SWC a este proyecto para compilarlo.
6. Añade los archivos resultantes (html, SWF,...) a tu proyecto FDS y despliega el war resultante en un servidor de aplicaciones Java.
Nota: Si usas Tomcat, debes de instalar JOTM de Objectweb (una implementación de JTA), debido a que este contenedor de servlets no soporta transaccionalidad. Si usas la versión 5.5 de Tomcat, añade el archivo "context.xml" de la carpeta "META-INF" en la carpeta META-INF de tu aplicación FDS.
Fte: http://www.madeinflex.com/2006/12/20/fds2-en-ejemplos-mif-online-i/
Introduccion a Flex Data Services 2 (Live Cycle Data Services)
Nota: Actualmente Flex Data Services ha cambiado su nombre por Live Cycle Data Services
¿Qué es Flex Data Services 2?¿Para que sirve?¿Qué nos aporta?. Estas y otras muchas preguntas seguro que han pasado por la cabeza de aquellas personas fascinadas por las nuevas posibilidades que aporta Flex 2. En este artículo intentaremos dar respuesta a muchas de ellas.
Quizá FDS2 sea la pieza más valorada para aquellos que llevamos años aprendiendo a dominar el arte de la creación de aplicaciones RIA(Rich Internet Applications) debido a que resuelve muchos de los problemas que hemos ido encontrando por el camino y que hemos sufrido durante años. FDS2 aporta un workflow realmente sencillo y fácil de manejar a la hora de abordar un proyecto RIA. ¿Es posible crear RIAs sin FDS2? La respuesta es que si, pero las posibilidades del producto final no serán las mismas sin esta pieza del rompecabezas. Digamos que el grado de "riqueza" de nuestro software no será el mismo, ya que añade servicios y características directamente a nuestro producto sin necesidad de hacer practicamente nada. Por tanto, la sencillez que aporta FDS2 significa productividad y menores tiempos de desarrollo. Algo que puede ser muy significativo a la hora de planificar el coste de un proyecto. Al fin y al cabo La productividad es ahorro de dinero, y este es un lenguaje que todo responsable de un departamento de TI entiende a la perfección.
1. ¿Que es FDS2 y para que sirve?
2. RemoteObjects
3. Flex Message Service
4. Flex Data Management Service
5. Resumiendo
6. Licencias
¿Que es FDS2 y para que sirve?
Flex Data Services 2 es básicamente una aplicación Web Java (para que nos entendamos, un .war) bastante avanzada, que se instala y ejecuta en un servidor de aplicaciones (como pueden ser JOnAS, JBoss o WebLogic) como cualquier otra aplicación web. También puede funcionar en un contenedor de Servlets como Tomcat, aunque para hacer funcionar todas las características, como los Data Management Services, es necesario instalar JOTM. FDS2 es la capa intermedia que actua a modo de pegamento entre los clientes Flex y los sistemas de backend a los que seguramente tendremos que acceder en nuestras soluciones RIA(tales como LDAP, RDBMS, Sistemas de ficheros, Servidores de correo, etc...), exponiendo dichos sistemas mediante una arquitectura SOA pura.

Flex Data Services 2 - Arquitectura J2EE
Esta aplicación web nos aisla de muchos de los problemas de integración que surgen al construir Rich Internet Applications y aporta las siguientes características:
* Remote Objects: Ofrecen la capacidad de hablar con clases java directamente mediante el nuevo protocolo AMF3. Esta es la parte menos novedosa ya que se trata de la evolución del antiguo Flash Remoting. Es decir, programación orientada a llamadas remotas (RPCs).
* Flex Message Service: La arquitectura de FDS2 está orientada al mensaje y combinada con el potencial del protocolo RTMP (Real Time Message Protocol) para comunicaciones en tiempo real. Esto nos permite hacer aplicaciones de colaboración en tiempo real y "data push" a todos los clientes Flex conectados.
* Flex Data Management Service: Introduce en las RIAs la "programación orientada a datos" y la persistencia de estos en tiempo real incluso a nivel de cliente. FDMS está diseñado para que los componentes se comuniquen de forma directa con el servidor realizando las tareas CRUD más básicas (y otras más complejas como paginación, relución de conflictos,etc...) sin que nosotros tengamos que programar prácticamente nada y con la ventaja añadida del refresco de datos en todos los clientes Flex en tiempo real.
Después de años de experiencia diseñando software para construir RIAs, Adobe ha sabido crear un producto que no solo aporta nuevas posibilidades inovadoras (como la posibilidad de hacer "push" de datos al cliente o la orientación a datos), si no que simplifica las ya existentes haciendonos la vida más fácil a los que trabajamos día a día con la tecnología.
Veamos cada una de las características con más detenimiento...
RemoteObjects
Los RemoteObjects (ROs) son uno de los tres tipos de comunicación RPC en Flex. Los otros dos tipos son los componentes HTTPService (get, post y xml sobre HTTP) y WebService (servicios web basados en SOAP), los cuales forman parte del SDK gratis de Flex 2 y no necesitan de FDS2.
Hasta que salió FDS2, Los ROs eran la mejor forma de integración con el servidor. De hecho es la forma que utilizan las RIAs más actuales basadas en Flash o Flex debido a que permite hablar directamente con clases o servicios Java y pasar jerarquias de objetos entre capas (mapeo de clases AS3-Java). Gracias al protocolo AMF (ActionScript Message Format), el desarrollador puede abstraerse de la serialización y deserialización tanto en cliente como en servidor enfocandose en resolver el problema de negocio que tenga entre manos.
Un punto fundamental del exito de los ROs, sobre los Web Services basados en SOAP, es el rendimiento que ofrecen debido a que la capa de transporte está muy optimizada ya que AMF es un protocolo binario en contraposición al formato textual de un mensaje SOAP. Esto se hace evidente cuando el volumen de datos es elevado y donde AMF no tiene competencia. Por último FDS2 soporta el nuevo AMF3 cuyo rendimiento y capacidades son superiores al antiguo AMF0 usado en productos más antiguos como Flash Remoting, OpenAMF o AMFPHP.
Hasta aqui no hay nada que no conociesemos de otras versiones de Flash lo interesante o novedos comienza a partir de aquí...
Flex Message Service
El servicio de mensajería de Flex es el corazón del nuevo FDS2 y permite crear una nueva generación de RIAs colaborativas que intercambian datos en tiempo real (el ejemplo más básico sería una aplicación de chat). Gracias a la nueva arquitectura de publicación-subscripción orientada al mensaje los datos fluyen entre cliente y servidor permitiendo actualizar todos los clientes conectados mediante "push" de datos a dichos clientes (es decir la comunicación se realiza desde el servidor al cliente, al contrario de como estamos acostumbrados).

Flex Message Service - Publicación - Subscripción
El "push" de datos al cliente es posible gracias al protocolo RTMP (Real Time Message Protocol) conocido por muchos gracias a otros productos de Adobe como Flash Media Server 2. La diferencia entre FDS2 y FMS2 es que el primero solo permite usar RTMP para enviar datos, mientras que las capacidades del segundo se amplian al streaming de audio y video.
Las nuevas funciones de mensajería nos permiten enviar los datos através de "canales" basados en protocolos (como AMF o RTMP) capaces de formatear los mensajes en diferentes formas y sabores según nuestras necesidades (quizá queramos mensajes encriptados para comunicaciones seguras o tal vez mensajes "por sondeo"(polling) en vez de mensajes "push" desde el servidor.
A su vez podemos usar adaptadores (JMS, ActionSCript,...) que permiten que estos mensajes interaccionen con diferentes clientes, como por ejemplo, otras aplicaciones Flex o incluso aplicaciones Java (Swing, AWT,...) que usen JMS.

FDS2 - Arquitectura del Bus de Mensajería
Como podeis comprobar FDS2 tiene un diseño altamente desacoplado, donde cada pieza se conecta con las restantes formando un sistema realmente flexible y extendible gracias a la compenetración e interacción de las APIs de cliente y servidor. Toda la configuración de FDS2 descansa sobre ficheros XML bien estructurados que permiten tener un acceso fino a montones de características (opciones de seguridad, proxys, etc...).
Flex Data Management Service
Si FMS es una pasada, no os perdais FDMS que hace del desarrollo de soluciones software un paseo. FDMS se basa en todo lo visto anteriormente y básicamente permite crear aplicaciones "orientadas a datos" en vez de "orientadas a llamadas remotas(o RPCs)". Como era de esperar en este caso también disponemos de canales(channels) y adaptadores(adapters). En FDMS, los adaptadores definen la persistencia de los datos o como estos serán modificados (normalmente usando un gestor RDBMS aunque también podría ser una máquina remota, un sistema de ficheros). Los adaptadores que vienen por defecto son: "actionscript" (que mantiene los datos en memoria y suele tener un uso en escenarios simples), y "java-dao" (que es el usado por defecto, normalmente con una base de datos). También se incluye un adaptador para Hibernate (paquete que viene de serie en la instalación.
Si hasta ahora teniamos distintas soluciones de persistencia en el backend y middleware, FDMS extiende estas capacidades al cliente, de forma que siempre tenemos los datos sincronizados en todas las capas y en definitiva en todos los clientes Flex conectados. Lo mejor de todo es que las tareas CRUD están sistematizadas gracias a la interacción de los componentes de cliente y servidor junto con algunos XMLs de configuración. Esto hace que nosotros solo tengamos que añadir funcionalidades adicionales para completar los casos de uso que se nos presenten.

FDMS - Arquitectura de Flex Data Magement Service
Además FDMS dispone de otras muchas funcionalidades avanzadas:
* Paginación: Podemos configurar el tamaño del conjunto de datos que pidamos, de forma que FDMS se encarga de enviar automáticamente la porción de datos apropiada en cada momento según operemos con los componentes en cliente.
* Resolución de conflictos: Estos se generan cuando dos o mas usuarios están editando los mismos datos simultaneamente. FDMS nos permite decidir que hacer en estas situaciones.
* Relación de datos anidados: Es decir la gestión automática de relaciones "1 a 1", "1 a muchos" y "muchos a muchos". Se definen en el fichero de configuración XML del servidor y FDMS se encarga de todo...
Resumiendo
Si juntamos lo descrito aqui a las otras muchas posibilidades que aportan Flex 2 y el Flash Player 9 (como DataBinding o E4X), tenemos ante nosotros una tecnología realmente innovadora que une unas capacidades gráficas, de video y audio sin competencia hoy en día en el mercado. El tratamiento de los datos y su ubicuidad amplía el concepto de RIA que teníamos abarcando el intercambio de datos con el servidor. La simpleza en el desarrollo es otro factor decisivo a la hora de evaluar este producto, ya que Flex 2 está creado bajo la filosofía EoD (Ease of Development o facilidad de desarrollo).
Licencias
Lo mejor de todo es que hay diferentes versiones de FDS2 para todo tipo de escenarios. Desde una versión grátis (FDS2 Express) con toda la funcionalidad pero pensada para entornos de menor tráfico de datos, versiónes departamentales para un mayor número de usuarios y versiones empresariales donde la alta disponibilidad y la replicación es importante debido al alto número de transacciones y usuarios accediendo a nuestras aplicaciones Flex.
Por tanto, ya no hay excusa para no empezar a crear RIAs con FDS2 y Flex 2. ¿No os parece?.
Fte: http://www.madeinflex.com/2006/10/11/introduccion-a-flex-data-services-2/
¿Qué es Flex Data Services 2?¿Para que sirve?¿Qué nos aporta?. Estas y otras muchas preguntas seguro que han pasado por la cabeza de aquellas personas fascinadas por las nuevas posibilidades que aporta Flex 2. En este artículo intentaremos dar respuesta a muchas de ellas.
Quizá FDS2 sea la pieza más valorada para aquellos que llevamos años aprendiendo a dominar el arte de la creación de aplicaciones RIA(Rich Internet Applications) debido a que resuelve muchos de los problemas que hemos ido encontrando por el camino y que hemos sufrido durante años. FDS2 aporta un workflow realmente sencillo y fácil de manejar a la hora de abordar un proyecto RIA. ¿Es posible crear RIAs sin FDS2? La respuesta es que si, pero las posibilidades del producto final no serán las mismas sin esta pieza del rompecabezas. Digamos que el grado de "riqueza" de nuestro software no será el mismo, ya que añade servicios y características directamente a nuestro producto sin necesidad de hacer practicamente nada. Por tanto, la sencillez que aporta FDS2 significa productividad y menores tiempos de desarrollo. Algo que puede ser muy significativo a la hora de planificar el coste de un proyecto. Al fin y al cabo La productividad es ahorro de dinero, y este es un lenguaje que todo responsable de un departamento de TI entiende a la perfección.
1. ¿Que es FDS2 y para que sirve?
2. RemoteObjects
3. Flex Message Service
4. Flex Data Management Service
5. Resumiendo
6. Licencias
¿Que es FDS2 y para que sirve?
Flex Data Services 2 es básicamente una aplicación Web Java (para que nos entendamos, un .war) bastante avanzada, que se instala y ejecuta en un servidor de aplicaciones (como pueden ser JOnAS, JBoss o WebLogic) como cualquier otra aplicación web. También puede funcionar en un contenedor de Servlets como Tomcat, aunque para hacer funcionar todas las características, como los Data Management Services, es necesario instalar JOTM. FDS2 es la capa intermedia que actua a modo de pegamento entre los clientes Flex y los sistemas de backend a los que seguramente tendremos que acceder en nuestras soluciones RIA(tales como LDAP, RDBMS, Sistemas de ficheros, Servidores de correo, etc...), exponiendo dichos sistemas mediante una arquitectura SOA pura.
Flex Data Services 2 - Arquitectura J2EE
Esta aplicación web nos aisla de muchos de los problemas de integración que surgen al construir Rich Internet Applications y aporta las siguientes características:
* Remote Objects: Ofrecen la capacidad de hablar con clases java directamente mediante el nuevo protocolo AMF3. Esta es la parte menos novedosa ya que se trata de la evolución del antiguo Flash Remoting. Es decir, programación orientada a llamadas remotas (RPCs).
* Flex Message Service: La arquitectura de FDS2 está orientada al mensaje y combinada con el potencial del protocolo RTMP (Real Time Message Protocol) para comunicaciones en tiempo real. Esto nos permite hacer aplicaciones de colaboración en tiempo real y "data push" a todos los clientes Flex conectados.
* Flex Data Management Service: Introduce en las RIAs la "programación orientada a datos" y la persistencia de estos en tiempo real incluso a nivel de cliente. FDMS está diseñado para que los componentes se comuniquen de forma directa con el servidor realizando las tareas CRUD más básicas (y otras más complejas como paginación, relución de conflictos,etc...) sin que nosotros tengamos que programar prácticamente nada y con la ventaja añadida del refresco de datos en todos los clientes Flex en tiempo real.
Después de años de experiencia diseñando software para construir RIAs, Adobe ha sabido crear un producto que no solo aporta nuevas posibilidades inovadoras (como la posibilidad de hacer "push" de datos al cliente o la orientación a datos), si no que simplifica las ya existentes haciendonos la vida más fácil a los que trabajamos día a día con la tecnología.
Veamos cada una de las características con más detenimiento...
RemoteObjects
Los RemoteObjects (ROs) son uno de los tres tipos de comunicación RPC en Flex. Los otros dos tipos son los componentes HTTPService (get, post y xml sobre HTTP) y WebService (servicios web basados en SOAP), los cuales forman parte del SDK gratis de Flex 2 y no necesitan de FDS2.
Hasta que salió FDS2, Los ROs eran la mejor forma de integración con el servidor. De hecho es la forma que utilizan las RIAs más actuales basadas en Flash o Flex debido a que permite hablar directamente con clases o servicios Java y pasar jerarquias de objetos entre capas (mapeo de clases AS3-Java). Gracias al protocolo AMF (ActionScript Message Format), el desarrollador puede abstraerse de la serialización y deserialización tanto en cliente como en servidor enfocandose en resolver el problema de negocio que tenga entre manos.
Un punto fundamental del exito de los ROs, sobre los Web Services basados en SOAP, es el rendimiento que ofrecen debido a que la capa de transporte está muy optimizada ya que AMF es un protocolo binario en contraposición al formato textual de un mensaje SOAP. Esto se hace evidente cuando el volumen de datos es elevado y donde AMF no tiene competencia. Por último FDS2 soporta el nuevo AMF3 cuyo rendimiento y capacidades son superiores al antiguo AMF0 usado en productos más antiguos como Flash Remoting, OpenAMF o AMFPHP.
Hasta aqui no hay nada que no conociesemos de otras versiones de Flash lo interesante o novedos comienza a partir de aquí...
Flex Message Service
El servicio de mensajería de Flex es el corazón del nuevo FDS2 y permite crear una nueva generación de RIAs colaborativas que intercambian datos en tiempo real (el ejemplo más básico sería una aplicación de chat). Gracias a la nueva arquitectura de publicación-subscripción orientada al mensaje los datos fluyen entre cliente y servidor permitiendo actualizar todos los clientes conectados mediante "push" de datos a dichos clientes (es decir la comunicación se realiza desde el servidor al cliente, al contrario de como estamos acostumbrados).
Flex Message Service - Publicación - Subscripción
El "push" de datos al cliente es posible gracias al protocolo RTMP (Real Time Message Protocol) conocido por muchos gracias a otros productos de Adobe como Flash Media Server 2. La diferencia entre FDS2 y FMS2 es que el primero solo permite usar RTMP para enviar datos, mientras que las capacidades del segundo se amplian al streaming de audio y video.
Las nuevas funciones de mensajería nos permiten enviar los datos através de "canales" basados en protocolos (como AMF o RTMP) capaces de formatear los mensajes en diferentes formas y sabores según nuestras necesidades (quizá queramos mensajes encriptados para comunicaciones seguras o tal vez mensajes "por sondeo"(polling) en vez de mensajes "push" desde el servidor.
A su vez podemos usar adaptadores (JMS, ActionSCript,...) que permiten que estos mensajes interaccionen con diferentes clientes, como por ejemplo, otras aplicaciones Flex o incluso aplicaciones Java (Swing, AWT,...) que usen JMS.
FDS2 - Arquitectura del Bus de Mensajería
Como podeis comprobar FDS2 tiene un diseño altamente desacoplado, donde cada pieza se conecta con las restantes formando un sistema realmente flexible y extendible gracias a la compenetración e interacción de las APIs de cliente y servidor. Toda la configuración de FDS2 descansa sobre ficheros XML bien estructurados que permiten tener un acceso fino a montones de características (opciones de seguridad, proxys, etc...).
Flex Data Management Service
Si FMS es una pasada, no os perdais FDMS que hace del desarrollo de soluciones software un paseo. FDMS se basa en todo lo visto anteriormente y básicamente permite crear aplicaciones "orientadas a datos" en vez de "orientadas a llamadas remotas(o RPCs)". Como era de esperar en este caso también disponemos de canales(channels) y adaptadores(adapters). En FDMS, los adaptadores definen la persistencia de los datos o como estos serán modificados (normalmente usando un gestor RDBMS aunque también podría ser una máquina remota, un sistema de ficheros). Los adaptadores que vienen por defecto son: "actionscript" (que mantiene los datos en memoria y suele tener un uso en escenarios simples), y "java-dao" (que es el usado por defecto, normalmente con una base de datos). También se incluye un adaptador para Hibernate (paquete que viene de serie en la instalación.
Si hasta ahora teniamos distintas soluciones de persistencia en el backend y middleware, FDMS extiende estas capacidades al cliente, de forma que siempre tenemos los datos sincronizados en todas las capas y en definitiva en todos los clientes Flex conectados. Lo mejor de todo es que las tareas CRUD están sistematizadas gracias a la interacción de los componentes de cliente y servidor junto con algunos XMLs de configuración. Esto hace que nosotros solo tengamos que añadir funcionalidades adicionales para completar los casos de uso que se nos presenten.
FDMS - Arquitectura de Flex Data Magement Service
Además FDMS dispone de otras muchas funcionalidades avanzadas:
* Paginación: Podemos configurar el tamaño del conjunto de datos que pidamos, de forma que FDMS se encarga de enviar automáticamente la porción de datos apropiada en cada momento según operemos con los componentes en cliente.
* Resolución de conflictos: Estos se generan cuando dos o mas usuarios están editando los mismos datos simultaneamente. FDMS nos permite decidir que hacer en estas situaciones.
* Relación de datos anidados: Es decir la gestión automática de relaciones "1 a 1", "1 a muchos" y "muchos a muchos". Se definen en el fichero de configuración XML del servidor y FDMS se encarga de todo...
Resumiendo
Si juntamos lo descrito aqui a las otras muchas posibilidades que aportan Flex 2 y el Flash Player 9 (como DataBinding o E4X), tenemos ante nosotros una tecnología realmente innovadora que une unas capacidades gráficas, de video y audio sin competencia hoy en día en el mercado. El tratamiento de los datos y su ubicuidad amplía el concepto de RIA que teníamos abarcando el intercambio de datos con el servidor. La simpleza en el desarrollo es otro factor decisivo a la hora de evaluar este producto, ya que Flex 2 está creado bajo la filosofía EoD (Ease of Development o facilidad de desarrollo).
Licencias
Lo mejor de todo es que hay diferentes versiones de FDS2 para todo tipo de escenarios. Desde una versión grátis (FDS2 Express) con toda la funcionalidad pero pensada para entornos de menor tráfico de datos, versiónes departamentales para un mayor número de usuarios y versiones empresariales donde la alta disponibilidad y la replicación es importante debido al alto número de transacciones y usuarios accediendo a nuestras aplicaciones Flex.
Por tanto, ya no hay excusa para no empezar a crear RIAs con FDS2 y Flex 2. ¿No os parece?.
Fte: http://www.madeinflex.com/2006/10/11/introduccion-a-flex-data-services-2/
Installing the latest nightly Flex 3 SDK build into Flex Builder 3
Continuing my post from the the other day, if you’re trying out Flex 3 SDK and Flex Builder 3 (codename: Moxie), you may want to consider downloading and installing a newer nightly build of the SDK so you can take advantage of all the bug fixes that happen on a daily basis. The first step is to grab the latest version of the SDK, which can be found over on the Adobe Labs site at http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html. All you need to do is read the terms of use and check the check box to enable the downloads. That’s it, no logging in, or registering, just one click and go!
Currently you have a few different options of things to download:
You can download the beta 1 build of the Flex 3 SDK (67 MB ZIP, released June 11, 2007), which includes support for building Adobe AIR (codename: Apollo) applications (for more information, check out the Adobe Integrated Runtime (AIR) page on Adobe Labs). According to the “Flex 3 Planning” page on the official Adobe Flex Wiki (see http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+3+Planning), You can expect to see Beta 2 ”Feature Complete” some time in late July/early August, with Flex 3 shipping in Q4, 2007 (yay!)
August 18, 2007: Updated the dates below to reflect the latest schedule.
Flex 3 milestone schedule:
Date Target
April 9, 2007 M1 Release (Alpha)
June 11, 2007 M2 Release (Beta 1)
October 2007 (was: late July/early August) M3 Release (Beta 2) - Feature Complete
Late 2007 (was: late August/early September) M4 - Release Candidate
Early 2008 (was: Q4 2007) Final Release
OK, back on topic… After reading and agreeing to the terms of use, click the check box on the Flex 3 SDK page on Labs (http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html) to download a copy of the Flex SDK. Here you have a few different choices. You can download any/all of the following:
* “Flex 3 SDK Beta 1″ (which includes support for Adobe AIR).
* “Flex 3 Beta 1 Compiler Modules”. These include compiler ISAPI filters for Windows, as well as compiler modules for Apache on Windows, Macintosh, and Linux.
* “Recent Nightly Builds of the Flex 3 SDK” (Note: “The nightly builds of the Flex 3 SDK do not include support for Adobe AIR. If you require Adobe AIR support you should use the beta 1 version of the Flex 3 SDK.”).
With that out of the way, I’ll assume you already have Flex Builder 3 installed, so grab the most recent copy of the nightly build and download the ZIP file to your desktop (or somewhere easily accessible). If you’re so inclined, you can read the changelist to see which bugs have been fixed in this release. Just click on the “View” link in the Changes column and it should pop up a new browser window.
With the download complete, locate the flex_sdk_3.zip file, and expand it. You should see about 8 directories, as well as an XML file, a license.htm file and readme.htm. According to the readme.htm file (which may not be updated for Flex 3 yet), the Flex SDK contains the following directories:
* asdoc - Contains ASDoc related files. ASDoc is a command-line tool that is you can use to create HTML documentation from the
classes in your Flex application.
* bin -Contains command-line tools such as mxmlc, compc, asdoc and fdb. You use these tools to compile, debug and document Flex applications and components.
The bin/jvm.config file contains Java VM settings.
* frameworks - Contains the framework.swc file, frameworks.swc source code, and other helper files that you use to compile Flex applications.
The frameworks/flex-config.xml file includes the default compiler options.
* lib - Contains JAR files used by the compilers.
* runtimes - Contains debugger versions of Adobe® Flash® Player 9 for Linux, Macintosh, and Windows.
* samples - Contains source code for sample applications.
* templates - Contains HTML templates for Flash Player detection and history management.
With the ZIP file expanded on your harddrive, create a new folder on your harddrive. I chose “C:\dev\FlexSDK” since it is easy to find and a minimal number of letters to type. Copy each of the files and folders you just unzipped into aforementioned folder. So now you should have a folder like “C:\dev\FlexSDK\runtimes\” (where you can find the various Adobe Flash Players).
Next, start up your copy of the Flex Builder 3 beta. If you’ve made it this far and still don’t have that installed, download it from this handy URL: http://labs.adobe.com/technologies/flex/flexbuilder3/ (In a later post I’ll walk through installing the standalone version of Flex Builder now, so sit tight if you’re lost).
After Flex Builder 3 has launched, I’ve found two painless ways to add our newly downloaded SDK:
Method 1) From the main menu, select Window > Preferences to open the Preferences dialog box. Expand the “Flex” tree, and select the “Installed Flex SDKs” option. This brings up a data grid of all currently installed Flex SDKs and their locations. It also allows you to check off which SDK you want to set as the default SDK by clicking the check box on the left of the SDK name. To add a new SDK, click the “Add” button to launch the “Add Flex SDK” dialog box. This dialog box allows you to browse for a new SDK directory, as well as give it a name. In my case, I’m going to set the Flex SDK directory to “C:\dev\FlexSDK” and give it a name of “Flex SDK (Latest)” and click OK. It’s important to note that you’re adding an additional SDK here. You aren’t overwriting anything, or replacing anything. You still have the option to compile your MXML files with the previous versions of the SDKs, such as Flex 2.0.1 Hotfix 2, or Flex Moxie M2, both of which came installed with Flex Builder 3 Beta 1. After clicking OK, you return to the Installed Flex SDKs page. From here, click the check box next to “Flex SDK (Latest)”, or whatever name you used, to set it as the default SDK. This allows you to compile against the latest version of the SDK by default, yet still have the ability to compile against Flex 2.0.1 or Flex 3 SDK Beta 1 within a few clicks. You could also download a nightly build and extract it to a nested folder within your C:\dev\FlexSDK folder. For example, I could have created C:\dev\FlexSDK\build_177055 and then add each nightly build of the SDK to Flex Builder. While this may be overkill for most, it allows you to easily revert back to previous versions of the SDK if something was working in a previous build but not in newer builds.
Method 2) Right-click a project folder in Flex Builder’s Navigator tab and select Properties to open the Properties for dialog box. From here, click the Flex Compiler option on the left to see the various Flex SDKs currently configured by Flex Builder. Here, you can set the SDK that the project will compile against, or override the default SDK with a specific one (such as Flex 2.0.1 Hotfix 2, or any other installed SDK). To add a new Flex SDK from this screen, click the “Configure Flex SDKs…” link on the right to be taken back to the Preferences dialog discussed above.
That’s it. Downloading and installing new SDKs into Flex Builder is a pretty simple and straight forward process.
Good luck, and happy Flexing!
I should also mention that you can grab “Flex 2.0.1 SDK with HotFix 2″ and recent nightly builds of the Flex 2.0.1 SDK from http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html (follow the same instructions as above to install the Flex 2.0.1 SDK into Flex Builder 3).
Fte: http://blog.flexexamples.com/2007/07/19/installing-the-latest-nightly-flex-3-sdk-build-into-flex-builder-3/
Currently you have a few different options of things to download:
You can download the beta 1 build of the Flex 3 SDK (67 MB ZIP, released June 11, 2007), which includes support for building Adobe AIR (codename: Apollo) applications (for more information, check out the Adobe Integrated Runtime (AIR) page on Adobe Labs). According to the “Flex 3 Planning” page on the official Adobe Flex Wiki (see http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+3+Planning), You can expect to see Beta 2 ”Feature Complete” some time in late July/early August, with Flex 3 shipping in Q4, 2007 (yay!)
August 18, 2007: Updated the dates below to reflect the latest schedule.
Flex 3 milestone schedule:
Date Target
April 9, 2007 M1 Release (Alpha)
June 11, 2007 M2 Release (Beta 1)
October 2007 (was: late July/early August) M3 Release (Beta 2) - Feature Complete
Late 2007 (was: late August/early September) M4 - Release Candidate
Early 2008 (was: Q4 2007) Final Release
OK, back on topic… After reading and agreeing to the terms of use, click the check box on the Flex 3 SDK page on Labs (http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html) to download a copy of the Flex SDK. Here you have a few different choices. You can download any/all of the following:
* “Flex 3 SDK Beta 1″ (which includes support for Adobe AIR).
* “Flex 3 Beta 1 Compiler Modules”. These include compiler ISAPI filters for Windows, as well as compiler modules for Apache on Windows, Macintosh, and Linux.
* “Recent Nightly Builds of the Flex 3 SDK” (Note: “The nightly builds of the Flex 3 SDK do not include support for Adobe AIR. If you require Adobe AIR support you should use the beta 1 version of the Flex 3 SDK.”).
With that out of the way, I’ll assume you already have Flex Builder 3 installed, so grab the most recent copy of the nightly build and download the ZIP file to your desktop (or somewhere easily accessible). If you’re so inclined, you can read the changelist to see which bugs have been fixed in this release. Just click on the “View” link in the Changes column and it should pop up a new browser window.
With the download complete, locate the flex_sdk_3.zip file, and expand it. You should see about 8 directories, as well as an XML file, a license.htm file and readme.htm. According to the readme.htm file (which may not be updated for Flex 3 yet), the Flex SDK contains the following directories:
* asdoc - Contains ASDoc related files. ASDoc is a command-line tool that is you can use to create HTML documentation from the
classes in your Flex application.
* bin -Contains command-line tools such as mxmlc, compc, asdoc and fdb. You use these tools to compile, debug and document Flex applications and components.
The bin/jvm.config file contains Java VM settings.
* frameworks - Contains the framework.swc file, frameworks.swc source code, and other helper files that you use to compile Flex applications.
The frameworks/flex-config.xml file includes the default compiler options.
* lib - Contains JAR files used by the compilers.
* runtimes - Contains debugger versions of Adobe® Flash® Player 9 for Linux, Macintosh, and Windows.
* samples - Contains source code for sample applications.
* templates - Contains HTML templates for Flash Player detection and history management.
With the ZIP file expanded on your harddrive, create a new folder on your harddrive. I chose “C:\dev\FlexSDK” since it is easy to find and a minimal number of letters to type. Copy each of the files and folders you just unzipped into aforementioned folder. So now you should have a folder like “C:\dev\FlexSDK\runtimes\” (where you can find the various Adobe Flash Players).
Next, start up your copy of the Flex Builder 3 beta. If you’ve made it this far and still don’t have that installed, download it from this handy URL: http://labs.adobe.com/technologies/flex/flexbuilder3/ (In a later post I’ll walk through installing the standalone version of Flex Builder now, so sit tight if you’re lost).
After Flex Builder 3 has launched, I’ve found two painless ways to add our newly downloaded SDK:
Method 1) From the main menu, select Window > Preferences to open the Preferences dialog box. Expand the “Flex” tree, and select the “Installed Flex SDKs” option. This brings up a data grid of all currently installed Flex SDKs and their locations. It also allows you to check off which SDK you want to set as the default SDK by clicking the check box on the left of the SDK name. To add a new SDK, click the “Add” button to launch the “Add Flex SDK” dialog box. This dialog box allows you to browse for a new SDK directory, as well as give it a name. In my case, I’m going to set the Flex SDK directory to “C:\dev\FlexSDK” and give it a name of “Flex SDK (Latest)” and click OK. It’s important to note that you’re adding an additional SDK here. You aren’t overwriting anything, or replacing anything. You still have the option to compile your MXML files with the previous versions of the SDKs, such as Flex 2.0.1 Hotfix 2, or Flex Moxie M2, both of which came installed with Flex Builder 3 Beta 1. After clicking OK, you return to the Installed Flex SDKs page. From here, click the check box next to “Flex SDK (Latest)”, or whatever name you used, to set it as the default SDK. This allows you to compile against the latest version of the SDK by default, yet still have the ability to compile against Flex 2.0.1 or Flex 3 SDK Beta 1 within a few clicks. You could also download a nightly build and extract it to a nested folder within your C:\dev\FlexSDK folder. For example, I could have created C:\dev\FlexSDK\build_177055 and then add each nightly build of the SDK to Flex Builder. While this may be overkill for most, it allows you to easily revert back to previous versions of the SDK if something was working in a previous build but not in newer builds.
Method 2) Right-click a project folder in Flex Builder’s Navigator tab and select Properties to open the Properties for
That’s it. Downloading and installing new SDKs into Flex Builder is a pretty simple and straight forward process.
Good luck, and happy Flexing!
I should also mention that you can grab “Flex 2.0.1 SDK with HotFix 2″ and recent nightly builds of the Flex 2.0.1 SDK from http://labs.adobe.com/technologies/flex/sdk/flex2sdk.html (follow the same instructions as above to install the Flex 2.0.1 SDK into Flex Builder 3).
Fte: http://blog.flexexamples.com/2007/07/19/installing-the-latest-nightly-flex-3-sdk-build-into-flex-builder-3/
Que es ActionScript 3.0, caracteristicas
* Versiones anteriores
* ActionScript 3.0 se basa en ECMAScript
* Máquina virtual de ActionScript (AVM)
* Metas de ActionScript 3.0 y características
ActionScript 3.0 es un lenguaje de programación de gran alcance, orientado a objeto que significa un paso importante en la evolución de las capacidades de desarrollo en las aplicaciones. La motivación que conduce ActionScript 3.0 es crear una lengua ideal para crear Aplicaciones Ricas de Internet, que se han convertido en una parte esencial en las aplicaciones de Internet.
Versiones anteriores de ActionScript ofrecieron la energía y la flexibilidad requeridas para crear experiencias en línea muy completas. ActionScript 3.0 ahora fomenta avances en el lenguaje, proporcionando un funcionamiento magnífico y la facilidad de desarrollo para facilitar el uso altamente complejos, datasets grandes, y código orientado a objeto, basa reutilizable. Con ActionScript 3.0, los desarrolladores pueden alcanzar productividad y funcionamiento excelentes con el contenido y los usos que apuntan al usuario.
ActionScript 3.0 se basa en ECMAScript, el lenguaje de programación estandarizado internacional para scripting. ActionScript 3.0 es obediente con la especificación de la lengua de ECMAScript, tercera edición (ECMA-262). También contiene la funcionalidad basada en trabajo en curso sobre la edición 4 de ECMAScript.
ActionScript es ejecutado por la máquina virtual de ActionScript (AVM) construida en el Flash Player. AVM1, la máquina virtual usada para ejecutar el código de ActionScript de la herenciael poder de Flash Player hoy hace posible una amplia gama de medios interactivos y de usos ricos del Internet.
Sin embargo, los desarrolladores han comenzado a empujar AVM1 a sus límites; sus requisitos del proyecto ahora exigen una brecha importante. ActionScript 3.0 introduce una máquina virtual altamente optimizada nueva de ActionScript, AVM2, que excede dramáticamente el funcionamiento posible con AVM1. Consecuentemente, el código de ActionScript 3.0 ejecuta hasta 10 veces más rápidamente que el código de ActionScript.
La máquina virtual nueva AVM2 está disponible en el Flash Player 9, y será la máquina virtual primaria para la ejecución de ActionScript. El AVM1 más viejo continuará siendo apoyado por Flash Player para la compatibilidad con las aplicaciones nuevas.
Hay numerosos productos que generan el contenido y los usos apuntados en el tiempo de pasada de destello del jugador. Estos productos incorporan a menudo ActionScript para agregar interactividad y comportamiento a sus aplicaciones. En la familia de productos de Adobe, los diseñadores y los desarrolladores profesionales pudieron utilizar ActionScript dentro de varias herramientas como flash, flex, etc. La familia de producto de flex, será la primera línea de productos para tener acceso a las nuevas capacidades de ActionScript 3.0.
Metas de ActionScript 3.0 y características
ActionScript 3.0 se diseña para tratar las metas siguientes:
* Seguridad: El lenguaje soporta tipos de seguridad para que los desarrolladores puede escribir código inequívoco, fácilmente conservable.
* Simplicidad: El lenguaje es bastante intuitiva para que los desarrolladores puedan leer y escribir programas sin constantemente consultar un manual de referencia.
* Funcionamiento: El lenguaje permite a los desarrolladores escribir programas complejos y que estos funciones eficientemente.
* Compatibilidad: ActionScript 3.0 es un dialecto de ECMAScript que formaliza las características de ActionScript 2.0, agregue las capacidades de ECMAScript para XML (E4X), y unifique el lenguaje.
Fte: http://www.flex2mx.com/archives/category/general/
* ActionScript 3.0 se basa en ECMAScript
* Máquina virtual de ActionScript (AVM)
* Metas de ActionScript 3.0 y características
ActionScript 3.0 es un lenguaje de programación de gran alcance, orientado a objeto que significa un paso importante en la evolución de las capacidades de desarrollo en las aplicaciones. La motivación que conduce ActionScript 3.0 es crear una lengua ideal para crear Aplicaciones Ricas de Internet, que se han convertido en una parte esencial en las aplicaciones de Internet.
Versiones anteriores de ActionScript ofrecieron la energía y la flexibilidad requeridas para crear experiencias en línea muy completas. ActionScript 3.0 ahora fomenta avances en el lenguaje, proporcionando un funcionamiento magnífico y la facilidad de desarrollo para facilitar el uso altamente complejos, datasets grandes, y código orientado a objeto, basa reutilizable. Con ActionScript 3.0, los desarrolladores pueden alcanzar productividad y funcionamiento excelentes con el contenido y los usos que apuntan al usuario.
ActionScript 3.0 se basa en ECMAScript, el lenguaje de programación estandarizado internacional para scripting. ActionScript 3.0 es obediente con la especificación de la lengua de ECMAScript, tercera edición (ECMA-262). También contiene la funcionalidad basada en trabajo en curso sobre la edición 4 de ECMAScript.
ActionScript es ejecutado por la máquina virtual de ActionScript (AVM) construida en el Flash Player. AVM1, la máquina virtual usada para ejecutar el código de ActionScript de la herenciael poder de Flash Player hoy hace posible una amplia gama de medios interactivos y de usos ricos del Internet.
Sin embargo, los desarrolladores han comenzado a empujar AVM1 a sus límites; sus requisitos del proyecto ahora exigen una brecha importante. ActionScript 3.0 introduce una máquina virtual altamente optimizada nueva de ActionScript, AVM2, que excede dramáticamente el funcionamiento posible con AVM1. Consecuentemente, el código de ActionScript 3.0 ejecuta hasta 10 veces más rápidamente que el código de ActionScript.
La máquina virtual nueva AVM2 está disponible en el Flash Player 9, y será la máquina virtual primaria para la ejecución de ActionScript. El AVM1 más viejo continuará siendo apoyado por Flash Player para la compatibilidad con las aplicaciones nuevas.
Hay numerosos productos que generan el contenido y los usos apuntados en el tiempo de pasada de destello del jugador. Estos productos incorporan a menudo ActionScript para agregar interactividad y comportamiento a sus aplicaciones. En la familia de productos de Adobe, los diseñadores y los desarrolladores profesionales pudieron utilizar ActionScript dentro de varias herramientas como flash, flex, etc. La familia de producto de flex, será la primera línea de productos para tener acceso a las nuevas capacidades de ActionScript 3.0.
Metas de ActionScript 3.0 y características
ActionScript 3.0 se diseña para tratar las metas siguientes:
* Seguridad: El lenguaje soporta tipos de seguridad para que los desarrolladores puede escribir código inequívoco, fácilmente conservable.
* Simplicidad: El lenguaje es bastante intuitiva para que los desarrolladores puedan leer y escribir programas sin constantemente consultar un manual de referencia.
* Funcionamiento: El lenguaje permite a los desarrolladores escribir programas complejos y que estos funciones eficientemente.
* Compatibilidad: ActionScript 3.0 es un dialecto de ECMAScript que formaliza las características de ActionScript 2.0, agregue las capacidades de ECMAScript para XML (E4X), y unifique el lenguaje.
Fte: http://www.flex2mx.com/archives/category/general/
viernes, 4 de abril de 2008
Faq de Flex 2.0
Que es Flex?
Adobe® Flex™ 2 es la solución de desarrollo de aplicaciones más completa y potente para crear y desarrollar aplicaciones de Internet sofisticadas (RIA, del inglés Rich Internet Applications) en la empresa y en la web. Permite a las empresas crear aplicaciones personalizadas y ricas en elementos multimedia que mejoran notablemente la experiencia del usuario y que están revolucionando la manera en que las personas interactúan con la web.
Que es Flex Builder
Adobe Flex Builder™ es un entorno de desarrollo integrado basado en Eclipse™ para el desarrollo de aplicaciones de Internet sofisticadas (RIA) que combina la riqueza de aplicaciones de escritorio con el ámbito multiplataforma de la Plataforma de interacción de Adobe. Flex Builder permite a los desarrolladores construir rápidamente una lógica sofisticada para el cliente que se integra con XML, servicios web o con Flex Data Services. Gracias a las sofisticadas herramientas de diseño y de maquetación, los diseñadores de interfaces también pueden crear interfaces de aplicaciones más sofisticadas y más útiles con una apariencia personalizada.
Que es Flex Data Services
Flex Data Services ofrece un potente conjunto de funciones de gestión de datos para el servidor que permite a los desarrolladores proporcionar rápidamente aplicaciones Flex con grandes volúmenes de datos. Flex Data Services, que se implanta como una aplicación web J2EE estándar, mejora el marco de trabajo Flex del cliente proporcionando una conectividad de datos de alto rendimiento con los datos y la lógica empresarial existentes del servidor. Basándose en una arquitectura de mensajería contundente, Flex Data Services se integra con el middleware estándar existente y proporciona servicios que automatizan la sincronización de datos entre cliente y servidor, añaden compatibilidad para la transmisión de datos en tiempo real y para la mensajería pub/sub, y habilitan las aplicaciones colaboradoras y conectadas ocasionalmente.
Que se puede hacer con Flex?
Aplicaciones de ejemplo http://www.adobe.com/devnet/flex/?tab:samples=1
Donde puedo descargar Flex
Puedes descargar una copia de evaluación en https://www.adobe.com/cfusion/tdrc/i...m?product=flex
Existen Comunidades o Blogs en Español que traten temas de Flex?
Si, algunos ejemplos
MadeInFlex.
Riactive
Klr20mg
por nombrar algunas
__________________
Blog Flash/Flex/Apollo | Desktoptwo | Go Host'em
¿Cuáles son los lenguajes utilizados para el desarrollo de aplicaciones Flex?
MXML
Al igual que HTML, MXML es un lenguaje de marcas que describe las interfaces del usuario que exponen contenido y funcionalidad. A diferencia de HTML, MXML proporciona abstracciones declarativas para la lógica de niveles de presentación y enlaces entre la interfaz del usuario y los datos del lado del servidor. MXML ayuda a elevar al máximo la productividad del desarrollador y aprovechar la reutilización de la aplicación porque separa nítidamente la capa de presentación, de la capa de la lógica del negocio.
El desarrollo con MXML se basa en el mismo proceso iterativo que se utiliza para otros tipos de archivos de aplicaciones web, como HTML, JSP, ASP y ColdFusion Markup Language (CFML). Desarrollar una aplicación con MXML es sencillísimo: se abre el editor de texto, se escriben las etiquetas, se guarda el archivo, y se abre el URL del archivo en un navegador web.
Asimismo, los archivos MXML son archivos XML ordinarios, de modo que eso le permite escoger de entre un amplio abanico de entornos de desarrollo. Se puede desarrollar con un editor de texto sencillo, con un editor de XML exclusivo, o con un entorno de desarrollo integrado (IDE) que sea compatible con la edición de texto. Y como MXML se ajusta a la definición de esquema XML estipulada por el World Wide Web Consortium (W3C), también puede usar la edición estructurada, el coloreado de código y las sugerencias de código (según lo que permita su editor).
Fuente: http://www.adobe.com/es/products/fle...15_tech_wp.pdf
ActionScript 3.0
ActionScript es un lenguaje de programación potente orientado a objetos del entorno de tiempo de ejecución de Adobe® Flash® Player. El lenguaje de programación estándar en el ámbito internacional, ActionScript 3.0, basado en ECMAScript, promueve avances del lenguaje para ofrecer a los desarrolladores un modelo de programación potente para aplicaciones sofisticadas de Internet (RIA). Los desarrolladores pueden conseguir un magnífico rendimiento y sencillez en los desarrollos, lo que facilita aplicaciones muy complejas, gran cantidad de datos y bases de código reutilizable orientadas a objetos. Se ejecuta con la nueva máquina virtual ActionScript (AVM2) en Flash Player 9; ActionScript 3.0 ofrece un rendimiento avanzado para la nueva generación de aplicaciones RIA.
ActionScript 3.0 cumple con el estándar ECMAScript Edition 3 (ECMA-262).
• ECMAScript para XML (E4X) permite la manipulación sencilla de documentos XML gracias a una sintaxis familiar.
• Las expresiones regulares ahorran tiempo de codificación en la búsqueda de cadenas y en los procedimientos de manipulación.
• Eventos DOM Nivel 3 ayuda a los desarrolladores a mantener un código orientado a objetos mejor mediante el uso del modelo de eventos estándar del consorcio W3C.
• El espacio entre nombres y los paquetes mejoran la organización del código y fomentan una estructura de aplicaciones lógica.
• El perfeccionamiento de la depuración y los perfiles de los datos reducen el tiempo de pruebas y facilitan la integración de aplicaciones Flash en entornos de prueba automatizados.
• La gestión de errores y las excepciones mejoradas proporcionan al desarrollador aplicaciones más seguras y potentes.
Nueva máquina virtual
Flash Player 9 incluye una nueva máquina virtual ActionScript (AVM) altamente optimizada llamada AVM2. La nueva máquina virtual, construida desde la base de que sea compatible con la nueva generación de ActionScript, se ha diseñado para ofrecer el rendimiento y las funciones de modo que se cubran las necesidades de desarrolladores de aplicaciones de Internet potentes. AVM2 admite informes de error en tiempo de ejecución, depuración integrada y compatibilidad con conexiones binarias, de modo que los desarrolladores puedan ampliar la capacidad del reproductor para que funcione con cualquier protocolo binario. Flash Player 9 también incorpora AVM1, que ejecuta el contenido heredado de ActionScript, lo que garantiza la compatibilidad retroactiva con el contenido existente.
Mejor rendimiento
Flash Player 9 incorpora mejoras en Flash Player 8 para ejecutar el contenido y las aplicaciones de forma más rápida que anteriormente con distintas mejoras del rendimiento:
• Consiga ejecutar ActionScript 3.0 hasta diez veces más rápido con la nueva máquina virtual y un compilador optimizado.
• Aumente la velocidad del contenido y las aplicaciones gracias a un tiempo de inicio de la aplicación más rápido y una reducción del 50% en el espacio de la memoria.
• Acelere el rendimiento de reproducción mediante gráficos vectoriales en caché más eficaces.
• Mejore la lectura del texto y ofrece un desplazamiento más rápido y mejor de grandes bloques de texto con rutinas optimizadas de procesamiento de texto.
Seguridad mejorada
Flash Player cumple la seguridad sandboxes para aplicaciones, contenidos, datos y URL con el fin de salvaguardar datos confidenciales y ayudar a garantizar una navegación segura para los usuarios finales.
Fuente: http://www.adobe.com/es/products/fla...features/#as30
Mas aplicaciones de ejemplo.
http://flex.org/showcase/
Muchos ejemplos con su respectivo codigo y descarga de fuentes.
http://blog.flexexamples.com/
Fte: Aqui
Adobe® Flex™ 2 es la solución de desarrollo de aplicaciones más completa y potente para crear y desarrollar aplicaciones de Internet sofisticadas (RIA, del inglés Rich Internet Applications) en la empresa y en la web. Permite a las empresas crear aplicaciones personalizadas y ricas en elementos multimedia que mejoran notablemente la experiencia del usuario y que están revolucionando la manera en que las personas interactúan con la web.
Que es Flex Builder
Adobe Flex Builder™ es un entorno de desarrollo integrado basado en Eclipse™ para el desarrollo de aplicaciones de Internet sofisticadas (RIA) que combina la riqueza de aplicaciones de escritorio con el ámbito multiplataforma de la Plataforma de interacción de Adobe. Flex Builder permite a los desarrolladores construir rápidamente una lógica sofisticada para el cliente que se integra con XML, servicios web o con Flex Data Services. Gracias a las sofisticadas herramientas de diseño y de maquetación, los diseñadores de interfaces también pueden crear interfaces de aplicaciones más sofisticadas y más útiles con una apariencia personalizada.
Que es Flex Data Services
Flex Data Services ofrece un potente conjunto de funciones de gestión de datos para el servidor que permite a los desarrolladores proporcionar rápidamente aplicaciones Flex con grandes volúmenes de datos. Flex Data Services, que se implanta como una aplicación web J2EE estándar, mejora el marco de trabajo Flex del cliente proporcionando una conectividad de datos de alto rendimiento con los datos y la lógica empresarial existentes del servidor. Basándose en una arquitectura de mensajería contundente, Flex Data Services se integra con el middleware estándar existente y proporciona servicios que automatizan la sincronización de datos entre cliente y servidor, añaden compatibilidad para la transmisión de datos en tiempo real y para la mensajería pub/sub, y habilitan las aplicaciones colaboradoras y conectadas ocasionalmente.
Que se puede hacer con Flex?
Aplicaciones de ejemplo http://www.adobe.com/devnet/flex/?tab:samples=1
Donde puedo descargar Flex
Puedes descargar una copia de evaluación en https://www.adobe.com/cfusion/tdrc/i...m?product=flex
Existen Comunidades o Blogs en Español que traten temas de Flex?
Si, algunos ejemplos
MadeInFlex.
Riactive
Klr20mg
por nombrar algunas
__________________
Blog Flash/Flex/Apollo | Desktoptwo | Go Host'em
¿Cuáles son los lenguajes utilizados para el desarrollo de aplicaciones Flex?
MXML
Al igual que HTML, MXML es un lenguaje de marcas que describe las interfaces del usuario que exponen contenido y funcionalidad. A diferencia de HTML, MXML proporciona abstracciones declarativas para la lógica de niveles de presentación y enlaces entre la interfaz del usuario y los datos del lado del servidor. MXML ayuda a elevar al máximo la productividad del desarrollador y aprovechar la reutilización de la aplicación porque separa nítidamente la capa de presentación, de la capa de la lógica del negocio.
El desarrollo con MXML se basa en el mismo proceso iterativo que se utiliza para otros tipos de archivos de aplicaciones web, como HTML, JSP, ASP y ColdFusion Markup Language (CFML). Desarrollar una aplicación con MXML es sencillísimo: se abre el editor de texto, se escriben las etiquetas, se guarda el archivo, y se abre el URL del archivo en un navegador web.
Asimismo, los archivos MXML son archivos XML ordinarios, de modo que eso le permite escoger de entre un amplio abanico de entornos de desarrollo. Se puede desarrollar con un editor de texto sencillo, con un editor de XML exclusivo, o con un entorno de desarrollo integrado (IDE) que sea compatible con la edición de texto. Y como MXML se ajusta a la definición de esquema XML estipulada por el World Wide Web Consortium (W3C), también puede usar la edición estructurada, el coloreado de código y las sugerencias de código (según lo que permita su editor).
Fuente: http://www.adobe.com/es/products/fle...15_tech_wp.pdf
ActionScript 3.0
ActionScript es un lenguaje de programación potente orientado a objetos del entorno de tiempo de ejecución de Adobe® Flash® Player. El lenguaje de programación estándar en el ámbito internacional, ActionScript 3.0, basado en ECMAScript, promueve avances del lenguaje para ofrecer a los desarrolladores un modelo de programación potente para aplicaciones sofisticadas de Internet (RIA). Los desarrolladores pueden conseguir un magnífico rendimiento y sencillez en los desarrollos, lo que facilita aplicaciones muy complejas, gran cantidad de datos y bases de código reutilizable orientadas a objetos. Se ejecuta con la nueva máquina virtual ActionScript (AVM2) en Flash Player 9; ActionScript 3.0 ofrece un rendimiento avanzado para la nueva generación de aplicaciones RIA.
ActionScript 3.0 cumple con el estándar ECMAScript Edition 3 (ECMA-262).
• ECMAScript para XML (E4X) permite la manipulación sencilla de documentos XML gracias a una sintaxis familiar.
• Las expresiones regulares ahorran tiempo de codificación en la búsqueda de cadenas y en los procedimientos de manipulación.
• Eventos DOM Nivel 3 ayuda a los desarrolladores a mantener un código orientado a objetos mejor mediante el uso del modelo de eventos estándar del consorcio W3C.
• El espacio entre nombres y los paquetes mejoran la organización del código y fomentan una estructura de aplicaciones lógica.
• El perfeccionamiento de la depuración y los perfiles de los datos reducen el tiempo de pruebas y facilitan la integración de aplicaciones Flash en entornos de prueba automatizados.
• La gestión de errores y las excepciones mejoradas proporcionan al desarrollador aplicaciones más seguras y potentes.
Nueva máquina virtual
Flash Player 9 incluye una nueva máquina virtual ActionScript (AVM) altamente optimizada llamada AVM2. La nueva máquina virtual, construida desde la base de que sea compatible con la nueva generación de ActionScript, se ha diseñado para ofrecer el rendimiento y las funciones de modo que se cubran las necesidades de desarrolladores de aplicaciones de Internet potentes. AVM2 admite informes de error en tiempo de ejecución, depuración integrada y compatibilidad con conexiones binarias, de modo que los desarrolladores puedan ampliar la capacidad del reproductor para que funcione con cualquier protocolo binario. Flash Player 9 también incorpora AVM1, que ejecuta el contenido heredado de ActionScript, lo que garantiza la compatibilidad retroactiva con el contenido existente.
Mejor rendimiento
Flash Player 9 incorpora mejoras en Flash Player 8 para ejecutar el contenido y las aplicaciones de forma más rápida que anteriormente con distintas mejoras del rendimiento:
• Consiga ejecutar ActionScript 3.0 hasta diez veces más rápido con la nueva máquina virtual y un compilador optimizado.
• Aumente la velocidad del contenido y las aplicaciones gracias a un tiempo de inicio de la aplicación más rápido y una reducción del 50% en el espacio de la memoria.
• Acelere el rendimiento de reproducción mediante gráficos vectoriales en caché más eficaces.
• Mejore la lectura del texto y ofrece un desplazamiento más rápido y mejor de grandes bloques de texto con rutinas optimizadas de procesamiento de texto.
Seguridad mejorada
Flash Player cumple la seguridad sandboxes para aplicaciones, contenidos, datos y URL con el fin de salvaguardar datos confidenciales y ayudar a garantizar una navegación segura para los usuarios finales.
Fuente: http://www.adobe.com/es/products/fla...features/#as30
Mas aplicaciones de ejemplo.
http://flex.org/showcase/
Muchos ejemplos con su respectivo codigo y descarga de fuentes.
http://blog.flexexamples.com/
Fte: Aqui
Introducción básica a Actionscript 3, clases, tipos de datos
Introducción básica a Actionscript 3, clases, tipos de datos
Éste será un primer mini-tutorial de las nuevas cosas que trae Actionscript 3. En ésta entrega veremos la nueva forma de crear clases en AS3, cómo manejar los tipos de datos y usarlos en una aplicación real. El ejemplo está hecho con la versión publica de Flash 9, que puede descargarse gratis de los laboratorios de Adobe; sin embargo, es posible usar este mismo código en Flex 2.
Para prepararlo todo, crearemos un nuevo documento en Flash 9 Alpha. Cambiaremos el tamaño del escenario a 100 x 30 e insertaremos un texto. El texto le pondremos de tipo Dynamic Text y en el nombre de instancia colocaremos numero. Todo debe quedar así:
Éste será un primer mini-tutorial de las nuevas cosas que trae Actionscript 3. En ésta entrega veremos la nueva forma de crear clases en AS3, cómo manejar los tipos de datos y usarlos en una aplicación real. El ejemplo está hecho con la versión publica de Flash 9, que puede descargarse gratis de los laboratorios de Adobe; sin embargo, es posible usar este mismo código en Flex 2.
Para prepararlo todo, crearemos un nuevo documento en Flash 9 Alpha. Cambiaremos el tamaño del escenario a 100 x 30 e insertaremos un texto. El texto le pondremos de tipo Dynamic Text y en el nombre de instancia colocaremos numero. Todo debe quedar así:
En este campo pondremos un número aleatorio de 0 a 999. El código para generar el número aleatorio es igual al que usaríamos para Actionscript 2, pero la forma en la que lo pondremos es lo nuevo que vamos a ver.
Guardamos en alguna carpeta nuestro .FLA como aleatorio.fla. Luego, en la carpeta donde guardamos el .FLA crearemos otra carpeta llamada clases (En minúsculas). Dentro de Flash 9 vamos a File -> New -> ActionScript File. Esto nos creará un archivo .as que guardaremos con el nombre Aleatorio.as dentro de la carpeta "clases" que creamos hace un rato. Aquí empieza lo divertido.
La carpeta que creamos como "clases" es, en Actionscript, un paquete. Los paquetes son colecciones de clases que podemos organizar como carpetas y llamarlas de igual manera dentro de nuestros proyectos.
Novedad de ActionScript 3
- Los paquetes ya existían en Actionscript 2, pero en AS3 debes especificar a que paquete pertenece una clase antes de programarla. Por eso pondremos lo siguiente en Aleatorio.as:
Código :
package clases
{
}
Con esto ya podemos programar la clase cómo lo haríamos en AS2. Incluiremos en el código la definición de la clase y pondremos su constructor.
Novedad de ActionScript 3
- Debemos especificar que la clase es publica con public.
- El constructor debe tener el mismo nombre de la clase y es el único metodo/función que no tiene un tipo de datos de retorno.
Código :
package clases
{
public class Aleatorio
{
function Aleatorio()
{ }
}
}
Ahora añadiremos el valor aleatorio que queremos poner en nuestro campo de texto. Para esto crearemos la función getNumero, que nos devolverá un número de 0 a 999.
Novedad de ActionScript 3
- Es obligatorio especificar si la función será publica o privada.
- Es obligatorio especificar el tipo de datos que retorna la función. Si no retorna nada, debe especificarse que es void
- ActionScript 3 tiene el tipo de datos "int" para números enteros. Es recomendado usarlo en vez de "Number" cuando manejamos números enteros ya que, al ser un tipo especifico de datos, hará más veloz la aplicación.
Código :
package clases
{
public class Aleatorio
{
function Aleatorio()
{ }
public function getNumero() : int
{
return Math.round((Math.random()*1000));
}
}
}
Con nuestra clase lista, volvemos a nuestro archivo .FLA. Vamos al codigo del primer keyframe y ahí importaremos la clase que acabamos de crear. Luego instanciaremos un objeto de nuestra clase Aleatorio y por ultimo llamaremos al metodo "getNumero" para poner el numero aleatorio en nuestro campo de texto "numero":
Novedad de ActionScript 3
- Las variables deben declararse siempre
- Podremos el tipo de datos a las instancias de nuestras clases
- Si vamos a colocar un numero dentro de un campo de texto, debemos primero convertir ese numero a String.
Código :
import clases.Aleatorio;
var alea:Aleatorio = new Aleatorio();
numero.text = new String(alea.getNumero());
Luego damos CTRL+ENTER y al ver un numero en pantalla sabremos que hemos creado nuestra primera aplicación en ActionScript 3.
En nuestra siguiente entrega veremos conceptos más avanzados de AS3, nueva forma de manejo de URLs y más novedades.
[ Descargar ejemplo (Requiere Flash 9 Alpha) ]
Fte: aqui
Suscribirse a:
Entradas (Atom)