<?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: Realistic Concurrency</title>
	<atom:link href="http://www.udidahan.com/2007/01/22/realistic-concurrency/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Sat, 11 Feb 2012 15:16:10 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: udidahan</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-36726</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Fri, 18 Sep 2009 07:23:51 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-36726</guid>
		<description>Simon,

Concurrency tokens can be useful but I&#039;ve found that when going through these scenarios with users - understanding WHY they&#039;re updating the data, what task they want to perform, what external, real-world trigger made them log into the system at this time, then the real task presents itself. And that task more often than not doesn&#039;t require a concurrency token.

Hope that makes sense.</description>
		<content:encoded><![CDATA[<p>Simon,</p>
<p>Concurrency tokens can be useful but I&#8217;ve found that when going through these scenarios with users &#8211; understanding WHY they&#8217;re updating the data, what task they want to perform, what external, real-world trigger made them log into the system at this time, then the real task presents itself. And that task more often than not doesn&#8217;t require a concurrency token.</p>
<p>Hope that makes sense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-36721</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Thu, 17 Sep 2009 00:18:25 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-36721</guid>
		<description>The problem I see with this is that the user is unaware that the data had changed after they submitted their change. Perhaps they only wanted to update the value if it was over a year old. Whilst in the time they were viewing the data on their screen, changing it and submitting it, someone else had snuck in and changed the data. For example, you wish to update an electricity meter reading only if it hasn&#039;t been updated for longer than a month.

A concurrency token can help out here. For example, sending the RowVersion as part of the data to the client and back again, and then checking the concurrency token is still the same before applying the update.

What are you thoughts on that? Are there better ways to achieve this than using concurrency tokens?</description>
		<content:encoded><![CDATA[<p>The problem I see with this is that the user is unaware that the data had changed after they submitted their change. Perhaps they only wanted to update the value if it was over a year old. Whilst in the time they were viewing the data on their screen, changing it and submitting it, someone else had snuck in and changed the data. For example, you wish to update an electricity meter reading only if it hasn&#8217;t been updated for longer than a month.</p>
<p>A concurrency token can help out here. For example, sending the RowVersion as part of the data to the client and back again, and then checking the concurrency token is still the same before applying the update.</p>
<p>What are you thoughts on that? Are there better ways to achieve this than using concurrency tokens?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Database Level Conflict Resolution with Astoria</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-1668</link>
		<dc:creator>&#187; Database Level Conflict Resolution with Astoria</dc:creator>
		<pubDate>Thu, 10 May 2007 14:10:27 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-1668</guid>
		<description>[...] up on my recent post about the concurrency problems that we&#8217;re heading for with Astoria, and the way to avoid it by using business-level update semantics, I wanted to round out the [...]</description>
		<content:encoded><![CDATA[<p>[...] up on my recent post about the concurrency problems that we&rsquo;re heading for with Astoria, and the way to avoid it by using business-level update semantics, I wanted to round out the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Dataset – O/R mapping rumble at TechEd MVP Dinner</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-1453</link>
		<dc:creator>&#187; Dataset – O/R mapping rumble at TechEd MVP Dinner</dc:creator>
		<pubDate>Sat, 21 Apr 2007 18:20:54 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-1453</guid>
		<description>[...] customer’s marital status, the other changes their address. At the business level, there is no concurrency problem here. Both changes should go through. When using datasets, and those changes are bundled up [...]</description>
		<content:encoded><![CDATA[<p>[...] customer’s marital status, the other changes their address. At the business level, there is no concurrency problem here. Both changes should go through. When using datasets, and those changes are bundled up [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Occasionally Connected Systems Architecture</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-1191</link>
		<dc:creator>&#187; Occasionally Connected Systems Architecture</dc:creator>
		<pubDate>Wed, 04 Apr 2007 23:58:37 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-1191</guid>
		<description>[...] changes to the server. This is handled on the server-side by the techniques I detailed in &#8220;Realistic Concurrency&#8221;, but it is critical to have the client pass the Units-of-Work it performed to the server for [...]</description>
		<content:encoded><![CDATA[<p>[...] changes to the server. This is handled on the server-side by the techniques I detailed in &ldquo;Realistic Concurrency&rdquo;, but it is critical to have the client pass the Units-of-Work it performed to the server for [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Tasks, Messages, &#38; Transactions – the holy trinity</title>
		<link>http://www.udidahan.com/2007/01/22/realistic-concurrency/comment-page-1/#comment-1171</link>
		<dc:creator>&#187; Tasks, Messages, &#38; Transactions – the holy trinity</dc:creator>
		<pubDate>Sat, 31 Mar 2007 11:04:01 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/366#comment-1171</guid>
		<description>[...] written about how to do this before in regards to Realistic Concurrency, and the best example I have in terms of code is Better Domain-Driven Design [...]</description>
		<content:encoded><![CDATA[<p>[...] written about how to do this before in regards to Realistic Concurrency, and the best example I have in terms of code is Better Domain-Driven Design [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

