<?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: CQRS &amp; the architecture coming along</title>
	<atom:link href="http://www.codeagle.com/blog/2010/03/10/275/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codeagle.com/blog/2010/03/10/275/</link>
	<description>Rick&#039;s personal and professional blog</description>
	<lastBuildDate>Thu, 13 Jan 2011 08:47:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Command Query Responsibility Segregation &#124; Dialogues Technology</title>
		<link>http://www.codeagle.com/blog/2010/03/10/275/comment-page-1/#comment-16741</link>
		<dc:creator>Command Query Responsibility Segregation &#124; Dialogues Technology</dc:creator>
		<pubDate>Thu, 13 Jan 2011 08:47:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeagle.com/blog/?p=275#comment-16741</guid>
		<description>[...] Technology weblog IT -ESSENCE, CQRS &amp; the architecture coming along by Rick van der [...]</description>
		<content:encoded><![CDATA[<p>[...] Technology weblog IT -ESSENCE, CQRS &amp; the architecture coming along by Rick van der [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick</title>
		<link>http://www.codeagle.com/blog/2010/03/10/275/comment-page-1/#comment-10177</link>
		<dc:creator>Rick</dc:creator>
		<pubDate>Thu, 11 Mar 2010 11:43:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeagle.com/blog/?p=275#comment-10177</guid>
		<description>Thanks for the kind words! Hope it helps you in getting a clearer picture of everything involved in CQRS.

Well, normally one would make one command = one transaction. And given the nature of the event store, for transactions, we could use optimistic locking. This will mean events that are generated on an aggregate root that has already been versioned up (by another command), will have to throw a concurrency exception. The domain might actually still make something of this, because the intent of the action is not lost.

Greg suggests keeping the read database in the tranaction scope too, until this gets too bothersome. This will ensure consistency of the data you&#039;re reading, of course. When this puts too much burden on the transactions (because of scaling up the number of db&#039;s, for instance), you can always retract the transaction boundary to only include the event store. Your read db will then only be eventually consistent. Which in the majority of cases is enough.</description>
		<content:encoded><![CDATA[<p>Thanks for the kind words! Hope it helps you in getting a clearer picture of everything involved in CQRS.</p>
<p>Well, normally one would make one command = one transaction. And given the nature of the event store, for transactions, we could use optimistic locking. This will mean events that are generated on an aggregate root that has already been versioned up (by another command), will have to throw a concurrency exception. The domain might actually still make something of this, because the intent of the action is not lost.</p>
<p>Greg suggests keeping the read database in the tranaction scope too, until this gets too bothersome. This will ensure consistency of the data you&#8217;re reading, of course. When this puts too much burden on the transactions (because of scaling up the number of db&#8217;s, for instance), you can always retract the transaction boundary to only include the event store. Your read db will then only be eventually consistent. Which in the majority of cases is enough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johan den Haan</title>
		<link>http://www.codeagle.com/blog/2010/03/10/275/comment-page-1/#comment-10176</link>
		<dc:creator>Johan den Haan</dc:creator>
		<pubDate>Thu, 11 Mar 2010 11:12:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.codeagle.com/blog/?p=275#comment-10176</guid>
		<description>Hi Rick,

Thanks for this clear, well-written article!

I&#039;m jus wondering: what about locking and transactions in the circular architecture?</description>
		<content:encoded><![CDATA[<p>Hi Rick,</p>
<p>Thanks for this clear, well-written article!</p>
<p>I&#8217;m jus wondering: what about locking and transactions in the circular architecture?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

