<?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>Welcome to Manjits Blog &#187; Spring</title>
	<atom:link href="http://www.msjtech.net/tag/spring/feed" rel="self" type="application/rss+xml" />
	<link>http://www.msjtech.net</link>
	<description>Manjit&#039;s Musings On Business and Technology</description>
	<lastBuildDate>Tue, 31 Jan 2012 14:45:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>My thoughts on Grails and Groovy</title>
		<link>http://www.msjtech.net/groovy-and-grail/129/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=groovy-and-grail</link>
		<comments>http://www.msjtech.net/groovy-and-grail/129/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 14:45:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[weblow]]></category>

		<guid isPermaLink="false">http://www.msjtech.net/?p=129</guid>
		<description><![CDATA[Getting Started with Grails I’ve been using Grails for developing web applications for a while and in this post I’m going to give an overview of Grails and provide some of the benefits and disadvantages of I&#8217;ve come across when using it. Grails overview Grails is a web framework based on Groovy and Java which [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl id="attachment_132" class="wp-caption alignright" style="width: 279px;">
<dt class="wp-caption-dt"><a href="http://www.msjtech.net/wp-content/uploads/2012/01/grails.png"><img class=" wp-image-132" title="Grails Tutorial" src="http://www.msjtech.net/wp-content/uploads/2012/01/grails-300x90.png" alt="Grails Logo" width="269" height="88" /></a></dt>
<dd class="wp-caption-dd"></dd>
</dl>
</div>
<h2>Getting Started with Grails</h2>
<p>I’ve been using Grails for developing web applications for a while and in this post I’m going to give an overview of Grails and provide some of the benefits and disadvantages of I&#8217;ve come across when using it.</p>
<h2>Grails overview</h2>
<p>Grails is a web framework based on Groovy and Java which can be deployed onto web servers such as Tomcat or Jetty.</p>
<p>Grails follows the convention over configuration concept that Ruby on Rails has made famous. It provides a command line interface and code scaffolding that allows you to create a full application quickly.</p>
<h3>Groovy</h3>
<p>If you haven’t used Groovy before the best way to describe it as being a superset of Java; most valid Java constructs are also valid Groovy constructs. Groovy has a number advanced features that complement the capabilities of Java, the syntax is more concise, you can use closures, and there is native support for lists and maps</p>
<h2>Grails benefits</h2>
<ul>
<li>The primary benefit is that Grails is a highly productive framework; the emphasis is on being able to automatically create artefacts quickly from the command prompt.</li>
</ul>
<p style="padding-left: 30px;">For example <em>grails create-controller</em> creates a new controller and automatically does all of the plumbing related to that controller. Even more powerful is the grails generate-all, which creates all the artefacts and interfaces for performing CRUD (Create/Read/Update/Delete) for the domain specified.</p>
<ul>
<li>Grails also underpinned by solid frameworks – it uses frameworks such as Spring, Hibernate (uses GORM which is based on Hibernate) and Sitemesh which are very mature and established frameworks.</li>
</ul>
<ul>
<li>Another important benefit is that Spring Webflow is also built in to the framework – which helps make complex workflows a lot easier to handle.</li>
</ul>
<ul>
<li>Validation is straightforward in Grails; the rules are defined within a static code block within the domain class.</li>
</ul>
<ul>
<li>There is also a very rich plugin ecosystem with Grails – it was built with plug-ability in mind and there is a large set of useful plugins that have been created by the grails community. It is also very easy to use these plugins within your own application using the<em> install-plugin</em> command.</li>
</ul>
<h2>Grails Disadvantages</h2>
<ul>
<li>There are not many real issues with using Grails, however one of the main things to bear in mind is that there is a learning curve associated with using Groovy, so that may make it more difficult to recommend to your colleagues.</li>
</ul>
<ul>
<li>There is also slightly less IDE support for groovy &#8211; especially in comparison with developing a vanilla Java application using them.</li>
</ul>
<ul>
<li>A grails application can also be a bit of a resource hog &#8211; which can probably be attributed to all of the heavyweight frameworks that Grails is made up of.</li>
</ul>
<ul>
<li>One of the problems using a dynamic language such as Groovy is that some errors that are normally caught at compile time with normal java will be not be caught until run time.</li>
</ul>
<h2>Grails in Action</h2>
<p>My favourite book on grails is <a title="Grails in Action" href="http://amzn.to/yx7bMF">Grails in action</a>. It is very well written and the authors seem to have a genuine interest in development.</p>
<h2>Final thoughts on Grails</h2>
<p>I have enjoyed using grails on my last few projects – there was a learning curve at the beginning but the rewards more than make up for that. I will be looking to using it on future projects and would definitely recommend it to other developers.</p>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.msjtech.net/groovy-and-grail/129//feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Top Java Developer Technologies</title>
		<link>http://www.msjtech.net/java-tools/65/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-tools</link>
		<comments>http://www.msjtech.net/java-tools/65/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 16:58:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[technologies]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.msjtech.net/?p=65</guid>
		<description><![CDATA[Which Java Tech Do I Use? One of the best things about working in Java development is the vast amount of choice that is available for whatever your technical problem is. All this choice can sometimes be a bit overwhelming so I have decided to put together a list of technologies to help you decide [...]]]></description>
			<content:encoded><![CDATA[<h2>Which Java Tech<a href="http://www.msjtech.net/wp-content/uploads/2011/12/tools.jpg"><img class="alignleft size-full wp-image-66" title="tools" src="http://www.msjtech.net/wp-content/uploads/2011/12/tools.jpg" alt="" width="316" height="270" /></a> Do I Use?</h2>
<p>One of the best things about working in Java development is the vast amount of choice that is available for whatever your technical problem is. All this choice can sometimes be a bit overwhelming so I have decided to put together a list of technologies to help you decide which will be best for you.</p>
<p>&nbsp;</p>
<p><strong>The Spring Framework</strong><br />
Spring is the original framework that started the movement away from EJB’s and promoted a new more light-weight way of doing things in the form of Inversion of Control. At its core Spring frees you from having to write repetitive plumbing code and leaves you free to focus on coding business logic. There are also a number of useful additional modules that are provided &#8211; such as ones for AOP, JDBC and a request based MVC framework.</p>
<p><strong>Hibernate</strong><br />
Hibernate is the most popular object relational mapping tool. Using Hibernate frees you from having to write low level JDBC code and enables you to deal with objects instead of tables.</p>
<p><strong>JSF</strong><br />
I believe JSF  is one of the main frameworks that is having success in taking over from Struts. It is a lot more light weight and promotes a more flexible approach to development. JSF is component-centric which makes it very easy to create pages with a number of different inputs. RichFaces is a good example of a popular suite of components that are available. While it had teething problems early on &#8211; especially with JSP integration, it has now matured into a much improved product.</p>
<p><strong>Tomcat </strong><br />
Is a lightweight server (servlet container) that can be used to deploy web applications (WAR’s) onto. Jetty is one of its main rivals, which many would argue is faster.</p>
<p><strong>Eclipse</strong><br />
Eclipse is arguably the best IDE out there for Java Development, it is very stable, fast and easy to use. It also has a thriving developer community around it, with many useful plugins available.</p>
<p><strong>JUNIT</strong><br />
JUnit is a very popular framework for developing unit tests for Java classes. Tests are created by extending the base TestCase class and there is an assertion library for verifying the results.</p>
<p><strong>Maven</strong><br />
Is a build automation tool that has been built on top of Ant. One of the key differences is that Maven manages your dependencies for you, which makes development a lot easier for large teams. It also generates some very useful project metrics and a wealth of documentation.</p>
<p><strong>Hudson</strong><br />
Is a new build automation server that I would say is the main sucessor from the original CruiseControl. Hudson provides the ability to automatically check out code, build and test it and then produce a report based on the outcome. Hudson provides some very useful additional functionality, such as change set support and distributed builds.</p>
<p><strong>Subversion</strong><br />
Is a version control system that is a successor to CVS. Subversion has a number of improvements over CVS, such as moving files is a lot easier, branching is straightforward, and the logging mechanisms are much better.</p>
<p><strong>Selenium </strong><br />
Allows you to create and easily execute automated tests against an actual browser. There is an IDE version that is a plugin for FireFox that allows you to actually record your interaction with the browser and replay it back. There is also a core version through which you can write tests in Java which is also quite easy to use. I find writing Java based tests is much easier and at a more comforable level of granularity than HTMLUnit.</p>
<p><strong>Grinder</strong><br />
Scalability and performance optimisation are crucial requirements for todays Web apps &#8211; Grinder is one of the best open source tools out there to help you test and refine the capabilites of your application. Grinder has a simple and easy to use UI with a scripting language in Jython to produce more complex tests. JMeter from Apache is also a very good related product.</p>
<p>Feel free to leave any comments if you think I have missed any of your favourite technologies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msjtech.net/java-tools/65//feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

