<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Getting Groovy with Seam after TSSJS</title>
	<atom:link href="http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/feed/" rel="self" type="application/rss+xml" />
	<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/</link>
	<description>Blog by a developer for a developer</description>
	<lastBuildDate>Tue, 24 Aug 2010 13:52:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chris</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-1355</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Tue, 10 Jun 2008 13:29:17 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-1355</guid>
		<description>&lt;blockquote cite=&quot;Dan Allen&quot;&gt;Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files.&lt;/blockquote&gt;
This works just fine as long as the .groovy classes only point pack at Java classes.  If you mix the reference directions between Groovy and Java then you are going to have to compile the Groovy files into classes.  Keeping the separation between Groovy and Java unidirectional can get tricky in non-trival applications.  Also, deciding on compile or not to compile will affect how you are able to unit test the code too.

&lt;blockquote cite=&quot;Dan Allen&quot;&gt;Entity classes get developed once and then remain stable for a vast majority of the application’s lifetime....&lt;/blockquote&gt;
Seriously?  In the agile software development processes I&#039;ve been involved in this statement is simply wrong.  Teams don&#039;t (and shouldn&#039;t) code everything they can think of into Customer in month two of the year long project.  Now if you&#039;re referencing the domain of most applications written as book examples I totally agree....

&lt;blockquote cite=&quot;Dan Allen&quot;&gt;From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet.&lt;/blockquote&gt;
Yeah, the Eclipse plugin is crap.  The NetBeans Groovy plugin should re-appear in NB 6.5 (&lt;i&gt;you can pull it out of the dev branches for NB currently&lt;/i&gt;).  But, like you rightly stated the IntelliJ plugin for Groovy is far and away ahead of the pack right now.</description>
		<content:encoded><![CDATA[<blockquote cite="Dan Allen"><p>Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files.</p></blockquote>
<p>This works just fine as long as the .groovy classes only point pack at Java classes.  If you mix the reference directions between Groovy and Java then you are going to have to compile the Groovy files into classes.  Keeping the separation between Groovy and Java unidirectional can get tricky in non-trival applications.  Also, deciding on compile or not to compile will affect how you are able to unit test the code too.</p>
<blockquote cite="Dan Allen"><p>Entity classes get developed once and then remain stable for a vast majority of the application’s lifetime&#8230;.</p></blockquote>
<p>Seriously?  In the agile software development processes I&#8217;ve been involved in this statement is simply wrong.  Teams don&#8217;t (and shouldn&#8217;t) code everything they can think of into Customer in month two of the year long project.  Now if you&#8217;re referencing the domain of most applications written as book examples I totally agree&#8230;.</p>
<blockquote cite="Dan Allen"><p>From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet.</p></blockquote>
<p>Yeah, the Eclipse plugin is crap.  The NetBeans Groovy plugin should re-appear in NB 6.5 (<i>you can pull it out of the dev branches for NB currently</i>).  But, like you rightly stated the IntelliJ plugin for Groovy is far and away ahead of the pack right now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jacob.orshalick</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-1354</link>
		<dc:creator>jacob.orshalick</dc:creator>
		<pubDate>Tue, 10 Jun 2008 12:47:46 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-1354</guid>
		<description>Hi Dan,

Good to hear from you.

&lt;blockquote cite=&quot;Dan Allen&quot;&gt;Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files. Personally, I think you lose some of the benefit of Groovy if you have to compile it (until you go to production, that is).&lt;/blockquote&gt;

Yes you are absolutely right.  This is a great feature for development, but as you state, compilation must occur prior to going to production to avoid some serious performance penalties.  There is already so much FUD out there about performance concerns with Groovy I try not to fuel the fire :)  Thanks for the comment though, as I&#039;m sure others will find it useful to have this mentioned with the post!  It will certainly be discussed in &lt;a href=&quot;http://solutionsfit.com/blog/2008/06/06/seam-framework-experience-the-evolution-of-java-ee/&quot; rel=&quot;nofollow&quot;&gt;the book&lt;/a&gt;.

&lt;blockquote cite=&quot;Dan Allen&quot;&gt;I really like the idea of using Groovy, but I don’t really see the benefit of creating entity classes using Groovy. Entity classes get developed once and then remain stable for a vast majority of the application’s lifetime [...]  Now for the business logic, you would be crazy not to use Groovy.&lt;/blockquote&gt;

Hmmm...  I suppose this depends on your view of a domain model.  In my eyes, a domain model (entities) is where the business logic belongs, see the Eric Evans classic &lt;a href=&quot;http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215&quot; rel=&quot;nofollow&quot;&gt;Domain-Driven Design&lt;/a&gt;.  Therefore, Groovy is a *great* choice for the domain model!  There are certainly performance considerations involved at the moment but as Groovy progresses as a technology (as Java did), these concerns will continue to diminish.

&lt;blockquote cite=&quot;Dan Allen&quot;&gt;From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet.&lt;/blockquote&gt;

I have tried to be positive about the plugin for Eclipse, but you are absolutely right here...  it needs a lot of work.  IntelliJ is great, and developers rave about it&#039;s Groovy support, but the fact of the matter is until the Eclipse plugin becomes a viable option, Groovy is going to have difficulty in the enterprise arena.

Thanks again for the comment and good luck with your book!  If you are ever in the DFW area, let me know, and we can get together for a beer or two :)

