<?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: The Web Database Anti-Pattern</title>
	<atom:link href="http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/</link>
	<description>Just another LosTechies site</description>
	<lastBuildDate>Thu, 11 Sep 2008 15:52:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Joe Reddy</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-27</link>
		<dc:creator>Joe Reddy</dc:creator>
		<pubDate>Thu, 25 Oct 2007 13:37:15 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-27</guid>
		<description>If I agreed more it would hurt.</description>
		<content:encoded><![CDATA[<p>If I agreed more it would hurt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Mead</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-26</link>
		<dc:creator>Brad Mead</dc:creator>
		<pubDate>Wed, 24 Oct 2007 20:27:57 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-26</guid>
		<description>@Ben ditto (prod :-)

OK i&#039;ll shut up now.</description>
		<content:encoded><![CDATA[<p>@Ben ditto (prod <img src='http://lostechies.com/evanhoff/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>OK i&#8217;ll shut up now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evan</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-25</link>
		<dc:creator>Evan</dc:creator>
		<pubDate>Wed, 24 Oct 2007 19:45:03 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-25</guid>
		<description>@Joe,

We could almost give that another name..

Three Tiered Database Anti-Pattern

lol</description>
		<content:encoded><![CDATA[<p>@Joe,</p>
<p>We could almost give that another name..</p>
<p>Three Tiered Database Anti-Pattern</p>
<p>lol</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Scheirman</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-24</link>
		<dc:creator>Ben Scheirman</dc:creator>
		<pubDate>Wed, 24 Oct 2007 19:41:23 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-24</guid>
		<description>One of my first assignments when I was finishing up college was to work on one of these applications.

The database was actually the guts and logic behind a really complicated Access front-end that we were replacing, so it makes sense that the logic would be defined in one place (the db) so that our new ASP.NET front end [strike]could take advantage of it[/strike] not break the rules.

Eventually it became a humongous pain in the butt to deal with, because it involved so much more &quot;code&quot; to express logic.  Often it required multiple stored procedures and triggers to accomplish things.

We started building out a domain model (a very elementary one, since I didn&#039;t really know what I was doing) but it helped a lot.  It abstracted a bunch of advanced rules into one class that we could interact with and sort of &quot;forget&quot; what the database was like underneath.  It worked fairly well.

That&#039;s definitely a pattern I&#039;ve seen, and it takes a lot of time and effort (and usually supporting 2 places for &quot;logic&quot; until you can fully migrate away from the db -- for logic that is)</description>
		<content:encoded><![CDATA[<p>One of my first assignments when I was finishing up college was to work on one of these applications.</p>
<p>The database was actually the guts and logic behind a really complicated Access front-end that we were replacing, so it makes sense that the logic would be defined in one place (the db) so that our new ASP.NET front end [strike]could take advantage of it[/strike] not break the rules.</p>
<p>Eventually it became a humongous pain in the butt to deal with, because it involved so much more &#8220;code&#8221; to express logic.  Often it required multiple stored procedures and triggers to accomplish things.</p>
<p>We started building out a domain model (a very elementary one, since I didn&#8217;t really know what I was doing) but it helped a lot.  It abstracted a bunch of advanced rules into one class that we could interact with and sort of &#8220;forget&#8221; what the database was like underneath.  It worked fairly well.</p>
<p>That&#8217;s definitely a pattern I&#8217;ve seen, and it takes a lot of time and effort (and usually supporting 2 places for &#8220;logic&#8221; until you can fully migrate away from the db &#8212; for logic that is)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Mead</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-23</link>
		<dc:creator>Brad Mead</dc:creator>
		<pubDate>Wed, 24 Oct 2007 17:36:19 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-23</guid>
		<description>I&#039;m definitely in the Smart UI Anti-Pattern world.

This is yet another great launching point. After all the first step to tackling a problem is identification and the Smart UI Anti-Pattern sounds a lot like my particular ailment. 

BTW - I haven&#039;t seen you post anything on the ALTDOTNETCONF list -- I believe your presence there would be a benefit for you and others. (prod :-)

Thanks yet again Evan for thinking of (generally) and helping (specifically) this self-proclaimed noob.</description>
		<content:encoded><![CDATA[<p>I&#8217;m definitely in the Smart UI Anti-Pattern world.</p>
<p>This is yet another great launching point. After all the first step to tackling a problem is identification and the Smart UI Anti-Pattern sounds a lot like my particular ailment. </p>
<p>BTW &#8211; I haven&#8217;t seen you post anything on the ALTDOTNETCONF list &#8212; I believe your presence there would be a benefit for you and others. (prod <img src='http://lostechies.com/evanhoff/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Thanks yet again Evan for thinking of (generally) and helping (specifically) this self-proclaimed noob.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Ocampo</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-22</link>
		<dc:creator>Joe Ocampo</dc:creator>
		<pubDate>Wed, 24 Oct 2007 17:33:02 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-22</guid>
		<description>Evan I am having flash backs to the days of DNA where I raised the same question about the app/data tier.   Took me a while to convice everyone that one of the tiers has little value.  </description>
		<content:encoded><![CDATA[<p>Evan I am having flash backs to the days of DNA where I raised the same question about the app/data tier.   Took me a while to convice everyone that one of the tiers has little value.  </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evan</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-21</link>
		<dc:creator>Evan</dc:creator>
		<pubDate>Wed, 24 Oct 2007 15:16:02 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-21</guid>
		<description>&gt; Is your point based on the fact that the behavioral context of the architecture are left outside of this tier and it is merely a representation of Data Elements? If so how do you explain pure DDD models that have Value objects that do not necessarily map to another table but require composition in their hydrated to anemic state within an Entity.

If you can show me a good DDD application with only value objects, you&#039;ve got me.  Otherwise, there&#039;s a world of difference between an application with a mix of value objects/entities and an application with all value objects (ie.. not DDD).

As for tiering, in applications which exhibit this anti-pattern, you might only have two tiers, the asp.net and the data tier (the database server).  Although sometimes you will also see it in three tiered architectures as well, where the application tier really surves no purpose than as a simple data conduit (ie..datasets through webservices).  In fact, in these three tiered apps, it would often be more productive for the team to kill the application tier altogether.  It typically serves very little purpose (other than just another thing for the team to work on).  The logic is either in the UI (Smart UI Anti Pattern) or in the database (Web Database Anti Pattern).</description>
		<content:encoded><![CDATA[<p>> Is your point based on the fact that the behavioral context of the architecture are left outside of this tier and it is merely a representation of Data Elements? If so how do you explain pure DDD models that have Value objects that do not necessarily map to another table but require composition in their hydrated to anemic state within an Entity.</p>
<p>If you can show me a good DDD application with only value objects, you&#8217;ve got me.  Otherwise, there&#8217;s a world of difference between an application with a mix of value objects/entities and an application with all value objects (ie.. not DDD).</p>
<p>As for tiering, in applications which exhibit this anti-pattern, you might only have two tiers, the asp.net and the data tier (the database server).  Although sometimes you will also see it in three tiered architectures as well, where the application tier really surves no purpose than as a simple data conduit (ie..datasets through webservices).  In fact, in these three tiered apps, it would often be more productive for the team to kill the application tier altogether.  It typically serves very little purpose (other than just another thing for the team to work on).  The logic is either in the UI (Smart UI Anti Pattern) or in the database (Web Database Anti Pattern).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Stangroome</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-20</link>
		<dc:creator>Jason Stangroome</dc:creator>
		<pubDate>Wed, 24 Oct 2007 13:10:25 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-20</guid>
		<description>Hi Evan,

I&#039;m going through this transition now but I am faced with two problems:

1. I am proficient with T-SQL and can&#039;t help but feel that many rules and queries are most efficiently implemented by the database.

2. What does an application &quot;done right&quot; look like?

Regards,

--
Jason</description>
		<content:encoded><![CDATA[<p>Hi Evan,</p>
<p>I&#8217;m going through this transition now but I am faced with two problems:</p>
<p>1. I am proficient with T-SQL and can&#8217;t help but feel that many rules and queries are most efficiently implemented by the database.</p>
<p>2. What does an application &#8220;done right&#8221; look like?</p>
<p>Regards,</p>
<p>&#8211;<br />
Jason</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Ocampo</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-19</link>
		<dc:creator>Joe Ocampo</dc:creator>
		<pubDate>Wed, 24 Oct 2007 03:37:14 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-19</guid>
		<description>OK Two points.

&gt; An application with an anemic domain model has a high probability to exhibit this anti-pattern.

Is your point based on the fact that the behavioral context of the architecture are left outside of this tier and it is merely a representation of Data Elements? If so how do you explain pure DDD models that have Value objects that do not necessarily map to another table but require composition in their hydrated to anemic state within an Entity.

&gt;But I would recommend starting down the road to growth ASAP. :-)

Show us some refactoring bro! :-)</description>
		<content:encoded><![CDATA[<p>OK Two points.</p>
<p>> An application with an anemic domain model has a high probability to exhibit this anti-pattern.</p>
<p>Is your point based on the fact that the behavioral context of the architecture are left outside of this tier and it is merely a representation of Data Elements? If so how do you explain pure DDD models that have Value objects that do not necessarily map to another table but require composition in their hydrated to anemic state within an Entity.</p>
<p>>But I would recommend starting down the road to growth ASAP. <img src='http://lostechies.com/evanhoff/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Show us some refactoring bro! <img src='http://lostechies.com/evanhoff/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robz</title>
		<link>http://lostechies.com/evanhoff/2007/10/23/the-web-database-anti-pattern/#comment-18</link>
		<dc:creator>Robz</dc:creator>
		<pubDate>Wed, 24 Oct 2007 03:26:08 +0000</pubDate>
		<guid isPermaLink="false">/blogs/evan_hoff/archive/2007/10/23/the-web-database-anti-pattern.aspx#comment-18</guid>
		<description>This usually comes from those who have a background in &quot;the database is the business/application layer.&quot;

You mean there are layers between the web and the database? No WAY! :D

Would this bring forth an argument about whether it is wise to turn on and use the CLR inside of SQL Server 2005?</description>
		<content:encoded><![CDATA[<p>This usually comes from those who have a background in &#8220;the database is the business/application layer.&#8221;</p>
<p>You mean there are layers between the web and the database? No WAY! <img src='http://lostechies.com/evanhoff/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Would this bring forth an argument about whether it is wise to turn on and use the CLR inside of SQL Server 2005?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
