<?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: Domain Drivel</title>
	<atom:link href="http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/</link>
	<description>A blog about programming in .NET and Java</description>
	<lastBuildDate>Mon, 19 May 2008 21:44:31 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Stefan Tilkov's Random Stuff</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1023</link>
		<dc:creator>Stefan Tilkov's Random Stuff</dc:creator>
		<pubDate>Wed, 25 Oct 2006 15:28:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1023</guid>
		<description>&lt;p&gt;&lt;strong&gt;BeJUG Enterprise SOA Conference&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I gave a talk at yesterday&#8217;s Enterprise SOA Conference, organized by BeJUG (the Belgian Java User Group). It was a very nice event that gave me a chance to meet a bunch of interesting people from the SOA community; here is a short summary. (If yo...&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><strong>BeJUG Enterprise SOA Conference</strong></p>

<p>I gave a talk at yesterday&#8217;s Enterprise SOA Conference, organized by BeJUG (the Belgian Java User Group). It was a very nice event that gave me a chance to meet a bunch of interesting people from the SOA community; here is a short summary. (If yo&#8230;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Claudio Perrone's Monologues</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1020</link>
		<dc:creator>Claudio Perrone's Monologues</dc:creator>
		<pubDate>Sun, 22 Oct 2006 13:16:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1020</guid>
		<description>&lt;p&gt;&lt;strong&gt;Crested Butte - The Prologue&lt;/strong&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><strong>Crested Butte &#8211; The Prologue</strong></p>]]></content:encoded>
	</item>
	<item>
		<title>By: David Levy</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1018</link>
		<dc:creator>David Levy</dc:creator>
		<pubDate>Mon, 16 Oct 2006 01:03:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1018</guid>
		<description>&lt;p&gt;I think there&#039;s a nice middle ground here: it&#039;s often not hard when designing a new application to ensure that the back end data is in a format which is not too domain dependent. Serializing objects into the database as bytes is probably one of the only things which will absolutely tie you to the language above. Anothing is having complex class hierarchies which should be minimized if possible (although not at a cost of having overly complex objects on top). As long as those two things are kept to a minimum, the backend should be fairly readily available for another application to plug on later or in tandem.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think there&#8217;s a nice middle ground here: it&#8217;s often not hard when designing a new application to ensure that the back end data is in a format which is not too domain dependent. Serializing objects into the database as bytes is probably one of the only things which will absolutely tie you to the language above. Anothing is having complex class hierarchies which should be minimized if possible (although not at a cost of having overly complex objects on top). As long as those two things are kept to a minimum, the backend should be fairly readily available for another application to plug on later or in tandem.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Luca Garulli</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1016</link>
		<dc:creator>Luca Garulli</dc:creator>
		<pubDate>Fri, 13 Oct 2006 12:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1016</guid>
		<description>&lt;p&gt;I think that a good OO model with a tool that &quot;reads&quot; your model and simplify your application development is the best!&lt;/p&gt;

&lt;p&gt;This is missed from IT industry! Why I should spend my resources to be puritan about my OO model and then convert it in DB and other?&lt;/p&gt;

&lt;p&gt;We need a tool that handle own OO model in all aspects: RomaFramework is an effort in this direction ;-)&lt;/p&gt;

&lt;p&gt;My 0,02&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think that a good OO model with a tool that &#8220;reads&#8221; your model and simplify your application development is the best!</p>

<p>This is missed from IT industry! Why I should spend my resources to be puritan about my OO model and then convert it in DB and other?</p>

<p>We need a tool that handle own OO model in all aspects: RomaFramework is an effort in this direction <img src='http://blog.springsource.com/arjen/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>

<p>My 0,02</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Geir</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1015</link>
		<dc:creator>Geir</dc:creator>
		<pubDate>Thu, 12 Oct 2006 22:38:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1015</guid>
		<description>&lt;p&gt;I agree with you conclusion, but I don&#039;t think your argument about domain models being less important because a relational schema has a longer shelf life than program code makes sense.&lt;/p&gt;

&lt;p&gt;Databases are used as business interfaces. Any published interface is going to be more stable than a (hopefully private) implementation of business rules. You will find the same issue in any published interface - it is going to be painful to change it, so you often don&#039;t.&lt;/p&gt;

