<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MadeInFlex &#187; Guasax</title>
	<atom:link href="http://www.madeinflex.com/categoria/guasax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.madeinflex.com</link>
	<description>Creando Soluciones RIA...</description>
	<lastBuildDate>Wed, 30 Nov 2011 16:04:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WedTool.com, cásate con Flex!</title>
		<link>http://www.madeinflex.com/2008/09/17/wedtoolcom-casate-con-flex/</link>
		<comments>http://www.madeinflex.com/2008/09/17/wedtoolcom-casate-con-flex/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 17:03:33 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2008/09/17/wedtoolcom-casate-con-flex/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 0 -->Ya hemos liberado la primera Beta de WedTool.com, la aplicación web desarrollada sobre Flex que te permite organizar tu boda y crear la web de tu boda

Han sido bastantes meses de desarrollo y por fin podemos publicar este servicio para que el usuario final lo pueda utilizar y comenzar  a crear la web de [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 0 --><p>Ya hemos liberado la primera Beta de <a href="http://www.wedtool.com/wedtool/init.action?track=x07">WedTool.com</a>, la aplicación web desarrollada sobre Flex que te permite <strong>organizar tu boda y crear la web de tu boda</strong></p>
<div align="center"><a href='http://www.wedtool.com/wedtool/init.action?track=x07' title='WedTool.com, diviértete organizando tu boda!'><img src='http://www.madeinflex.com/wp-content/uploads/2008/09/wedtool_bn.PNG' alt='WedTool.com, diviértete organizando tu boda!' /></a></div>
<p>Han sido bastantes meses de desarrollo y por fin podemos publicar este servicio para que el usuario final lo pueda utilizar y comenzar  a <a href="http://www.wedtool.com/wedtool/showinfopublicwebsite.action?track=x07">crear la web de su boda</a></p>
<p>El próximo 17 de Octubre en el <a href="http://www.madeinflex.com/mifonsite3/">MIF OnSite III</a> tendremos el placer de hacer una charla para contaros todos los detalles tecnológicos de <a href="http://www.wedtool.com/wedtool/init.action?track=x07">WedTool.com</a>, frameworks utilizados, APIs de terceros, interacción entre Flex y AJAX, SaaS, modelos de negocio en este sentido, etc&#8230; y como puede una Start-up desarrollar un servicio de este tipo apoyandose de una tecnología como Flex.</p>
<p>Animaros a venir  y nos vemos en el <a href="http://www.madeinflex.com/mifonsite3/">MIF OnSite III!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2008/09/17/wedtoolcom-casate-con-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MIF ONSITE I: Inscripción abierta</title>
		<link>http://www.madeinflex.com/2007/10/27/mif-onsite-i-inscripcion-abierta/</link>
		<comments>http://www.madeinflex.com/2007/10/27/mif-onsite-i-inscripcion-abierta/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 10:03:10 +0000</pubDate>
		<dc:creator>Xavi Beumala</dc:creator>
				<category><![CDATA[AIR (Apollo)]]></category>
		<category><![CDATA[AUG]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Guasax]]></category>
		<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/10/27/mif-onsite-i-inscripcion-abierta/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 1 -->Como hemos venido anunciando a lo largo de la semana, el día 13 de Noviembre celebraremos MIF ONSITE I en el contexto del European User Group Tour. Un encuentro presencial TOTALMENTE GRATUITO y con pizza de REGALO. 
