<?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"
	>

<channel>
	<title>nutrun &#187; aerie</title>
	<atom:link href="http://nutrun.com/weblog/category/aerie/feed" rel="self" type="application/rss+xml" />
	<link>http://nutrun.com</link>
	<description>nutrun</description>
	<pubDate>Wed, 20 Aug 2008 15:49:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Aerie mailing list</title>
		<link>http://nutrun.com/weblog/aerie-mailing-list/</link>
		<comments>http://nutrun.com/weblog/aerie-mailing-list/#comments</comments>
		<pubDate>Thu, 11 Jan 2007 10:20:19 +0000</pubDate>
		<dc:creator>George Malamidis</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[aerie]]></category>

		<guid isPermaLink="false">http://new-site.nutrun.com/?p=75</guid>
		<description><![CDATA[Aerie has now a mailing list which can be found at http://groups.google.com/group/aerie-dev
]]></description>
			<content:encoded><![CDATA[<p>Aerie has now a mailing list which can be found at <a title="Aerie mailing list" href="http://groups.google.com/group/aerie-dev">http://groups.google.com/group/aerie-dev</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nutrun.com/weblog/aerie-mailing-list/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s what it doesn&#8217;t do</title>
		<link>http://nutrun.com/weblog/its-what-it-doesnt-do/</link>
		<comments>http://nutrun.com/weblog/its-what-it-doesnt-do/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 20:06:54 +0000</pubDate>
		<dc:creator>George Malamidis</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[aerie]]></category>

		<guid isPermaLink="false">http://new-site.nutrun.com/?p=74</guid>
		<description><![CDATA[
When I set out writing Aerie, I had one very clear goal in mind. I wanted the API to be so tight that it would discourage people from using it extensively. I would very much like to witness Aerie becoming useful and be used in as many applications as possible. However, I want the interface [...]]]></description>
			<content:encoded><![CDATA[<p>
When I set out writing <a href="http://code.google.com/p/aerie">Aerie</a>, I had one very clear goal in mind. I wanted the API to be so tight that it would discourage people from using it extensively. I would very much like to witness Aerie becoming useful and be used in as many applications as possible. However, I want the interface to make it clear that the Aerie part is the least likely of places where the bulk of a web app&#8217;s codebase should go.
</p>
<p>
I am a huge fan of compact libraries, like <a href="http://junit.org/">JUnit</a> or <a href="http://xstream.codehaus.org/">XStream</a>, that concentrate on a very concrete problem and offer a very concise and elegant solution. It seems like frameworks are rarely approached that way. Of course, the scope of the problems frameworks, as opposed to libraries, address is vastly larger - I certainly would not expect an API limited to five methods from <a href="http://hibernate.org/">Hibernate</a>&#8230; - but that doesn&#8217;t mean it should always be that way.
</p>
<p>
Another reason I favor the <em>Library</em> over the <em>Framework</em> approach is that libraries do not impose a certain style of programming to the developer. Promoting good practices is certainly desirable, but lest we forget it is often to the expense of flexibility and creativity if not handled with care.
</p>
<p>
The <em>Model</em> is undeniably the heart of an <acronym title="Model View Controller">MVC</acronym> application. Different applications rarely have to capture the design of the same Domain. Even when the Domains are similar, it is, again, rare that similar approaches would best fit their respective development. This is why I think the Model, in its pure form, does not, most of the time, benefit from structural guidelines imposed by frameworks.
</p>
<p>
I hold some reservation against the currently popular approach of tying an application&#8217;s Model with the <em>Persistence Tier</em>. Persistence, for the most part, is a static representation of an application&#8217;s Model. The same way an HTML view is but a visual representation or means of an interface to it. The Model itself, on the other hand, is volatile and dynamic. It is supposed to change and respond to change. And varies immensely between different Domains. Developers have gone to great extends in order to decouple the data from the application code. I don&#8217;t see why the relationship between Model and Persistence should not be likewise approached.
</p>
<p>
The <em>Controller</em> on the other hand is presented as a rather confined problem. Make that a <em>web application&#8217;s Controller</em>, and since the HTTP protocol is so strictly defined, the problem is not even that difficult to solve.
</p>
<p>
Aerie focuses on solving this exact problem in a as least-intrusive and as consistent as possible manner. The way it is meant to be used is as a <em>very thin layer</em> between a <em>Web View</em> and the <em>Service Interfaces</em> that sit in front of a web application&#8217;s Model. It is meant to be an easy and concrete solution to an easy problem, so the bulk of the developer&#8217;s efforts can be dedicated to the part that deserves it the most: The Model.</p>
]]></content:encoded>
			<wfw:commentRss>http://nutrun.com/weblog/its-what-it-doesnt-do/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing Aerie</title>
		<link>http://nutrun.com/weblog/introducing-aerie/</link>
		<comments>http://nutrun.com/weblog/introducing-aerie/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 17:48:32 +0000</pubDate>
		<dc:creator>George Malamidis</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[aerie]]></category>

		<guid isPermaLink="false">http://new-site.nutrun.com/?p=73</guid>
		<description><![CDATA[
Aerie is a Groovy fronted Java Web Application Framework.


Aerie is MVC without without the M in that it does not involve the Model tier of the Model-View-Controller paradigm.


The aim of Aerie is to simplify and standardize the Controller and View aspects of Java web application development.


We recently set up Aerie&#8217;s new home on Google Code.


Thanks [...]]]></description>
			<content:encoded><![CDATA[<p>
<strong>Aerie</strong> is a Groovy fronted Java Web Application Framework.
</p>
<p>
Aerie is <em>MVC without without the M</em> in that it does not involve the Model tier of the Model-View-Controller paradigm.
</p>
<p>
The aim of Aerie is to simplify and standardize the Controller and View aspects of Java web application development.
</p>
<p>
We recently set up Aerie&#8217;s new home on <a title="code.google.com/p/aerie" href="http://code.google.com/p/aerie/">Google Code</a>.
</p>
<p>
Thanks for giving Aerie a spin. It&#8217;s really easy to setup and get started with. You can download it <a title="Download Aerie" href="http://code.google.com/p/aerie/downloads/list">here</a> and read the - incomplete (working on it&#8230;) - <a title="Aerie User Guide" href="http://code.google.com/p/aerie/wiki/UserGuide">user guide</a>.
</p>
<p>
Please keep in mind that these are early steps in Aerie&#8217;s life, so expect it to be a bit rough around the edges.
</p>
<p>
Thanks for dropping <code>aerie [at] nutrun.com</code> a line with what you like or don&#8217;t about Aerie.
</p>
<p>
<a title="Download Aerie" href="http://code.google.com/p/aerie/downloads/list">Download Aerie</a>
</p>
<p>
<a title="Aerie User Guide" href="http://code.google.com/p/aerie/wiki/UserGuide">Aerie User Guide</a>
</p>
<p>
<a title="Aerie Feed" href="http://nutrun.com/weblog/category/aerie/feed">Aerie Feed</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nutrun.com/weblog/introducing-aerie/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