Jacob</description>
		<content:encoded><![CDATA[<p>Hi Dan,</p>
<p>Good to hear from you.</p>
<blockquote cite="Dan Allen"><p>Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files. Personally, I think you lose some of the benefit of Groovy if you have to compile it (until you go to production, that is).</p></blockquote>
<p>Yes you are absolutely right.  This is a great feature for development, but as you state, compilation must occur prior to going to production to avoid some serious performance penalties.  There is already so much FUD out there about performance concerns with Groovy I try not to fuel the fire <img src='http://solutionsfit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Thanks for the comment though, as I&#8217;m sure others will find it useful to have this mentioned with the post!  It will certainly be discussed in <a href="http://solutionsfit.com/blog/2008/06/06/seam-framework-experience-the-evolution-of-java-ee/" rel="nofollow">the book</a>.</p>
<blockquote cite="Dan Allen"><p>I really like the idea of using Groovy, but I don’t really see the benefit of creating entity classes using Groovy. Entity classes get developed once and then remain stable for a vast majority of the application’s lifetime [...]  Now for the business logic, you would be crazy not to use Groovy.</p></blockquote>
<p>Hmmm&#8230;  I suppose this depends on your view of a domain model.  In my eyes, a domain model (entities) is where the business logic belongs, see the Eric Evans classic <a href="http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215" rel="nofollow">Domain-Driven Design</a>.  Therefore, Groovy is a *great* choice for the domain model!  There are certainly performance considerations involved at the moment but as Groovy progresses as a technology (as Java did), these concerns will continue to diminish.</p>
<blockquote cite="Dan Allen"><p>From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet.</p></blockquote>
<p>I have tried to be positive about the plugin for Eclipse, but you are absolutely right here&#8230;  it needs a lot of work.  IntelliJ is great, and developers rave about it&#8217;s Groovy support, but the fact of the matter is until the Eclipse plugin becomes a viable option, Groovy is going to have difficulty in the enterprise arena.</p>
<p>Thanks again for the comment and good luck with your book!  If you are ever in the DFW area, let me know, and we can get together for a beer or two <img src='http://solutionsfit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Jacob</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Allen</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-1350</link>
		<dc:creator>Dan Allen</dc:creator>
		<pubDate>Tue, 10 Jun 2008 05:29:35 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-1350</guid>
		<description>In this posting, you make that statement that the annotations work because Groovy is being compiled (even if you didn&#039;t mean it that way). Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files. Personally, I think you lose some of the benefit of Groovy if you have to compile it (until you go to production, that is).

I really like the idea of using Groovy, but I don&#039;t really see the benefit of creating entity classes using Groovy. Entity classes get developed once and then remain stable for a vast majority of the application&#039;s lifetime. Given how many times they are created during a given session, I just don&#039;t think it is worth the performance hit. In prototyping, absolutely, but not in anything that is going to stick around for a while. Now for the business logic, you would be crazy not to use Groovy.

Groovy opens a lot of doors in terms of improving productivity and it could very well be what Java needed to avoid a complete takeover from the non-JVM dynamic language world. Once the support for Groovy comes out of the box in all the major IDEs, I will definitely use it on the next project I find myself thrown into. From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet. My guess is that IntelliJ will beat everyone to the ball on this, with NetBeans and Eclipse duking it out for second place a year later. You can judge Groovy&#039;s acceptance by the fact that developers don&#039;t have to *add* a plugin.</description>
		<content:encoded><![CDATA[<p>In this posting, you make that statement that the annotations work because Groovy is being compiled (even if you didn&#8217;t mean it that way). Groovy definitely does not have to be compiled using groovyc to use it in a Java application. Seam has a Groovy classloader that can read straight from the .groovy files. Personally, I think you lose some of the benefit of Groovy if you have to compile it (until you go to production, that is).</p>
<p>I really like the idea of using Groovy, but I don&#8217;t really see the benefit of creating entity classes using Groovy. Entity classes get developed once and then remain stable for a vast majority of the application&#8217;s lifetime. Given how many times they are created during a given session, I just don&#8217;t think it is worth the performance hit. In prototyping, absolutely, but not in anything that is going to stick around for a while. Now for the business logic, you would be crazy not to use Groovy.</p>
<p>Groovy opens a lot of doors in terms of improving productivity and it could very well be what Java needed to avoid a complete takeover from the non-JVM dynamic language world. Once the support for Groovy comes out of the box in all the major IDEs, I will definitely use it on the next project I find myself thrown into. From what I have read (and some personal experience), the IDE plugin for Eclipse is just not there yet. My guess is that IntelliJ will beat everyone to the ball on this, with NetBeans and Eclipse duking it out for second place a year later. You can judge Groovy&#8217;s acceptance by the fact that developers don&#8217;t have to *add* a plugin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yourbestfriend</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-695</link>
		<dc:creator>yourbestfriend</dc:creator>
		<pubDate>Mon, 21 Apr 2008 06:09:19 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-695</guid>
		<description>Jacob,

Excellent overview and article, my friend.  A few points to point out:

1. The latest Groovy 1.5 version allows use of annotations but yet does not support definition of custom annotations. I hope to see that feature soon in a future version of Groovy.

2. By default, all Groovy closures have an implicit it parameter if the closure parameters were not declared.  However, you can add multiple parameters by separating them with commas.

3. Groovy has a 1:1 mapping between an operator (+, -, *..) to an operator method. For example, by overriding plus function in a Groovy class, you are overriding the + operator for your class.

4. Range data types can handle both forward ranges (min...max type) or reverse ranges (max..min).

On the plugin/jboss-tools question: Groovy plugin has to be configured separately from JBoss Tools plugin.  Groovy Eclipse plugin is fully functional and supports all groovy features including syntax coloring, highlighting, debugging of Groovy files within Eclipse.  Groovy Plugin works with eclipse 3.2 but you need a minimum of Eclipse 3.3 to get JBoss Tools to work.</description>
		<content:encoded><![CDATA[<p>Jacob,</p>
<p>Excellent overview and article, my friend.  A few points to point out:</p>
<p>1. The latest Groovy 1.5 version allows use of annotations but yet does not support definition of custom annotations. I hope to see that feature soon in a future version of Groovy.</p>
<p>2. By default, all Groovy closures have an implicit it parameter if the closure parameters were not declared.  However, you can add multiple parameters by separating them with commas.</p>
<p>3. Groovy has a 1:1 mapping between an operator (+, -, *..) to an operator method. For example, by overriding plus function in a Groovy class, you are overriding the + operator for your class.</p>
<p>4. Range data types can handle both forward ranges (min&#8230;max type) or reverse ranges (max..min).</p>
<p>On the plugin/jboss-tools question: Groovy plugin has to be configured separately from JBoss Tools plugin.  Groovy Eclipse plugin is fully functional and supports all groovy features including syntax coloring, highlighting, debugging of Groovy files within Eclipse.  Groovy Plugin works with eclipse 3.2 but you need a minimum of Eclipse 3.3 to get JBoss Tools to work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pawel Kaczor</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-633</link>
		<dc:creator>Pawel Kaczor</dc:creator>
		<pubDate>Wed, 16 Apr 2008 20:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-633</guid>
		<description>&lt;blockquote&gt;
There are not that I am aware of, but the Groovy plugin works nicely with JBoss Tools and is what I have been using for development. There are some issues with the Groovy plugin but it has come a long way
&lt;/blockquote&gt;
Could you show me your configuration of groovy plugin and jboss-tools? Is hot deployment working for groovy classes? I&#039;ve created groovy componente annotated with @Name but it is not loaded by seam...</description>
		<content:encoded><![CDATA[<blockquote><p>
There are not that I am aware of, but the Groovy plugin works nicely with JBoss Tools and is what I have been using for development. There are some issues with the Groovy plugin but it has come a long way
</p></blockquote>
<p>Could you show me your configuration of groovy plugin and jboss-tools? Is hot deployment working for groovy classes? I&#8217;ve created groovy componente annotated with @Name but it is not loaded by seam&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-603</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Tue, 15 Apr 2008 02:11:42 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-603</guid>
		<description>&lt;blockquote&gt;
There would be a difference, I’m sure, but for most applications this shouldn’t be a problem. 
&lt;/blockquote&gt;
The standard wisdom from the Groovy camp is when performance becomes a huge issue dropping down into Java is the solution.  Since Groovy has numerous ways of seamlessly (pun intended) integrating with Java it shouldn&#039;t be a problem in most cases to do just that.

On a side note &lt;a href=&quot;http://groovy.dzone.com/announcements/groovy-155-released-compiler-3&quot; rel=&quot;nofollow&quot;&gt;Groovy 1.5.5 was just announced&lt;/a&gt; with a host of performance improvements.</description>
		<content:encoded><![CDATA[<blockquote><p>
There would be a difference, I’m sure, but for most applications this shouldn’t be a problem.
</p></blockquote>
<p>The standard wisdom from the Groovy camp is when performance becomes a huge issue dropping down into Java is the solution.  Since Groovy has numerous ways of seamlessly (pun intended) integrating with Java it shouldn&#8217;t be a problem in most cases to do just that.</p>
<p>On a side note <a href="http://groovy.dzone.com/announcements/groovy-155-released-compiler-3" rel="nofollow">Groovy 1.5.5 was just announced</a> with a host of performance improvements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Srinivasan Raguraman</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-532</link>
		<dc:creator>Srinivasan Raguraman</dc:creator>
		<pubDate>Mon, 07 Apr 2008 08:22:42 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-532</guid>
		<description>Quite interesting, Yeah, implementing domain models using groovy&#039;s additional constructs will be elegant.</description>
		<content:encoded><![CDATA[<p>Quite interesting, Yeah, implementing domain models using groovy&#8217;s additional constructs will be elegant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jacob.orshalick</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-528</link>
		<dc:creator>jacob.orshalick</dc:creator>
		<pubDate>Sun, 06 Apr 2008 21:47:49 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-528</guid>
		<description>&lt;blockquote cite=&quot;Markus Jais&quot;&gt;Did you make any performance tests compared to a Java solution?&lt;/blockquote&gt;

No, I have not as the solution is only implemented in Groovy.  There would be a difference, I&#039;m sure, but for most applications this shouldn&#039;t be a problem.  If you would like to get a comparison, the Seam Booking example has been implemented as a basic Java solution and a Groovy solution.  You can find each in the Seam distribution.  Feel free to run performance tests and report back your results.  I&#039;m sure many readers would be interested!

&lt;blockquote cite=&quot;Markus Jais&quot;&gt;Do you know if there are plans to integrate Groovy support in the JBoss Tools for Eclipse?&lt;/blockquote&gt;

There are not that I am aware of, but the &lt;a href=&quot;http://groovy.codehaus.org/Eclipse+Plugin&quot; rel=&quot;nofollow&quot;&gt;Groovy plugin&lt;/a&gt; works nicely with JBoss Tools and is what I have been using for development.  There are some issues with the Groovy plugin but it has come a long way ;)</description>
		<content:encoded><![CDATA[<blockquote cite="Markus Jais"><p>Did you make any performance tests compared to a Java solution?</p></blockquote>
<p>No, I have not as the solution is only implemented in Groovy.  There would be a difference, I&#8217;m sure, but for most applications this shouldn&#8217;t be a problem.  If you would like to get a comparison, the Seam Booking example has been implemented as a basic Java solution and a Groovy solution.  You can find each in the Seam distribution.  Feel free to run performance tests and report back your results.  I&#8217;m sure many readers would be interested!</p>
<blockquote cite="Markus Jais"><p>Do you know if there are plans to integrate Groovy support in the JBoss Tools for Eclipse?</p></blockquote>
<p>There are not that I am aware of, but the <a href="http://groovy.codehaus.org/Eclipse+Plugin" rel="nofollow">Groovy plugin</a> works nicely with JBoss Tools and is what I have been using for development.  There are some issues with the Groovy plugin but it has come a long way <img src='http://solutionsfit.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus Jais</title>
		<link>http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/comment-page-1/#comment-502</link>
		<dc:creator>Markus Jais</dc:creator>
		<pubDate>Fri, 04 Apr 2008 09:09:44 +0000</pubDate>
		<guid isPermaLink="false">http://solutionsfit.com/blog/2008/04/01/getting-groovy-with-seam-after-tssjs/#comment-502</guid>
		<description>Very interesting stuff. Seam is already quite interesting. Using Groovy with it might make it even more productive. 

Two questions:
Did you make any performance tests compared to a Java solution?
Do you know if there are plans to integrate Groovy support in the JBoss  Tools for Eclipse?

Looking forward to the 2nd edition of the book. The first one was great to give me an overview of Seam.</description>
		<content:encoded><![CDATA[<p>Very interesting stuff. Seam is already quite interesting. Using Groovy with it might make it even more productive. </p>
<p>Two questions:<br />
Did you make any performance tests compared to a Java solution?<br />
Do you know if there are plans to integrate Groovy support in the JBoss  Tools for Eclipse?</p>
<p>Looking forward to the 2nd edition of the book. The first one was great to give me an overview of Seam.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