Como contaba Carlos esta vez contaremos con la extraordinaria presencia de Joan Garnet, autor MIF y uno de [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Como hemos venido anunciando a lo largo de la semana, el día 13 de Noviembre celebraremos MIF ONSITE I en el contexto del European User Group Tour. Un encuentro presencial <b>TOTALMENTE GRATUITO</b> y con pizza de <b>REGALO</b>. </p>
<p><a href="http://www.madeinflex.com/2007/10/23/mif-onsite-i-con-mike-chambers">Como contaba Carlos</a> esta vez contaremos con la extraordinaria presencia de <b>Joan Garnet</b>, <a href="http://www.madeinflex.com/team/#toc-joan-garnet">autor MIF</a> y <a href="http://www.joangarnet.com/blog/">uno de los activos con más presencia en la comunidad latino-española entorno a Flash y Flex</a>. <b>Íngel Blesa</b>, <a href="http://www.guasax.com/guasax/web/en/index.php">autor del valioso framework GUASAX</a> y <a href="http://www.madeinflex.com/team/#toc-angel-blesa">autor de MIF</a>. <b><a href="http://www.mikechambers.com/blog">Mike Chambers</a></b> y <b><a href="http://www.theflashblog.com/">Lee Brimelow</a></b>, ¡¿<a href="http://www.google.es/search?q=%22mike+chambers%22&#038;sourceid=navclient-ff&#038;ie=UTF-8&#038;rlz=1B3GGGL_esES246">Qué decir de ellos</a> <a href="http://www.google.es/search?q=%22Lee+Brimelow%22&#038;sourceid=navclient-ff&#038;ie=UTF-8&#038;rlz=1B3GGGL_esES246">que no se sepa y no se haya dicho ya</a>?!</p>
<p>Sin duda una oportunidad para conocer a la gente que ha marcado el ritmo tecnológico alrededor de Internet los últimos años y que sin ningún tipo de duda lo continuará marcando durante los grandes años que nos quedan por delante!</p>
<p>Podéis leer más información sobre el evento y la agenda en:</p>
<ul>
<li><a href="http://www.madeinflex.com/2007/10/23/mif-onsite-i-con-mike-chambers">Presentación del evento</a></li>
<li><a href="http://www.madeinflex.com/2007/10/26/mif-onsite-i-agenda">Agenda</a></li>
<li><a href="http://www.mikechambers.com/blog/2007/10/15/european-user-group-tour-mike-chambers-and-lee-brimelow/">European User Group Tour</a></li>
</ul>
<p>Si ya te has decidido sólo tienes que rellenar el siguiente formulario para <b>RESERVAR PLAZA</b>. Es <b>MUY IMPORTANTE</b> que lo hagas ya que las <b>plazas</b> son <b>limitadas</b>. Por otro lado y mucho a nuestro pesar, esta vez <b>no va a ser posible retransmitir el evento en directo ni estará disponible en diferido</b>. Si necesitáis un justificante de asistencia no habrá problema. El temario, la compañía y un día en Barcelona lo merecen! <img src='http://www.madeinflex.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><!--<div id="swfE4f36d49f85df11e" class="swfembed"><img src="/swf/regFormMifOnSite/registration.jpg"/><br/>(Flash Player 9 Requerido)</div><script type="text/javascript">

webEngInsertWPFlash('swfE4f36d49f85df11e','/swf/regFormMifOnSite/registration.swf','500','250','9','#ffffff','/img/entries/registration.jpg');

</script>--></p>
<p style="color:red">INSCRIPCIONES CERRADAS</p>
<h1 id="toc-nos-vemos-en-barcelona">Nos vemos en Barcelona!</h1>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/10/27/mif-onsite-i-inscripcion-abierta/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Guasax estrena web</title>
		<link>http://www.madeinflex.com/2007/10/02/guasax-estrena-web/</link>
		<comments>http://www.madeinflex.com/2007/10/02/guasax-estrena-web/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 06:53:44 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/10/02/guasax-estrena-web/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Ya hacía tiempo que estamos con la web de guasax a medias y por fin hemos podido completar el diseño de Ricardo y hacer pública la web. 
En la web de guasax pretendemos centralizar todos los recursos como ejemplos, tutoriales, descargas, últimas noticias, blog, etc..
Desde luego aquí en MIF seguiremos mostrando los casos de uso [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Ya hacía tiempo que estamos con la <a href="http://www.guasax.com">web de guasax </a>a medias y por fin hemos podido completar el <a href="http://ricardotayar.wordpress.com/">diseño de Ricardo</a> y hacer pública la web. </p>
<p>En la <a href="http://www.guasax.com">web de guasax </a>pretendemos centralizar todos los recursos como ejemplos, tutoriales, descargas, últimas noticias, blog, etc..</p>
<p>Desde luego aquí en MIF seguiremos mostrando los casos de uso más interesantes para la comunidad y las noticias más relevantes del framework.</p>
<p>Después de un verano de descanso, retomamos temas pendientes que quedan por desarrollar en el framework , en primer lugar extenderemos la funcionalidad del ServiceLocator para soportar de manera trasparente HTTPServices y WebServices,como ya se manejan los RemoteObject, y sacaremos una funcionalidad de guasax que soporta la creación de componentes en tiempo de ejecución  a partir del fichero de configuracion guasax-conf.xml.</p>
<p>Bueno esperamos que os guste <a href="http://www.guasax.com">la web </a>y estamos abiertos a cualquier comentario o consideración.s2.</p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/10/02/guasax-estrena-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MiniFlexStore Guasax en AMFPHP1.9</title>
		<link>http://www.madeinflex.com/2007/08/08/miniflexstore-guasax-con-remoteservice-sobre-amfphp19/</link>
		<comments>http://www.madeinflex.com/2007/08/08/miniflexstore-guasax-con-remoteservice-sobre-amfphp19/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 19:03:25 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/08/08/miniflexstore-guasax-con-remoteservice-sobre-amfphp19/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Hace unos días publique en el blog de guasax una entrada sobre el ejemplo de Mini Flex Store que vimos aqui en MIF, pero en el que accedemos a la lista de productos a través de un RemoteService en PHP sobre AMFPHP1.9.
En el ejemplo anterior que publicamos aquí la lista de productos se devolvía directamente [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Hace unos días publique en el <a href="http://www.guasax.com/blog/2007/08/01/guasax-mini-flex-store-with-remote-service-and-amfphp19/">blog de guasax</a> una entrada sobre el <a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/">ejemplo de Mini Flex Store</a> que vimos aqui en MIF, pero en el que accedemos a la lista de productos a través de un RemoteService en PHP sobre AMFPHP1.9.<br />
En el ejemplo anterior que publicamos aquí la lista de productos se devolvía directamente desde la clase de BussinessObject de producto, simulando que se hacía una llamada al servidor para conseguir los datos. En este ejemplo vamos a ver como se consigue la lista de productos desde un servicio PHP invocado como un RemoteObject, a través de AMFPHP1.9</p>
<p><span id="more-470"></span></p>
<p>Como podemos ver en siguiente codigo desde el BussinessObjects de ProductoBO se hace esta llamada a través del ServiceLocator de guasax:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="520" height="150" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=520&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=470&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="520" height="150" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=520&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=470&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En la llamada al servicio le pasamos el nombre del Servicio, declarado en el fichero Services.mxml, el nombre del método o función a ejecutar, un array con los parámetros a pasar a este método remoto, la función que será llamada si el resultado de la ejecución es Ok y de la que podemos obtener los datos devueltos, la función que se ejecutará si se produce algún error, y por último la instancia en si misma de este objeto (this), para que guasax pueda monitorizar esta petición de datos, como veremos en posteriores ejemplos.</p>
<p>Como podemos ver en el código del Services.mxml, declaramos el servicio que vamos a utilizar y hacemos referencia a una  "destination" , de nombre "amfphp". Así mismo indicamos el "source" de este RemoteService para indicar la clase de PHP que atenderá a este servicio. En este caso "miniflexstore.es.guasax.samples.miniflexstore.ServiceManager".</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="520" height="150" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=520&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=470&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="520" height="150" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=520&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=470&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Para configurar el cliente Flex nos falta declarar o definir un fichero , en el caso de esta aplicacion se llama amfphp19-services-config.xml, en el que indicaremos la destination "amfphp" y el channel que va a utilizar , apuntando al gateway php de amfphp que va a recibir las peticiones de ejecución de metodos.</p>
<p>Como podeis ver <a href="http://www.guasax.com/blog/2007/08/01/guasax-mini-flex-store-with-remote-service-and-amfphp19/">en la entrada del blog de guasax</a> teneis los enlaces para ver la aplicación online, ver el codigo fuente online también, y descargar el proyecto Flex y el codigo PHP para ejecutar la aplicación en nuestro ordenador.</p>
<p>Espero que es resulte interesante la combinación de Guasax y AMFPHP , y si teneis cualquier duda, aqui estamos para echaros una mano. </p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/08/08/miniflexstore-guasax-con-remoteservice-sobre-amfphp19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caso de estudio: FlexStore con Guasax</title>
		<link>http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/</link>
		<comments>http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 22:30:03 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Casos de uso]]></category>
		<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Como veíamos en el post anterior, hemos pasado la versión inicial del Flex Store simplificado a una versión bajo el framework de Cairngorm. En este post pasaremos esta misma aplicación a la versión con guasax para poder apreciar mejor los pros y los contras de una u otra solución.
En este ejemplo no hacemos uso de [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Como veíamos en el post anterior, hemos pasado la versión inicial del Flex Store simplificado a una versión bajo el framework de Cairngorm. En este post pasaremos esta misma aplicación a la versión con guasax para poder apreciar mejor los pros y los contras de una u otra solución.</p>
<p>En este ejemplo no hacemos uso de todas las posibilidades que nos aporta el framework, roles de usuario, interceptors, reutilización de componentes, acceso a servicios remotos,acciones delegadas entre componentes,  etc... Pero permite apreciar de una manera muy sencilla la forma de lanzar los casos de uso de nuestra aplicación.</p>
<p>Comencemos entonces, a ver esta versión y analizar las posibilidades que nos aporta este framework en el desarrollo de nuestros proyectos.</p>
<p><span id="more-442"></span></p>
<div class="toc">
<ol>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-fichero-principal-de-la-aplicacion">Fichero principal de la aplicación</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-creacion-del-fichero-guasax-conf-xml">Creación del fichero guasax-conf.xml</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-de-los-command-a-los-business-objects">De los Command a los business objects</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-invocando-las-acciones-desde-la-vista">Invocando las acciones desde la vista</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-conclusiones">Conclusiones</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-enlaces-y-recursos">Enlaces y recursos</a></li>
<li><a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/#toc-las-3-versiones-del-ejemplo-flex-store-simplificado">Las 3 versiones del ejemplo Flex Store simplificado</a></li>
</ol>
</div>
<p>En primer lugar para los que tengan dudas de como se plantea una programa bajo el framework guasax , recomiendo echar un vistazo a los post del <a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/">Hola mundo en guasax</a>, y ejemplo <a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/">Calculadora en guasax</a>, en los que se define la forma de crear un proyecto guasax, y como poner en marcha el mismo.</p>
<p>Para seguir el articulo , podéis <a href="http://www.guasax.com/examples/tiendavirtualguasax/Main.html">ver el ejemplo online</a> pudiendo <a href="http://www.guasax.com/examples/tiendavirtualguasax/srcview/index.html">acceder al código fuente</a>, y descargar el <a href="http://guasax.googlecode.com/files/TiendaVirtualGuasax.rar">proyecto para importar en Flex Builder aqui</a>.</p>
<h3 id="toc-fichero-principal-de-la-aplicacion">Fichero principal de la aplicación</h3>
<p>En primer lugar vemos como cargamos el fichero de configuración de guasax en el fichero Main.mxml de la aplicación, ejecutamos el método initGuasax en el evento preinitialize="initGuasax()".</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Cuando termina de parsear el fichero y cargar el framework , ejecutamos el método inicializaModeloDeDatos, llamando la caso de uso PIDE_PRODUCTOS. Vemos comentadas las lineas de las otros dos versiones del ejemplo.</p>
<h3 id="toc-creacion-del-fichero-guasax-conf-xml">Creación del fichero guasax-conf.xml</h3>
<p>En el fichero guasax-conf.xml definimos los componentes y las acciones de estos, que queremos invocar en nuestra aplicación a través del framework. Una vez definidas estas acciones podremos invocarlas desde cualquier parte de nuestra aplicación.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En este fichero definimos dos componentes, con sus acciones y los métodos de las clases BO (Business Object) que se van a ejecutar cuando invoquemos estas acciones.<br />
Como veremos en posteriores ejemplos podemos incluir mas ficheros de definición de componentes desde este fichero de configuración pudiendo separar en varios ficheros la configuración de los componentes de nuestra aplicación.<br />
Acompañando al fichero de configuración en muy recomendable definirnos un fichero de constantes en las que definir los nombres de los métodos , de los servicios remotos , y de las vistas.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>De esta manera a lo largo de nuestro código siempre invocaremos a nuestras acciones de negocio, servicios remotos, recuperaremos las vistas del ViewLocator, a través de constantes, para tener menos dependencia de los nombres (String) que ponemos a los métodos y poder referenciarlos siempre a través de una constante, fácilmente accesible.</p>
<h3 id="toc-de-los-command-a-los-business-objects">De los Command a los business objects</h3>
<p>Como hemos visto en el fichero de configuración, para este ejemplo creados dos clases que harán las veces de business objects, concentrando la lógica de nuestra aplicación en la que accederemos y modificaremos el modelo de datos. Estás clases agruparan conceptualmente los métodos relacionados con los Productos y los Pedidos.</p>
<p>A diferencia de las clases comando del ejemplo con Cairngorm , en este caso los métodos de los BO reciben los parámetros directamente en lugar de una clase Event de la que se extraen los atributos que pasamos al método.</p>
<p>Los métodos de estos BO deben estar totalmente desacoplados de la vista sin tener que hacer referencia directamente a ningún elemento del interface de usuario, para poder ser reutilizados sin tener que tener presente una dependencia con dicho interface. De esta manera conseguimos un mayor grado de reutilización en nuestros componentes. </p>
<h3 id="toc-invocando-las-acciones-desde-la-vista">Invocando las acciones desde la vista</h3>
<p>Para cada una de los disparos de los eventos que veíamos en el ejemplo con cairngorm tenemos en este caso una invocación a una acción de guasax. En el ejemplo con cairngorm había una serie de acciones que desencadenaban una actualización del interface, en este caso esas acciones se llevan a cabo llamando a través de GuasaxContainer, a un método de la vista.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Como vemos en estos dos ejemplos de llamadas(de la clase FormEnvioDatos.mxml) , tenemos un método en el framework que nos permite ejecutar un método de una vista pasándole el objecto que representa esa vista (previamente lo hemos almacenado con una key en el ViewLocator), el nombre  del método, y los parámetros que queremos pasarle como un Array.</p>
<p>En el codigo de arriba recuperamos el objeto vista que previamente hemos metido en el ViewLocator, con el nombre ConstantsApp.PROCESAR_PEDIDO_VIEW, que corresponde en este caso con la vista ProcesarPedido.mxml.<br />
En esta vista tenemos el metodo selectedView, desde el que actualizamos el indice del viewStack.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En el fichero principal Main.mxml , también tenemos un método selectedView en el que dependiendo de que valor pasamos al mismo, llevamos a cabo un efecto u otro, en este caso rotamos el Cubo hacia un sentido u otro.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=5&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=5&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En nuestras vistas podemos tener todos los métodos de actualización que queramos, con cualquier nombre y con cualquier paso de parámetros. No estamos limitados a un solo método selectedView. Podemos definir métodos concretos que lleven a cabo trabajos concretos sobre las vistas que sean invocados después de finalizar diferentes acciones de los BO, dependiendo de como esas sean llamadas, con redirección a la vista y sin redirección. </p>
<p>Para el resto de acciones del ejemplo que llaman a acciones tenemos invocaciones del tipo , executeAction, como podemos ver en el metodo agregarLineaDePedido() del  fichero DetalleProducto.mxml</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="250" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=6&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="250" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=250&file=http://www.madeinflex.com/index.php&ftf=true&postID=442&no=6&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Por ejemplo, en el código de arriba vemos las tres formas de invocar a la misma acción en cada una de las versiones.</p>
<h3 id="toc-conclusiones">Conclusiones</h3>
<p>De una manera muy breve:<br />
- Los Events y Commands en Cairngorm se sustituyen por los métodos de nuestros diferentes componentes de negocio o business objects. Conseguimos con esta agrupación una menor cantidad de clases, Eliminando las clases comando y las clases evento, siendo sustituidas por las clases business  objects en las que agrupamos conceptualmente nuestros métodos de negocio</p>
<p>- El FrontController de Cairngorm desaparece en la versión en guasax, en la creamos un fichero de configuración donde definimos los componentes , sus acciones, y modificadores sobre las mismas como interceptors, roles, etc....</p>
<p>- En la versión con guasax , no tienes que extender tus clases de ninguna clase del framework, para que estas desarrollen su trabajo. Es un framework poco intrusivo.</p>
<p>- La actualización del interface no la hacemos a través de unas variables en el modelo, sino que tenemos una método concreto en el framework para llevar a cabo invocaciones a métodos definidos en nuestros ficheros de vista. De esta manera no acoplamos nuestra vista a nuestro Modelo de datos.</p>
<p>- En el momento de ejecutar una acción de tu lógica de negocio, puedes pasar que vista/s quieres que sea notificada(ejecutando un método de la misma) después de ejecutar el método del business  object. Este encadenamiento de ejecución de una parte de logica y otra de la vista(a la que llamamos coloquialmente, "redirección a la vista") , no esta definida en tiempo de compilación, sino que se lleva a cabo en tiempo de ejecución, en el momento de invocar el "executeAction", por lo que logica de negocio y vista no esta acoplados en ningún momento.<br />
Nuestras clases de negocio no saben absolutamente nada de las acciones de vista que les van a seguir, estas serán indicadas desde el lugar en el que se lance la acción, en tiempo de ejecución. De esta manera en un determinado momento nos puede interesar que a una acción le acompañe una ejecución de un método en una determinada vista de nuestra interface, pero en otro momento nos puede interesar solamente ejecutar la acción sin redireccionar a un método de la vista seguidamente.</p>
<p>En posteriores post analizaremos más funciones como acceso a servicios remotos, reutilización de componentes, encadenamiento de acciones, funciones delegadas en otros componentes, etc... viendo las posibilidades que nos brinda guasax para solventar estas acciones en nuestros programas.</p>
<h3 id="toc-enlaces-y-recursos">Enlaces y recursos</h3>
<p>- <a href="http://guasax.googlecode.com/files/TiendaVirtualGuasax.rar">El enlace para descarga del proyecto</a> lista para ser importado en Flex Builder</p>
<p>- <a href="http://www.guasax.com/examples/tiendavirtualguasax/Main.html">El enlace para ver el ejemplo online </a>con la opción de ver codigo fuente activada.</p>
<p>- Fuente para los <a href="http://weblogs.macromedia.com/auhlmann/archives/2007/03/distortion_effe.cfm">efectos de distorsión mostrados</a> en el ejemplo</p>
<h3 id="toc-las-3-versiones-del-ejemplo-flex-store-simplificado">Las 3 versiones del ejemplo Flex Store simplificado</h3>
<p>- Sin framework: Articulo 1 version <a href="http://www.madeinflex.com/2007/04/22/caso-de-estudio-flex-store-simplificado/">Flex Store simplificado</a>.</p>
<p>- Cairngorm: Articulo 2 version <a href="http://www.madeinflex.com/2007/05/31/caso-de-estudio-flex-store-simplificado-version-cairngorm/">Flex Store simplificado Cairngorm</a>.</p>
<p>- Guasax: Articulo 3 version <a href="http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/">Flex Store simplificado Guasax</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/06/04/caso-de-estudio-flexstore-con-guasax/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ejemplo calculadora en Guasax</title>
		<link>http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/</link>
		<comments>http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#comments</comments>
		<pubDate>Tue, 15 May 2007 19:01:23 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Después del primer   ejemplo de HolaMundo de  guasax   , vamos a desarrollar un segundo articulo en el que podremos ver un ejemplo, un poquito más elaborado en el que se trabajan otro tipo de llamadas al framework para que ejecute una acción.Veremos como trabajamos con una clase ModelLocator, y como [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Después del primer  <a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/"> ejemplo de HolaMundo de  guasax </a>  , vamos a desarrollar un segundo articulo en el que podremos ver un ejemplo, un poquito más elaborado en el que se trabajan otro tipo de llamadas al framework para que ejecute una acción.Veremos como trabajamos con una clase <strong>ModelLocator</strong>, y como pasamos objetos tipo <strong>Value Object</strong> a una acción Guasax, y trabajamos con estos.<br />
Al final del articulo podéis encontrar todos los enlaces necesarios para descargaros el código fuente del ejemplo, observar el  ejemplo online(con la opción ViewSource habilitada), y la documentación actual de guasax.<br />
Al igual que en el ejemplo anterior , hemos grabado un <a href="http://www.guasax.com/videos/CalcExampleVideo/calcexample2.htm">video tutorial de 5 minutos</a>, que podéis ver online  o <a href="http://guasax.googlecode.com/files/CalcExampleVideo14052007.zip">descargar aqui</a></p>
<p><span id="more-375"></span></p>
<div class="toc">
<ol>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-algunos-cambios-en-guasax">Algunos cambios en guasax</a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-fichero-de-configuracion-de-guasax">Fichero de configuración de Guasax </a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-inicio-de-la-aplicacion-cargamos-la-configuracion">Inicio de la aplicación.Cargamos la configuración</a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-ejecutando-una-operacion-en-la-calculadora">Ejecutando una operación en la calculadora</a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-reutilizando-el-bo-entre-varias-vistas-de-la-calculadora">Reutilizando el BO entre varias vistas de la calculadora</a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-video-tutorial-con-el-ejemplo">Video tutorial con el ejemplo</a></li>
<li><a href="http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/#toc-enlaces-recursos-y-codigo">Enlaces, recursos, y codigo</a></li>
</ol>
</div>
<h3 id="toc-algunos-cambios-en-guasax">Algunos cambios en guasax</h3>
<p>En primer lugar comentar que hemos llevado a cabo algunos cambios en guasax, para poder definir varios ficheros xml de configuración por separado, y hemos cambiado la forma de cargar el fichero principal de configuración para que sea aún más sencilla la inicialización del framework. Estos cambios están ya en el repositorio SVN y hemos compilado una nueva librería de guasax , v0.9.2a, para poder descargar aparte del código fuente.</p>
<h3 id="toc-fichero-de-configuracion-de-guasax">Fichero de configuración de Guasax </h3>
<p>En el fichero de configuración para esta aplicación definimos las acciones que queremos invocar. La estructura del fichero XML es esta:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="150" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="150" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Tenemos un componente calculator, con una sola action, calculate.</p>
<h3 id="toc-inicio-de-la-aplicacion-cargamos-la-configuracion">Inicio de la aplicación.Cargamos la configuración</h3>
<p> La carga de la configuración de la aplicación la hacemos a través de una llamada al metodo init() , a través del evento <strong>creationComplete</strong>. En este método llamamos al método parseConfFile("./conf/guasax-conf.xml",onLoadComplete); pasando el  path al fichero de configuración y una función de callBack que será invocada cuando se termine la carga del fichero de configuración. Desde esta función podremos realizar las primeras llamadas al framework para ejecutar acciones.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="150" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="150" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En este caso en el función onLoadComplete de nuestro código no tenemos que llevar a cabo ninguna operación.</p>
<h3 id="toc-ejecutando-una-operacion-en-la-calculadora">Ejecutando una operación en la calculadora</h3>
<p>Para hacer uso de esta acción hemos preparado diversos escenarios donde la podemos invocar. En primer lugar la llamamos del interface principal.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="260" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=260&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="260" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=260&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Con esta llamada ejecutamos la action, <strong>calculate</strong>,  recibimos el VO con los datos de la operación en el BO , llevamos a cabo el calculo y el resultado de la operación lo guardamos en el <strong>ModelLocator</strong>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="300" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=300&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="300" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=300&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Como en el GUI principal tenemos la variable del modelo bindada con un control en el que mostramos el resultado, este se visualiza inmediatamente en el interface principal.</p>
<h3 id="toc-reutilizando-el-bo-entre-varias-vistas-de-la-calculadora">Reutilizando el BO entre varias vistas de la calculadora</h3>
<p>Otra de las formas de invocar a la acción en este ejemplo, es lanzar la operación desde una ventana calculadora , y a su vez que el resultado de la operación se visualice en esta misma ventana. Para ello creamos una ventana calculadora y desde su botón <em>calculateHere</em>, hacemos la siguiente llamada:  </p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="300" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=300&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="300" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=300&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object><br />
En la llamada a la accion , <strong>executeActionWithView </strong>, vemos que en este caso le pasamos además de la acción a ejecutar, y los parametros,  un array de vistas(en este casos <em>this</em>, es decir, la actual), el método a llamar de esa vista, y en caso necesario los parametros de ese metodo en la vista.<br />
Con esta llamada lo que conseguimos es que una vez se ejecute el metodo del BO se llame a ese metodo de esa/s vistas. Es en estos metodos donde podemos continuar con la visualización de los resultados, transiciones, efectos, etc...<br />
En el metodo que vemos mas abajo , recogemos los datos a visualizar del Modelo de nuestra aplicación, actualizamos el interface y lanzamos un efecto.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="150" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=5&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="150" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=150&file=http://www.madeinflex.com/index.php&ftf=true&postID=375&no=5&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>Como vemos en este ejemplo, un mismo método de un BO lo podemos ejecutar desde varios escenarios de uso. Dependiendo de cómo llamemos a esta action a través del contenedor obtendremos un comportamiento u otro.<br />
Así mismo, vemos que trabajando conjuntamente con el concepto de BO , y ModelLocator  como almacenador de nuestros datos de modelo y estado de nuestra aplicación en un momento dado, conseguimos desacoplarnos de la vista, desde la que lanzamos los casos de uso de nuestra aplicación.</p>
<h3 id="toc-video-tutorial-con-el-ejemplo">Video tutorial con el ejemplo</h3>
<p>Como en el ejemplo anterior, hemos creado un video tutorial de 5 minutos , donde mostramos el ejemplo, puedes ver <a href="http://www.guasax.com/videos/CalcExampleVideo/calcexample2.htm">el video online aquí</a>, y lo puedes <a href="http://guasax.googlecode.com/files/CalcExampleVideo14052007.zip">descargar para ver en tu ordenador aquí.</a></p>
<h3 id="toc-enlaces-recursos-y-codigo">Enlaces, recursos, y codigo</h3>
<p>-	<a href="http://www.guasax.com/examples/guasaxcalc/CalculatorMainApp.html">Enlace al ejemplo Guasax Calculator online con viewSource </a></p>
<p>-	<a href=" http://guasax.googlecode.com/files/GuasaxCalcExample.rar"> Descargar el codigo fuente del  proyecto aquí , listo para importar en Flex Builder</a></p>
<p>-	<a href="http://www.guasax.com/videos/CalcExampleVideo/calcexample2.htm">Enlace al video tutorial para visualizar online</a></p>
<p>-	<a href="http://guasax.googlecode.com/files/CalcExampleVideo14052007.zip">Enlace al video tutorial para descargar en zip</a></p>
<p>-	<a href=" http://code.google.com/p/guasax/"> Enlace a googlecode, SVN, wiki, etc... </a></p>
<p>-	<a href=" http://www.guasax.com/blog/"> Enlace al blog de guasax </a></p>
<p>Esperamos que os haya resultado interesante, en posteriores ejemplos veremos las funciones que nos aporta guasax para desarrollar aplicaciones que hagan uso de Flex Data Services, crearemos un ejemplo de mantenimiento típico en base de datos de una entidad de nuestro modelo de negocio,  y nos queda mucho por explorar de guasax, interceptors, roles, componentes reutilizables, ... un montón de funciones que esperamos os resulten muy interesantes. Un saludo.</p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/05/15/ejemplo-calculadora-en-guasax/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>VideoTutorial HolaMundo en guasax</title>
		<link>http://www.madeinflex.com/2007/04/25/videotutorial-holamundo-en-guasax/</link>
		<comments>http://www.madeinflex.com/2007/04/25/videotutorial-holamundo-en-guasax/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 12:59:47 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/04/25/videotutorial-holamundo-en-guasax/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Hemos creado un video tutorial sobre el ejemplo del HolaMundo en guasax, que podéis descargar desde aqui y visualizar en vuestro ordenador.
En este enlace lo podeis ver online , pero el ancho de banda es un poco limitado y hay que tener un poquito de paciencia.
Esperamos que os resulte útil para iniciaros con guasax. La [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Hemos creado <a href="http://guasax.googlecode.com/files/HelloWorldExampleVideo24042007.rar">un video tutorial</a> sobre el ejemplo del HolaMundo en guasax, que podéis descargar desde <a href="http://guasax.googlecode.com/files/HelloWorldExampleVideo24042007.rar">aqui</a> y visualizar en vuestro ordenador.</p>
<p><a href="http://www.guasax.com/videos/HelloWorldExampleVideo/HelloWorldExampleVideo.htm">En este enlace lo podeis ver online</a> , pero el ancho de banda es un poco limitado y hay que tener un poquito de paciencia.</p>
<p>Esperamos que os resulte útil para iniciaros con guasax. La idea es ir sacando en video tutorial cada uno de los capítulos que vamos a  publicar sobre guasax. </p>
<p>Para cualquier cuestión, no dudéis en comentar.</p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/04/25/videotutorial-holamundo-en-guasax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplo HolaMundo en guasax</title>
		<link>http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/</link>
		<comments>http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 06:13:56 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Despues de la  presentación de  guasax   , vamos a comenzar unas serie de capítulos mostrando las diferenes posibilidades que nos ofrece el framework a la hora de programar aplicaciones Flex/Apollo.
En este primer capitulo de la saga comenzaremos con el ejemplo del HolaMundo. Aunque el ejemplo es trivial, nos permitirá introducir una [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>Despues de la <a href=" http://www.madeinflex.com/2007/04/11/guasax-flex-framework//"> presentación de  guasax </a>  , vamos a comenzar unas serie de capítulos mostrando las diferenes posibilidades que nos ofrece el framework a la hora de programar aplicaciones Flex/Apollo.</p>
<p>En este primer capitulo de la saga comenzaremos con el ejemplo del HolaMundo. Aunque el ejemplo es trivial, nos permitirá introducir una serie de cuestiones necesarias para preparar cualquiera de nuestros futuros programas en guasax. </p>
<p>Al final del articulo podeis encontrar todos los enlaces necesarios para descargaros el código fuente del ejemplo,<br />
observar el ejemplo online(con la opción viewSource), y la documentación actual de guasax tanto en googlecode, como en el blog.<br />
<span id="more-335"></span></p>
<div class="toc">
<ol>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-preparando-el-entorno">Preparando el entorno</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-creando-el-proyecto">Creando el proyecto</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-el-fichero-principal-de-nuestra-aplicacion">El fichero principal de nuestra aplicación</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-configurando-las-acciones-en-xml">Configurando las acciones en XML</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-creando-la-logica-de-negocio-los-bo">Creando la logica de negocio. Los BO</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-invocando-la-accion">Invocando la acción</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-en-el-siguiente-ejemplo-veremos">En el siguiente ejemplo veremos</a></li>
<li><a href="http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/#toc-enlaces-recursos-y-codigo">Enlaces, recursos, y codigo</a></li>
</ol>
</div>
<h3 id="toc-preparando-el-entorno">Preparando el entorno</h3>
<p>En cuanto al entorno de programación nos vale tanto FlexBuilder 2.0.1 standalone como Eclipse WTP + Plugin Flex Builder. </p>
<p>Particularmente recomiendo y os animo a que utiliceis la segunda opción. Hace tiempo<br />
publicamos <a href http://ablesa.wordpress.com/2007/03/24/tutorial-instalacion-eclipse-wtp-flex-fds-plugin-y-apollo/"> un tutorial </a> para llevar a cabo la instalación de  todas las herramientas necesarias. Para posteriores ejemplos y trabajo con FDS nos resultará muy util.</p>
<h3 id="toc-creando-el-proyecto">Creando el proyecto</h3>
<p>Para seguir este tutorial podemos bajar el codigo fuente del proyecto e importarlo en nuestro entorno de programación. Podeís <a href="http://guasax.googlecode.com/files/GuasaxHelloWorldExample.rar "> descargar el proyecto aquí </a>.</p>
<p>Una vez importado el proyecto en nuestro Flex Builder , o al crear un proyecto nuevo, tenemos que tener en cuenta 3 cosas principalmente.</p>
<ol>
<li>Tenemos que cargar la librería  GuasaxLibrary.swc en build path de flex.</li>
<li>Tenemos que copiar el directorio locale, con  el fichero mensajes, al root de nuestro proyecto.</li>
<li>Tenemos que actualizar las opciones de compilación para leer el fichero de mensajes del directorio adecuado.</li>
</ol>
<p>Estos pasos a seguir los hemos<br />
<a href=" http://code.google.com/p/guasax/wiki/Quickstart"> descrito también aquí </a></p>
<p>Si partimos del codigo de ejemplo del programa HolaMundo que os comento más arriba ya tendremos resultos estas cuestiones, la unica salvedad puede ser actualizar algunas rutas absolutas de directorios que nos coloca FlexBuilder, cuestión que podemos resolver editando las propiedades del proyecto y actualizando el <em>Flex Build path -> Libray path</em>. </p>
<h3 id="toc-el-fichero-principal-de-nuestra-aplicacion">El fichero principal de nuestra aplicación</h3>
<p>Este ejemplo tenemos un minimo numero de ficheros para llevar a cabo la función del holamundo,<br />
en primer lugar tenemos un fichero MXML principal en el que definiremos el interface necesario para invocar<br />
la operación mediante un botón. Desde la función que maneja el "click" del botón realizaremos la invocación del metodo mediante guasax.<br />
Además en el evento <em>"creationComplete"</em> de la aplicación , iniciaremos el framework cargado el fichero de configuración de nuestros componentes en el contenedor.</p>
<p>Aquí podemos ver el codigo del fichero MXML.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="200" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="200" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=0&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<h3 id="toc-configurando-las-acciones-en-xml">Configurando las acciones en XML</h3>
<p>Una vez que sabemos que acciones queremos invocar tenemos que definir las mismas en un fichero XML que agrupe las mismas en componentes. La estructura del fichero XML para este ejemplo es esta:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="200" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="200" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=1&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En este ejemplo solamente tenemos un componente con una acción. En la definición del componente además de darle un identificador, tenemos que proporcionarle el nombre cualificado de la Clase que va a implementar los metodos de las acciones que vamos a invocar.<br />
Dentro del elemento <em>"component"</em> definimos las acciones.<br />
En este ejemplo tenemos una sola acción con un identificador <em>id="sayHello"</em>, por el cual será invocada a través del guasax container, y un nombre de metodo <em>method="sayHello"</em> , que identifica el nombre del metodo real que vamos a ejecutar cuando disparemos esta acción.<br />
En este ejemplo se llaman igual pero esto no tiene porque ser así.<br />
Hay una serie de atributos que pueden tener los elementos action y component que trataremos en posteriores ejemplos.</p>
<h3 id="toc-creando-la-logica-de-negocio-los-bo">Creando la logica de negocio. Los BO</h3>
<p>Como hemos comentado arriba , las acciones se invocan de un determinado componente , representado por una clase que denominamos Bussiness Object, u objeto de negocio, en la que delegamos la logica de nuestra aplicación relacionada con el tratamiento, acceso y trasformación de datos dentro de nuestra aplicación. Igualmente desde este tipo de clases conectaremos con el FDS cuando tengamos que invocar este tipo de servicios. </p>
<p>Para lo cual tambíen tenemos en guasax una clase de utilidad , ServiceLocator, que nos ayudará en este fin.<br />
Como podemos ver en la clase HelloWorldBO , esta es una clase que en Java denominariamos un POJO (Plain Old Java Object), es decir una clase que no recibe la intrusión del framework en forma de implementación de interfaces o extensión de clases, ligándola a un determinado entorno de ejecución o contenedor. Es una clase simple utilizable en cualquier otra parte de nuetro programa/s sin necesidad de estar bajo el control del framework guasax.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="200" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="200" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=2&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En esta clase simplemente  definimos un metodo que como podemos ver se llama <em>sayHello()</em>, igual que el nombre que hemos indicado en el fichero de configuración en XML , en el atributo <em>method="sayHello"</em></p>
<h3 id="toc-invocando-la-accion">Invocando la acción</h3>
<p>Para invocar cualquier acción siempre tenemos que pensar que la vamos a llamar a través del framework, que como veremos en posteriores ejemplos, nos ayudará a dotar de más posibilidades a la ejecución de un método de nuestra lógica. Para realizar la llamada de una acción tenemos varios metodos, dependiendo del comportamiento que deseemos en la ejecución.</p>
<p>En este ejemplo, simplemente ejecutamos la acción, pasándole, si fuera necesario, los parametros de entrada que recibe el metodo que se ejecuta para esta acción. Como podemos ver en el método de atención al evento <em>"click"</em>  del botón , a través del GuasaxContainer , llamamos al método executeAction, pasándole el identificador (un String) de la acción que queremos ejecutar, y un Array de parametros , en este caso <em>null</em> ya que el método no recibe parametros. Si recibiera parametros , estos se pasarían en el array en el mismo orden en que se reciben los parametros formales del método a ejecutar.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="200" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="200" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=3&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En el caso de que necesitemos recuperar en el mismo lugar de la ejecución el valor que retorna el metodo del BO que estamos ejecutando, recibimos como objeto de retorno de las ejecuciones a los métodos guasax de executeAction un objeto  de tipo ResponseActionVO, en el que tenemos un metodo getResult(), del cual podemos extraer el objeto real que devuelve el método que ejecutamos del BO. Un ejemplo de esto podría ser así:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="450" height="200" id="ftf_wp" align="middle">
		  <param name="movie" value="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" />
		  <param name="quality" value="high" />
		  <param name="scale" value="noscale" />
		  <param name="bgcolor" value="#ffffff" />
		  <param name="flashvars" value="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		  <embed src="http://www.madeinflex.com/./wp-content/plugins/FlashTextFormatter/ftf_wp.swf" quality="high" scale="noscale" bgcolor="#ffffff" width="450" height="200" name="ftf_wp" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="w=450&h=200&file=http://www.madeinflex.com/index.php&ftf=true&postID=335&no=4&def=http://www.madeinflex.com./wp-content/plugins/FlashTextFormatter/definitions/as2.xml&auto=true&" />
		</object></p>
<p>En este ejemplo en la ejecución del metodo, simplemente mostramos un mensaje en forma de Alert.<br />
Desde estos metodos normalmente modificaremos el modelo de nuestra aplicación, invocaremos servicios remotos, o llevaremos a cabo célculos complejos que se realizan en local en nuestra aplicación.</p>
<h3 id="toc-en-el-siguiente-ejemplo-veremos">En el siguiente ejemplo veremos</h3>
<ul>
<li>Introduccion del ModelLocator sobre guasax.</li>
<li>Como desacoplamos la vista de la logica de negocio.</li>
<li>Introducción al  ViewLocator.Como redireccionar a una determinada vista despues de la ejecución de una accion.</li>
</ul>
<h3 id="toc-enlaces-recursos-y-codigo">Enlaces, recursos, y codigo</h3>
<ul>
<li>Enlace al ejemplo <a href="http://www.guasax.com/examples/guasaxhelloworld/GuasaxHelloWorld.html"> HelloWorld online con viewSource </a></li>
<li><a href="http://guasax.googlecode.com/files/GuasaxHelloWorldExample.rar "> Descargar el codigo fuente del  proyecto aquí , listo para importar en Fles Builder</a></li>
<li><a href=" http://code.google.com/p/guasax/"> Enlace a googlecode, SVN, wiki, etc... </a></li>
<li><a href=" http://www.guasax.com/blog/"> Enlace al blog de guasax </a></li>
</ul>
<p>Esperamos que os haya resultado interesante, en posteriores capitulos profundizaremos en las diferentes funciones que nos aporta guasax para desarrollar nuestra funcionalidad en los proyectos Flex.</p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/04/24/ejemplo-holamundo-en-guasax/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Guasax, el origen</title>
		<link>http://www.madeinflex.com/2007/04/18/guasax-el-origen/</link>
		<comments>http://www.madeinflex.com/2007/04/18/guasax-el-origen/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 09:59:09 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/04/18/guasax-el-origen/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->A comienzos del año 2004 trabajábamos en una empresa un grupo de amigos (Urko Benito, JJ, y servidor) en un proyecto Java en entorno Swing. En aquel momento vimos que podía ser positivo organizar el código de nuestra aplicación de una manera similar a frameworks como Struts lo hacían para la web. De esta manera [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p>A comienzos del año 2004 trabajábamos en una empresa un grupo de amigos (<a href="http://sparcki.blogspot.com/">Urko Benito</a>, JJ, y servidor) en un proyecto Java en entorno Swing. En aquel momento vimos que podía ser positivo organizar el código de nuestra aplicación de una manera similar a frameworks como <a href="http://struts.apache.org/2.x/">Struts</a> lo hacían para la web. De esta manera nació guasaj. </p>
<p>Durante el verano y el otoño seguimos trabajando en el proyecto dotando de más funcionalidades a guasaj, y decidimos presentar una ponencia en el II Congreso Javahispano, con la suerte de que fue aceptada. Para este congreso (Dic 2004) creamos el  documento que quería compartir, ya que en este tocamos muchos de los aspectos que se pueden practicar y analizar en guasax. </p>
<p><a href="http://www.madeinflex.com/img/entries/2007/04/guasajexposicionjavahispano2004_v2.pdf">Este documento</a> se basa en la versión del framework para Java pero aún así el planteamiento, posicionamiento, y análisis de la problemática del desarrollo del software en torno a ciertos patrones de diseño, creo que pueden resultar interesantes, y centrar la posterior evolución de <a href="http://guasax.wordpress.com/">guasax</a>.</p>
<p>En el siguiente post publicaré un ejemplo paso a paso, describiendo el código, para crear el primer programa guasax.</p>
<p><a href="http://www.madeinflex.com/img/entries/2007/04/guasajexposicionjavahispano2004_v2.pdf">Enlace al documento</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/04/18/guasax-el-origen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guasax Flex Framework</title>
		<link>http://www.madeinflex.com/2007/04/11/guasax-flex-framework/</link>
		<comments>http://www.madeinflex.com/2007/04/11/guasax-flex-framework/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 21:21:26 +0000</pubDate>
		<dc:creator>Angel Blesa</dc:creator>
				<category><![CDATA[Guasax]]></category>
		<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.madeinflex.com/2007/04/11/guasax-flex-framework/</guid>
		<description><![CDATA[<!-- matched  --><!-- final 2 -->Después de unas cuantas semanas de trabajo ya estamos listos para presentar Guasax.
Guasax es un framework de programación para desarrollar aplicaciones Flex en torno al paradigma / patrón Modelo-Vista-Controlador. 
Con guasax intentamos desacoplar las capas de presentación (vista), de datos y lógica de negocio, proponiendo una forma de llevar a cabo la organización de nuestro [...]]]></description>
			<content:encoded><![CDATA[<!-- matched  --><!-- final 2 --><p><img align="left" width="240" alt="Guasax Logo" src="http://guasax.files.wordpress.com/2007/03/logo_gx_letras2.png" /></p>
<p>Después de unas cuantas semanas de trabajo ya estamos listos para presentar Guasax.<br />
Guasax es un framework de programación para desarrollar aplicaciones Flex en torno al paradigma / patrón Modelo-Vista-Controlador. </p>
<p>Con guasax intentamos desacoplar las capas de presentación (vista), de datos y lógica de negocio, proponiendo una forma de llevar a cabo la organización de nuestro código Flex en torno a componentes reutilizables, que nos ayuden a simplificar la decisión de "que debemos programar en cada sitio y como lo podemos llamar" para mantener nuestro código identificable e incluso predecible en aras de trabajar varios programadores en un entorno colaborativo.</p>
<p><span id="more-306"></span></p>
<h3 id="toc-que-aporta-guasax">¿Que aporta guasax?</h3>
<p>Conceptualmente guasax aporta en Flex utilidades y funcionalidades similares a lo que<a href="http://struts.apache.org/2.x/"> Struts 2.0</a>  aporta a la programación web, con lo que los programadores de Struts y frameworks MVC espero les resulte fácil e interesante a la vez. Igualmente tiene similitudes con Cairngorm 2.1 , sobre todo en la problemática que pretende resolver, mas allá de la forma de resolverlo.</p>
<h3 id="toc-donde-aprender-y-profundizar-mas">¿Donde aprender y profundizar mas?</h3>
<p>Para una introducción más detallada hemos preparado <a href="http://ablesa.files.wordpress.com/2007/04/introduccion_guasax_framework_es.ppt">esta Presentación</a>  </p>
<p>Podéis consultar info, <a href="http://code.google.com/p/guasax/source">código fuente (SVN)</a> ,ejemplos, wiki y demás recursos en el <a href="http://code.google.com/p/guasax/">googlecode de guasax</a>, Guasax es un proyecto totalmente libre con licencia LGPL.</p>
<p>Además hemos creado <a href="http://www.guasax.com">una web</a> (en producción en breve) y un <a href="http://guasax.wordpress.com/">blog</a> especialmente dedicado al framework en los cuales expondremos las posibilidades del mismo, ejemplos, casos de uso reales, documentación, foros, etc.... </p>
<p>En principio tanto los recursos de googlecode como la web en general estarán en inglés, pero desde luego, todo lo que sea documentación escrita, artículos, tutoriales, etc... la sacaremos en castellano también.</p>
<h3 id="toc-que-es-lo-siguiente">¿Que es lo siguiente?</h3>
<p>En sucesivas entradas vamos a ir publicando ejemplos de uso , desde los mas simples a más complejos, con uso extensivo de FDS  y problemáticas típicas que se plantean en el desarrollo de una aplicación  y como guasax las aborda.</p>
<p>Esperamos que os resulte de utilidad y estaremos encantados de recibir vuestro <em>feedback </em></p>]]></content:encoded>
			<wfw:commentRss>http://www.madeinflex.com/2007/04/11/guasax-flex-framework/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

