<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Is JSF really that bad?</title>
	<atom:link href="http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/</link>
	<description>"Science is a wonderful thing if one does not have to earn one's living at it" -- Albert Einstein</description>
	<pubDate>Thu, 11 Mar 2010 04:55:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: IT Weblogging Media &#187; JBoss Seam 1.1 正式发布</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-2009</link>
		<dc:creator>IT Weblogging Media &#187; JBoss Seam 1.1 正式发布</dc:creator>
		<pubDate>Thu, 14 Dec 2006 02:06:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-2009</guid>
		<description>[...] * If you are JSF developer, Seam have always provided great enhancements to JSF (e.g., RESTful pages, end-to-end validation with Hibernate validators). Now with Seam 1.1, Seam continues this tradition with more useful JSF components (especially for input validation and page cache) as well as an expanded JSF EL. [...]</description>
		<content:encoded><![CDATA[<p>[...] * If you are JSF developer, Seam have always provided great enhancements to JSF (e.g., RESTful pages, end-to-end validation with Hibernate validators). Now with Seam 1.1, Seam continues this tradition with more useful JSF components (especially for input validation and page cache) as well as an expanded JSF EL. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Yuan</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-249</link>
		<dc:creator>Michael Yuan</dc:creator>
		<pubDate>Tue, 24 Oct 2006 19:10:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-249</guid>
		<description>Hi Behrang,

Yes you are exactly right. But the point I am arguing is that the underlying principles of JSF is not that bad. The current problems can hopefully be fixed when Facelets and Seam made their way into the standards (see &lt;a href="http://www.michaelyuan.com/blog/2006/10/24/the-wisdom-of-using-non-standard-jsf-enhancements/" rel="nofollow"&gt;this post&lt;/a&gt; for more on this).

cheers
Michael</description>
		<content:encoded><![CDATA[<p>Hi Behrang,</p>
<p>Yes you are exactly right. But the point I am arguing is that the underlying principles of JSF is not that bad. The current problems can hopefully be fixed when Facelets and Seam made their way into the standards (see <a href="http://www.michaelyuan.com/blog/2006/10/24/the-wisdom-of-using-non-standard-jsf-enhancements/" rel="nofollow">this post</a> for more on this).</p>
<p>cheers<br />
Michael</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Yuan</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-243</link>
		<dc:creator>Michael Yuan</dc:creator>
		<pubDate>Tue, 24 Oct 2006 19:03:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-243</guid>
		<description>Hi Ignacio,

Thanks for the comments. Well, first, Seam is &lt;a href="http://www.infoq.com/news/Web-Beans-JSR-299-approved-JCP" rel="nofollow"&gt;being stadardized&lt;/a&gt;. :)

Your point about JSF scalability (or more general, stateful framework scalability) is interesting. But I do not really think it is that bad -- JSF maybe slower than stateless frameworks but should not be less scalable. Maybe I should write another blog to explain those points in more details ...

cheers
Michael</description>
		<content:encoded><![CDATA[<p>Hi Ignacio,</p>
<p>Thanks for the comments. Well, first, Seam is <a href="http://www.infoq.com/news/Web-Beans-JSR-299-approved-JCP" rel="nofollow">being stadardized</a>. <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Your point about JSF scalability (or more general, stateful framework scalability) is interesting. But I do not really think it is that bad &#8212; JSF maybe slower than stateless frameworks but should not be less scalable. Maybe I should write another blog to explain those points in more details &#8230;</p>
<p>cheers<br />
Michael</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Behrang</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-234</link>
		<dc:creator>Behrang</dc:creator>
		<pubDate>Tue, 24 Oct 2006 17:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-234</guid>
		<description>Gavin,

Ignacio's main concern is JSF, and not Seam. Seam is not JSF in the same way that Struts is not JSP.

The problem here, like many other Java standards, is that JSF lacks many things that are required to build enterprise class applications and then one has to use non-standard extensions like Facelets and Seam to solve these.</description>
		<content:encoded><![CDATA[<p>Gavin,</p>
<p>Ignacio&#8217;s main concern is JSF, and not Seam. Seam is not JSF in the same way that Struts is not JSP.</p>
<p>The problem here, like many other Java standards, is that JSF lacks many things that are required to build enterprise class applications and then one has to use non-standard extensions like Facelets and Seam to solve these.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-222</link>
		<dc:creator>Gavin</dc:creator>
		<pubDate>Tue, 24 Oct 2006 12:18:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-222</guid>
		<description>He also mentions the use of GMT by default. Again, Seam 1.1 overrides this to use the server default timezone by default. LOL, I wonder what is next haha.

Oh, he mentions problems with injection ... that are not problems with Seam bijections ;-)</description>
		<content:encoded><![CDATA[<p>He also mentions the use of GMT by default. Again, Seam 1.1 overrides this to use the server default timezone by default. LOL, I wonder what is next haha.</p>
<p>Oh, he mentions problems with injection &#8230; that are not problems with Seam bijections <img src='http://www.michaelyuan.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-221</link>
		<dc:creator>Gavin</dc:creator>
		<pubDate>Tue, 24 Oct 2006 12:14:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-221</guid>
		<description>The original blog also mentions problems propagating state across redirects. Seam provides two ways to solve this: page parameters, as I already mentioned, and conversations. The Seam conversation context is always propagated across a redirect, even if you don't have a long-running conversation.</description>
		<content:encoded><![CDATA[<p>The original blog also mentions problems propagating state across redirects. Seam provides two ways to solve this: page parameters, as I already mentioned, and conversations. The Seam conversation context is always propagated across a redirect, even if you don&#8217;t have a long-running conversation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-220</link>
		<dc:creator>Gavin</dc:creator>
		<pubDate>Tue, 24 Oct 2006 12:12:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-220</guid>
		<description>In Seam 1.1 page actions and (new) page parameters make building restful sites even easier. In fact, the page parameters stuff makes it easier to build restful sites using JSF than it is in an action-oriented framework like Struts!</description>
		<content:encoded><![CDATA[<p>In Seam 1.1 page actions and (new) page parameters make building restful sites even easier. In fact, the page parameters stuff makes it easier to build restful sites using JSF than it is in an action-oriented framework like Struts!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ignacio Coloma</title>
		<link>http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-209</link>
		<dc:creator>Ignacio Coloma</dc:creator>
		<pubDate>Tue, 24 Oct 2006 08:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.michaelyuan.com/blog/2006/10/23/is-jsf-really-that-bad/#comment-209</guid>
		<description>Hi Michael,

I agree that Seam fixes lots of the deficiencies of JSF (though it was not an option in my last project since we were restricted to 1.4), but I still doubt its scaling capability.
 
In my last life I had to avoid the Citrix paradigm of virtualizing the client workstations in the server, the same zombie that JSF is respawning: the server must remember the state of each client and that is a little too memory-consuming. While it should work for a medium-sized application, this approach will not escale easily for a typical enterprise application (+500 users with sessions of +10 hours). 

Anyways, I suppose what we are talking about here is Seam, not JSF. We could as well be talking about RIFE. A great framework, but has little to do with the standard (unless they manage to push some of these features into the spec)</description>
		<content:encoded><![CDATA[<p>Hi Michael,</p>
<p>I agree that Seam fixes lots of the deficiencies of JSF (though it was not an option in my last project since we were restricted to 1.4), but I still doubt its scaling capability.</p>
<p>In my last life I had to avoid the Citrix paradigm of virtualizing the client workstations in the server, the same zombie that JSF is respawning: the server must remember the state of each client and that is a little too memory-consuming. While it should work for a medium-sized application, this approach will not escale easily for a typical enterprise application (+500 users with sessions of +10 hours). </p>
<p>Anyways, I suppose what we are talking about here is Seam, not JSF. We could as well be talking about RIFE. A great framework, but has little to do with the standard (unless they manage to push some of these features into the spec)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
