<?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>:Running Down the Way Up &#187; java</title>
	<atom:link href="http://johncavacas.com/blog/categories/programming/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://johncavacas.com/blog</link>
	<description>Insert blog description here</description>
	<lastBuildDate>Sat, 04 Jul 2009 22:36:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Erich Gamma on Flexibility and Reuse</title>
		<link>http://johncavacas.com/blog/2005/05/31/erich-gamma-on-flexibility-and-reuse/</link>
		<comments>http://johncavacas.com/blog/2005/05/31/erich-gamma-on-flexibility-and-reuse/#comments</comments>
		<pubDate>Tue, 31 May 2005 14:56:37 +0000</pubDate>
		<dc:creator>jc</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.johncavacas.com/blog/?p=31</guid>
		<description><![CDATA[Artima is publishing a series of articles with Erich Gamma. Part 2 is out and it is an interesting conversation regarding flexibility, reuse and frameworks. Of particular interest are these bits: &#8220;We prefer many small frameworks over one heavyweight framework.&#8221; &#8230; &#8220;Because the bigger the framework becomes, the greater the chances that it will want [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.artima.com">Artima</a> is publishing a series of articles with Erich Gamma. <a href="http://www.artima.com/lejava/articles/reuse3.html">Part 2 is out</a> and it is an interesting conversation regarding flexibility, reuse and frameworks.</p>
<p>Of particular interest are these bits:</p>
<blockquote><p>&#8220;We prefer many small frameworks over one heavyweight framework.&#8221;<br />
&#8230;<br />
&#8220;Because the bigger the framework becomes, the greater the chances that it will want to do too much, the bigger the learning curves become, and the more difficult it becomes to maintain it.&#8221;</p></blockquote>
<p>This makes sense, and it contrasts what I&#8217;ve experienced. However, doing this is far more difficult then it sounds. Smaller frameworks allows for more choice and plug-ability, but you have to have an intelligent and productive team to understand how to take advantage of this flexibility without getting bogged down with all of the choices.</p>
<p>On the other hand, a larger framework that does everything can have its merits, especially when there is a team of people that need to use it. It creates conformity. However, to me this is just an initial benefit. As the framework grows in complexity and strays from its core functions, the less benefit it starts to produce. As Eric states, it becomes harder to maintain, and harder to learn. But when do we know this is happening? Is there a clear indicator?</p>
]]></content:encoded>
			<wfw:commentRss>http://johncavacas.com/blog/2005/05/31/erich-gamma-on-flexibility-and-reuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just how dynamic can you get?</title>
		<link>http://johncavacas.com/blog/2005/04/28/just-how-dynamic-can-you-get/</link>
		<comments>http://johncavacas.com/blog/2005/04/28/just-how-dynamic-can-you-get/#comments</comments>
		<pubDate>Fri, 29 Apr 2005 00:04:16 +0000</pubDate>
		<dc:creator>jc</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.johncavacas.com/blog/2005/04/28/just-how-dynamic-can-you-get/</guid>
		<description><![CDATA[I&#8217;m extremelly interested in figuring out how to integrate scripting languages that run on the JVM to make java application development (in particular web apps) more dynamic. Stopping and restarting containers to add functionality is something that I can no longer accept. Being able to make changes to functionality without recompiling or repackaging is also [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m extremelly interested in figuring out how to integrate scripting languages that run on the JVM to make java application development (in particular web apps) more dynamic.</p>
<p>Stopping and restarting containers to add functionality is something that I can no longer accept. Being able to make changes to functionality without recompiling or repackaging is also something that i can no longer accept. Starting to sound like Ruby eh? </p>
<p>In today&#8217;s world you need to be able to respond to change ever more quicly then before, regardless of how often times such a request that causes a change is completly insane. If your customer needs a change, you better be able to give it to them or they&#8217;ll find someone else who isn&#8217;t so stuck up in their &#8220;properness&#8221; to do it.</p>
<p>This doesn&#8217;t mean that I believe it is ok to abandon proper practices and approaches, but I do think that there is more that I as a Java developer can do to allow my applications to adapt to change quicker.</p>
<p>Integrating dynamic scripting languages that run on the JVM like <a href="http://www.mozilla.org/rhino/">Rhino</a>, <a href="http://groovy.codehaus.org/">Groovy</a>, <a href="http://jruby.sourceforge.net/">JRuby</a> or <a href="http://www.jython.org/">Jython</a>, is one way that I believe this can be achieved. For example, why write a struts action in a java class? Why can&#8217;t this be done with a script?</p>
<p>The good news? Others have thought of this. Struts has an extension to support <a href="http://jakarta.apache.org/bsf/">BSF</a>, Spring has Groovy support as an alternative way to wire up dependencies (tres cool).  A little bit of this, plus a good dose of convention over configuration, may just go a long way. </p>
<p>Or maybe i should just use Ruby <img src='http://johncavacas.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://johncavacas.com/blog/2005/04/28/just-how-dynamic-can-you-get/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse web tools 1.0M3 available for Download</title>
		<link>http://johncavacas.com/blog/2005/02/28/eclipse-web-tools-10m3-available-for-download/</link>
		<comments>http://johncavacas.com/blog/2005/02/28/eclipse-web-tools-10m3-available-for-download/#comments</comments>
		<pubDate>Mon, 28 Feb 2005 07:13:29 +0000</pubDate>
		<dc:creator>jc</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.johncavacas.com/blog/2005/02/28/eclipse-web-tools-10m3-available-for-download/</guid>
		<description><![CDATA[There is a new release of the Eclipse web tools project. If you don&#8217;t already know, its essentially the tools that come build into WSAD but opensourced and now part of the eclipse project. get it here and watch out for all the extra files you need to download.]]></description>
			<content:encoded><![CDATA[<p>There is a new release of the Eclipse web tools project. If you don&#8217;t already know, its essentially the tools that come build into WSAD but opensourced and now part of the eclipse project. <a href="http://download.eclipse.org/webtools/downloads/drops/S-1.0M3-200502260707/index.html">get  it here</a> and watch out for all the extra files you need to download.</p>
]]></content:encoded>
			<wfw:commentRss>http://johncavacas.com/blog/2005/02/28/eclipse-web-tools-10m3-available-for-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zero configuration with hibernate?</title>
		<link>http://johncavacas.com/blog/2005/02/27/zero-configuration-with-hibernate/</link>
		<comments>http://johncavacas.com/blog/2005/02/27/zero-configuration-with-hibernate/#comments</comments>
		<pubDate>Sun, 27 Feb 2005 14:05:59 +0000</pubDate>
		<dc:creator>jc</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.johncavacas.com/blog/2005/02/27/zero-configuration-with-hibernate/</guid>
		<description><![CDATA[When looking into Ruby on Rails, one of the nice things about it, is the almost complete lack of configuration. A domain object in Rails is &#8216;automagically&#8217; able to be persisted. Even something like a database table name is &#8216;guessed&#8217; from the class name itself rather then the programmer providing the information in some sort [...]]]></description>
			<content:encoded><![CDATA[<p>When looking into <a href="http://www.rubyonrails.com">Ruby on Rails</a>, one of the nice things about it, is the almost complete lack of configuration. A domain object in Rails is &#8216;automagically&#8217; able to be persisted. Even something like a database table name is &#8216;guessed&#8217; from the class name itself rather then the programmer providing the information in some sort of configuration.</p>
<p>Compared to <a href="http://www.hibernate.org">Hibernate</a>, arguably the best persistence framework for Java, where configuration is an absolute necessity, Ruby on Rails with ActiveRecord is pretty dang nice.</p>
<p>The question is, why can&#8217;t the same exist in Hibernate or in some other Java persistence framework? Why can&#8217;t we learn something from the Ruby community and Ruby on Rails, and apply it to Java?</p>
<p>One could argue that you <em>need</em> a dynamic language to do what is possible with Ruby on Rails. Is this really true? Why do java apps need so much configuration? How can we create systems that are able to guess at the configuration that is needed by inference and by having nice defaults and providing hooks where configuration customization is required?</p>
<p>More on this later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://johncavacas.com/blog/2005/02/27/zero-configuration-with-hibernate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

