<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: In Depth: novella&#8217;s Architecture</title>
	<link>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/</link>
	<description></description>
	<pubDate>Thu, 21 Aug 2008 19:50:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>

	<item>
		<title>By: Koen</title>
		<link>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-854</link>
		<author>Koen</author>
		<pubDate>Fri, 25 Jan 2008 12:00:04 +0000</pubDate>
		<guid>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-854</guid>
					<description>About the sidebar: there really is no difference in performance between sprocs and inline SQL. Both are cached and compiled by SQL server. There has been quite a lot of discussion about this topic...  See for instance http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx and all the follow ups.</description>
		<content:encoded><![CDATA[<p>About the sidebar: there really is no difference in performance between sprocs and inline SQL. Both are cached and compiled by SQL server. There has been quite a lot of discussion about this topic&#8230;  See for instance <a href="http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx" rel="nofollow">http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx</a> and all the follow ups.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: David Baxter</title>
		<link>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-855</link>
		<author>David Baxter</author>
		<pubDate>Fri, 25 Jan 2008 14:33:34 +0000</pubDate>
		<guid>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-855</guid>
					<description>Hey Koen, I read through the points in the article. Some make sense, some don't.

I can tell from reading that post and others that this is a sticky subject for some so I don't want to fan the flames so I will state why I prefer stored procs, and let others come to their own conclusions.

1. Speed. Although the differences may be slight in today's world, there is a difference. While inline sql is cached (I was wrong on that apparently) there are still efficiencies with being directly in the database.

2. You can optimize/test the sql within the database itself. This is the biggest one for me. I can't tell you how much time that saves when you are dealing with complex queries.

3. Separation of layers. Now, because of my history as a developer, I may be more structured than a lot of other web guys out there, but I am a HUGE fan of multiple tier architecture. Why? Because it simplifies the duties of the code.  By having your queries in the database, it spreads the load as it were. This make maintenance a lot easier.

4. Speaking of maintenance...stored procs are a lot easier to maintain. Why? Because if you need to change something you don't have to change the code and redeploy. If you have ever worked with desktop applications you know how big of a deal deploying to all your users can be. On the web that isn't as big of a deal, but it is still easier to change a stored proc than it is to deploy the code again.

5. Inline sql can lead to security errors much more easily than stored procs. If you are a solid developer, then you know ways to make inline sql secure. However, in general it is easier to make security mistakes with inline sql than it is with stored procs. Why take the risks?

So that about sums up my position. You may agree or disagree, but there you have it. Bottom line is this. If you are building a site for a landscape company, then it really doesn't matter. However, if you are building a complex web application, then, in my opinion, it is worth the little bit of extra effort to employ stored procs.

David</description>
		<content:encoded><![CDATA[<p>Hey Koen, I read through the points in the article. Some make sense, some don&#8217;t.</p>
<p>I can tell from reading that post and others that this is a sticky subject for some so I don&#8217;t want to fan the flames so I will state why I prefer stored procs, and let others come to their own conclusions.</p>
<p>1. Speed. Although the differences may be slight in today&#8217;s world, there is a difference. While inline sql is cached (I was wrong on that apparently) there are still efficiencies with being directly in the database.</p>
<p>2. You can optimize/test the sql within the database itself. This is the biggest one for me. I can&#8217;t tell you how much time that saves when you are dealing with complex queries.</p>
<p>3. Separation of layers. Now, because of my history as a developer, I may be more structured than a lot of other web guys out there, but I am a HUGE fan of multiple tier architecture. Why? Because it simplifies the duties of the code.  By having your queries in the database, it spreads the load as it were. This make maintenance a lot easier.</p>
<p>4. Speaking of maintenance&#8230;stored procs are a lot easier to maintain. Why? Because if you need to change something you don&#8217;t have to change the code and redeploy. If you have ever worked with desktop applications you know how big of a deal deploying to all your users can be. On the web that isn&#8217;t as big of a deal, but it is still easier to change a stored proc than it is to deploy the code again.</p>
<p>5. Inline sql can lead to security errors much more easily than stored procs. If you are a solid developer, then you know ways to make inline sql secure. However, in general it is easier to make security mistakes with inline sql than it is with stored procs. Why take the risks?</p>
<p>So that about sums up my position. You may agree or disagree, but there you have it. Bottom line is this. If you are building a site for a landscape company, then it really doesn&#8217;t matter. However, if you are building a complex web application, then, in my opinion, it is worth the little bit of extra effort to employ stored procs.</p>
<p>David</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Scott Topiol</title>
		<link>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-903</link>
		<author>Scott Topiol</author>
		<pubDate>Wed, 30 Jan 2008 17:42:01 +0000</pubDate>
		<guid>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-903</guid>
					<description>I agree with you David.  I've been in the web development and SQL Server business for a long time and I also strongly prefer the use of stored procedures.  Inline SQL is a bad idea for many reasons aside from performance, which I think hit on very well in your response.  

Of course, the debate seems to be filled with as much as emotion as Ford vs. Chevy or Mac vs. PC.  Nevertheless, I'm glad you chose that architecture instead of cluttering up your code with a lot of database logic.</description>
		<content:encoded><![CDATA[<p>I agree with you David.  I&#8217;ve been in the web development and SQL Server business for a long time and I also strongly prefer the use of stored procedures.  Inline SQL is a bad idea for many reasons aside from performance, which I think hit on very well in your response.  </p>
<p>Of course, the debate seems to be filled with as much as emotion as Ford vs. Chevy or Mac vs. PC.  Nevertheless, I&#8217;m glad you chose that architecture instead of cluttering up your code with a lot of database logic.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: David Baxter</title>
		<link>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-904</link>
		<author>David Baxter</author>
		<pubDate>Wed, 30 Jan 2008 17:52:31 +0000</pubDate>
		<guid>http://www.creativeui.com/2008/01/24/in-depth-novellas-architecture/#comment-904</guid>
					<description>Thanks Scott...ya know when I wrote my sidebar I had no idea how sensitive this topic is. It was only when I researched my response that I saw how touchy people get.

I guess it comes down to human nature. If you choose a solution or product, you do not want to be told that it is crap because you are going to feel like you made a bad decision. The bigger the decision, the more you are going to fight that it was the right one. PC vs. Mac...PHP vs. .NET...Stored Procs vs. Inline.

In the end, as you mentioned, novella's architecture and code is much cleaner because of the stored procs. Since novella was always planned to be open source and available to "the masses", I believe that this was the correct choice.

David</description>
		<content:encoded><![CDATA[<p>Thanks Scott&#8230;ya know when I wrote my sidebar I had no idea how sensitive this topic is. It was only when I researched my response that I saw how touchy people get.</p>
<p>I guess it comes down to human nature. If you choose a solution or product, you do not want to be told that it is crap because you are going to feel like you made a bad decision. The bigger the decision, the more you are going to fight that it was the right one. PC vs. Mac&#8230;PHP vs. .NET&#8230;Stored Procs vs. Inline.</p>
<p>In the end, as you mentioned, novella&#8217;s architecture and code is much cleaner because of the stored procs. Since novella was always planned to be open source and available to &#8220;the masses&#8221;, I believe that this was the correct choice.</p>
<p>David</p>
]]></content:encoded>
				</item>
</channel>
</rss>
