<?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>Jeff's Musings &#187; Flex</title>
	<atom:link href="http://blog.jeffshurts.com/tags/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jeffshurts.com</link>
	<description>Observations and accumulated wisdom</description>
	<lastBuildDate>Mon, 16 Apr 2012 16:39:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Those folks at Adobe put on a good show&#8230;</title>
		<link>http://blog.jeffshurts.com/2008/11/27/those-folks-at-adobe-put-on-a-good-show/</link>
		<comments>http://blog.jeffshurts.com/2008/11/27/those-folks-at-adobe-put-on-a-good-show/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 02:50:45 +0000</pubDate>
		<dc:creator>Jeff Shurts</dc:creator>
				<category><![CDATA[Professional]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Redpoint]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://blog.jeffshurts.com/?p=30</guid>
		<description><![CDATA[<p>Last week I attended the Adobe Max conference in San Francisco.  It was my first time at this particular conference, and I must say I was impressed.  The keynote speakers were engaging, the forthcoming product suite (Creative Suite 4, CS4 for short) was compelling, and most of the sessions and labs I attended were well worth making the trip from Chicago.</p>
<p>Now that I&#8217;ve had a week to let all the new information bounce around in my head for a while and settle into semi-organized piles of data, I have two major takeaways from the conference.</p>
<p>Firstly, Adobe users <em>love</em> their products, and they&#8217;re tremendously enthusiastic about the direction Adobe is taking them.  In the main sessions, where all 6,000+ attendees were in the same huge room, many new features were met with thunderous applause.  You just don&#8217;t get that sort of thing at a WebSphere conference.</p>
<p>Secondly, if CS4 is a big success &#8211; and I have no doubt but that it will be &#8211; we&#8217;ll start to see changes in the relationship between designers and developers on teams building RIA&#8217;s.  CS4 contains a brilliant piece of software, Flex Catalyst, that lets designers using PhotoShop and Flash save content to the same source files as developers using Flex Builder.  This provides a seamless transition from initial UI mockup to prototype to working application &#8211; and keeps the UI in the hands of the designer a little longer than has traditionally been the case.  Designers can now exert great control over not only over the way an applicaiton <em>looks</em>, but also over the way it <em>behaves</em> as a user interacts with the various widgets in the UI.  This will bring new challenges to RIA developers who work on teams with designers &#8211; developers will have less control, less latitude to say &#8220;We can&#8217;t do that &#8211; it&#8217;ll take too long&#8221;, or &#8220;Sorry, the tool won&#8217;t let us do that.&#8221;  Developers will inherit a prototype that is quite complete in terms of look <em>and feel</em>, and will be focused more on adding functional meat to the UI bones (filling lists with live data, wiring events to real business services, etc.).</p>
<p>Oh, I did forget to mention one thing.  This was my first time in San Francisco.  What a wonderful city!  I&#8217;ll definitely be back&#8230;</p>
]]></description>
		<wfw:commentRss>http://blog.jeffshurts.com/2008/11/27/those-folks-at-adobe-put-on-a-good-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rich domain model use on both client and server in an RIA</title>
		<link>http://blog.jeffshurts.com/2008/10/21/rich-domain-model-use-on-both-client-and-server-in-an-ria/</link>
		<comments>http://blog.jeffshurts.com/2008/10/21/rich-domain-model-use-on-both-client-and-server-in-an-ria/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 13:45:49 +0000</pubDate>
		<dc:creator>Jeff Shurts</dc:creator>
				<category><![CDATA[Professional]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Redpoint]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://blog.jeffshurts.com/?p=13</guid>
		<description><![CDATA[<p>  <body>Here&#8217;s a question for anyone about to select a development platform for rich internet application (RIA) development:&nbsp; How can your choice of languages limit your flexibility in design and architecture?</p>
<p>Of course it <em><strong>can</strong></em>; different programming languages have always had different strengths and weaknesses, and RIA languages are no different.&nbsp; But in what ways?&nbsp; I&#8217;ve been thinking about this quite a bit lately, as Redpoint has been engaged in projects that represent a few variations on the RIA theme.&nbsp; In particular, I&#8217;ve noticed how eerily similar two particular technology stacks are, and yet how different they are in at least one key area.</p>
<p>Consider two applications, both of which use standard Java-based web technology on the application server (say, Tomcat, Spring and Hibernate).&nbsp; For client-side technology, one uses Java Swing (via Web Start), and the other Adobe Flex.&nbsp; Both employ middleware (Spring HttpInvoker on the one hand, Adobe Blaze on the other) to accomplish simple and efficient communication between client and server in the form of serialized objects over HTTP (as opposed to a more verbose SOAP or XML-RPC-based solution).</p>
<p>From many angles, these applications are very similar; the app server receives requests containing binary data (serialized from client-side objects), and returns binary data to the client in response.&nbsp; In neither case do programmers need to pay attention to the object serialization; once it&#8217;s configured into the environment early in the project, it&#8217;s done, and thereafter it &quot;just works.&quot;</p>
<p>But there is one difference, and I think it&#8217;s profound.&nbsp; In the all-Java solution (with the Swing front end), not only does the client receive objects from the server, but &#8211; this is key &#8211; those objects are instances of the same classes the server uses in its JVM.&nbsp; Okay, great &#8211; but why is this important?</p>
<p>It&#8217;s very important if, as an application architect, you&#8217;re interested in building a rich set of domain classes that contain all of the important business rules and operations in the application.&nbsp; (If you&#8217;re content with &quot;domain classes&quot; that are little more than containers for data that&#8217;s been spewed forth by Hibernate, read no further &#8211; the rest won&#8217;t interest you.)</p>
<p>In the Tomcat-to-Swing application, we have tremendous flexibility in terms of location of code that some refer to as &quot;transaction script&quot; &#8211; code that manipulates a rich set of domain objects in order to produce some meaningful outcome (place an order for the latest Tom Petty CD, transfer funds from your beleaguered mutual fund into bonds, etc.).&nbsp; Because the rich behavior of the Java domain classes resides on <strong>both</strong> the server <strong>and</strong> the client, we have the option of writing our transaction script code on the client as well as the server.</p>
<p>In the Tomcat-to-Flex application, this <em>flex</em>ibility, ironically, is gone.&nbsp; The Flex application sits on the other side of a technology chasm &#8211; yes, it is based on objects, and yes, they are returned from the server and magically &quot;appear&quot; in responses received by the client.&nbsp; But the Flex classes are written in ActionScript, not in Java.&nbsp; Which means they are <strong>not</strong> the same behavior-rich set of domain classes that exist in the server JVM.</p>
<p>As an architect of an application with disparate development languages on client and server, you have an important choice to make.&nbsp; Do you maintain two full-featured sets of domain classes, one in ActionScript and one in Java?&nbsp; Or do you treat the ActionScript layer as &quot;domain light,&quot; eschewing the dual development (and more importantly, dual maintenance), and do all of the meaningful application work on the server (where a lot of traditionalists and web service or ESB lovers will argue that it belongs anyway)?</p>
<p>I&#8217;ve built applications both ways.&nbsp; The traditional approach of pushing all of the meaningful application work onto the server does have its benefits, in terms of simplifying the architecture, and helping to ensure that the client app doesn&#8217;t get too &quot;chatty&quot; (communications with a very thin client tend to be less frequent and larger-grained in nature).&nbsp; But there are benefits to taking advantage of a rich client and doing some of the work there.&nbsp; Scalability is one obvious benefit; by allowing the client to do some of the work, you by definition relieve some of the load on the server.&nbsp; All other things being equal, an application that shares processing responsibility between client and server will scale better than one in which the server carries the load alone.&nbsp; The &quot;thicker client&quot; application can also be more responsive, responding quicker and more meaningfully to the user (this is, after all, why we are building rich applications now instead of relying on creaky old HTML forms, right?)</p>
<p>I&#8217;d love to hear from others who have thought about this.&nbsp; Is having a single set of domain classes, with rich behavior available to both client and server, an important consideration when selecting an architecture?&nbsp; Is it important enough to sway your choice of client-side development technologies?</p>
<p>
  </body></p>
]]></description>
		<wfw:commentRss>http://blog.jeffshurts.com/2008/10/21/rich-domain-model-use-on-both-client-and-server-in-an-ria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