&lt;p&gt;I also think Scott Ambler makes a lot of sense when he says that database design is lagging behind program design - database design tools lack any kind of sensible refactoring support. I have yet to meet a DBA with an active perception of how to go about refactoring a database model. This makes changing databases even harder.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I agree with you conclusion, but I don&#8217;t think your argument about domain models being less important because a relational schema has a longer shelf life than program code makes sense.</p>

<p>Databases are used as business interfaces. Any published interface is going to be more stable than a (hopefully private) implementation of business rules. You will find the same issue in any published interface &#8211; it is going to be painful to change it, so you often don&#8217;t.</p>

<p>I also think Scott Ambler makes a lot of sense when he says that database design is lagging behind program design &#8211; database design tools lack any kind of sensible refactoring support. I have yet to meet a DBA with an active perception of how to go about refactoring a database model. This makes changing databases even harder.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: EDef</title>
		<link>http://blog.springsource.com/arjen/archives/2006/10/10/domain-drivel/comment-page-1/#comment-1014</link>
		<dc:creator>EDef</dc:creator>
		<pubDate>Thu, 12 Oct 2006 19:57:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.springframework.com/arjen/archives/2006/10/10/domain-drivel/#comment-1014</guid>
		<description>&lt;p&gt;Agree 100%
...Although you&#039;ll get no love from TSS and all the MFowler (or anyone else who thinks OO programming is the center of the software universe)... &lt;/p&gt;

&lt;p&gt;so many people get wrapped up in trying to provide n-levels of abstraction &lt;em&gt;cough&lt;/em&gt;hibernate&lt;em&gt;cough&lt;/em&gt; or software patterns that try to solve this inherent &quot;impedence mismatch &lt;em&gt;cough&lt;/em&gt;TableDataGateway&lt;em&gt;cough&lt;/em&gt; that they forget that &lt;B&gt;the Data is King&lt;/B&gt; not some ephemeral oo process that some website is trying to accomplish...(try working for a financial institution and you&#039;d get that).&lt;/p&gt;

&lt;p&gt;The major things I see with Rich Domain is:&lt;/p&gt;

&lt;p&gt;1) Ok now I have a domain model with data AND logic... what if the logic is correct in one process/context (i.e. online OLTP order acceptance)... but Similar, yet not OK for another context (i.e. Auditing/ OLAP reporting)... &lt;/p&gt;

&lt;p&gt;2) Say I&#039;ve persisted a version of my model many years ago, now I need to reconsititue it, but it fundimentally violates the validation rules in the Rich domain model... now what, do I need to keep multiple versions of the domain model handy, or have ways or relaxing constraints/logic?&lt;/p&gt;

&lt;p&gt;3 cheers for anemic domain!&lt;/p&gt;

&lt;p&gt;E.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Agree 100%
&#8230;Although you&#8217;ll get no love from TSS and all the MFowler (or anyone else who thinks OO programming is the center of the software universe)&#8230; </p>

<p>so many people get wrapped up in trying to provide n-levels of abstraction <em>cough</em>hibernate<em>cough</em> or software patterns that try to solve this inherent &#8220;impedence mismatch <em>cough</em>TableDataGateway<em>cough</em> that they forget that <b>the Data is King</b> not some ephemeral oo process that some website is trying to accomplish&#8230;(try working for a financial institution and you&#8217;d get that).</p>

<p>The major things I see with Rich Domain is:</p>

<p>1) Ok now I have a domain model with data AND logic&#8230; what if the logic is correct in one process/context (i.e. online OLTP order acceptance)&#8230; but Similar, yet not OK for another context (i.e. Auditing/ OLAP reporting)&#8230; </p>

<p>2) Say I&#8217;ve persisted a version of my model many years ago, now I need to reconsititue it, but it fundimentally violates the validation rules in the Rich domain model&#8230; now what, do I need to keep multiple versions of the domain model handy, or have ways or relaxing constraints/logic?</p>

<p>3 cheers for anemic domain!</p>

<p>E.</p>]]></content:encoded>
	</item>
</channel>
</rss>
