<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>soabloke &#187; architecture</title>
	<atom:link href="http://www.soabloke.com/category/architecture/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.soabloke.com</link>
	<description>pushing soa up the slope (with a pointy stick)</description>
	<lastBuildDate>Tue, 06 Sep 2011 07:51:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Amazon Shareholder Letter</title>
		<link>http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/</link>
		<comments>http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 21:05:34 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[soa]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[decision management]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=375</guid>
		<description><![CDATA[This is a few months old, but Werner Vogels republishes the Amazon.com Shareholder Letter. A summary of how the quintessential 21st century company views its competitive advantage: Service Oriented Architecture Distributed state management Decision management Regarding Service Orientation: Our technologies are almost exclusively implemented as services: bits of logic that encapsulate the data they operate on and provide [...]


Related posts:<ol><li><a href='http://www.soabloke.com/2009/05/25/the-real-economics-of-soa/' rel='bookmark' title='The Real Economics of SOA'>The Real Economics of SOA</a></li>
<li><a href='http://www.soabloke.com/2008/05/17/web-oriented-soa/' rel='bookmark' title='Web-Oriented SOA'>Web-Oriented SOA</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This is a few months old, but Werner Vogels republishes the <a title="Amazon.com Shareholder Letter" href="http://www.allthingsdistributed.com/2011/04/the_amazoncom_2010_shareholder.html" target="_blank">Amazon.com Shareholder Letter</a>. A summary of how the quintessential 21st century company views its competitive advantage:</p>
<ol>
<li>Service Oriented Architecture</li>
<li>Distributed state management</li>
<li>Decision management</li>
</ol>
<p>Regarding Service Orientation:</p>
<blockquote><p>Our technologies are almost exclusively implemented as services: bits of logic that encapsulate the data they operate on and provide hardened interfaces as the only way to access their functionality. This approach reduces side effects and allows services to evolve at their own pace without impacting the other components of the overall system. Service-oriented architecture &#8212; or SOA &#8212; is the fundamental building abstraction for Amazon technologies. Thanks to a thoughtful and far-sighted team of engineers and architects, this approach was applied at Amazon long before SOA became a buzzword in the industry. Our e-commerce platform is composed of a federation of hundreds of software services that work in concert to deliver functionality ranging from recommendations to order fulfillment to inventory tracking. For example, to construct a product detail page for a customer visiting Amazon.com, our software calls on between 200 and 300 services to present a highly personalized experience for that customer.</p></blockquote>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Amazon+Shareholder+Letter+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D375" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Amazon+Shareholder+Letter+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D375" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/&amp;title=Amazon+Shareholder+Letter" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/&amp;title=Amazon+Shareholder+Letter" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/&amp;t=Amazon+Shareholder+Letter" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/&amp;t=Amazon+Shareholder+Letter" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/05/25/the-real-economics-of-soa/' rel='bookmark' title='The Real Economics of SOA'>The Real Economics of SOA</a></li>
<li><a href='http://www.soabloke.com/2008/05/17/web-oriented-soa/' rel='bookmark' title='Web-Oriented SOA'>Web-Oriented SOA</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2011/09/06/amazon-shareholder-letter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Any Lessons from the AWS Outage?</title>
		<link>http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/</link>
		<comments>http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/#comments</comments>
		<pubDate>Mon, 02 May 2011 12:06:23 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[distributed-computing]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[lessons]]></category>
		<category><![CDATA[outage]]></category>
		<category><![CDATA[strorms]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=356</guid>
		<description><![CDATA[You&#8217;ve probably heard that Amazon AWS had some problems recently. A question on Stackoverflow recently pointed out a detailed summary of the problem posted on the AWS message board. Obviously every distributed system is different and every outage is unique so it is difficult to generalise. Some takeways I have are: Outages happen to even [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve probably heard that Amazon AWS had some problems recently. A <a href="http://stackoverflow.com/questions/5853107/what-can-we-learn-about-building-distributed-systems-from-the-recent-amazon-ec2-o" target="_blank">question on Stackoverflow</a> recently pointed out a detailed <a title="Summary of the Amazon EC2 and Amazon RDS Service Disruption in the US East Region" href="http://aws.amazon.com/message/65648/" target="_blank">summary of the problem</a> posted on the AWS message board.</p>
<p>Obviously every distributed system is different and every outage is unique so it is difficult to generalise. Some takeways I have are:</p>
<ol>
<li>Outages happen to even the best guys on the block&#8230;so you better plan for yours.</li>
<li>Building distributed systems is hard&#8230;so you need experience and experienced friends.</li>
<li>Manual changes are a common cause&#8230;not said explicitly in the AWS writeup, but strongly implied.</li>
<li>Outages are often &#8220;emergent&#8221; phenomena whereby a simple error causes many systems to interact in a way which grows exponentially. The AWS writeup refers to this as a &#8220;storm&#8221; and I have witnessed similar &#8220;storms&#8221; in large distributed systems. The degree of coupling and simple aspects like backoff parameters can make the difference between a disturbance that grows exponentially or decays exponentially. Think of the Tacoma Narrows bridge &#8211; perhaps the analogy is a stretch, but tuning of a few simple parameters can avoid destructive resonances.</li>
<li>One of the responses pointed to the <a title="Lessons we've learned using AWS" href="http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html" target="_blank">Netflix Chaos Monkey</a> as being vindicated by the outage. The &#8220;Lean&#8221; guys have taught us that if something is difficult (like testing or deployment) then you should do it often until it aint difficult any more. Perhaps system failure/resilience is the next frontier for this approach.</li>
</ol>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Any+Lessons+from+the+AWS+Outage%3F+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D356" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Any+Lessons+from+the+AWS+Outage%3F+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D356" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/&amp;title=Any+Lessons+from+the+AWS+Outage%3F" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/&amp;title=Any+Lessons+from+the+AWS+Outage%3F" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/&amp;t=Any+Lessons+from+the+AWS+Outage%3F" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/&amp;t=Any+Lessons+from+the+AWS+Outage%3F" title="Post to Facebook">Post to Facebook</a></p></div>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2011/05/02/any-lessons-from-the-aws-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who Cares About Technology?</title>
		<link>http://www.soabloke.com/2011/01/15/who-cares-about-technology/</link>
		<comments>http://www.soabloke.com/2011/01/15/who-cares-about-technology/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 23:23:28 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=347</guid>
		<description><![CDATA[It's a truism that the business doesn't care about technology, but somebody should.


Related posts:<ol><li><a href='http://www.soabloke.com/2009/01/12/11-dont-raise-the-drawbridge/' rel='bookmark' title='11. Don&#8217;t Raise the Drawbridge'>11. Don&#8217;t Raise the Drawbridge</a></li>
<li><a href='http://www.soabloke.com/2009/08/14/ea-and-agile-projects/' rel='bookmark' title='EA and Agile Projects'>EA and Agile Projects</a></li>
<li><a href='http://www.soabloke.com/2009/06/16/the-value-of-enterprise-architecture/' rel='bookmark' title='The Value of Enterprise Architecture'>The Value of Enterprise Architecture</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Steve Jones <a href="http://service-architecture.blogspot.com/2011/01/business-dont-care-about-technology.html">reminds us</a> that the business doesn&#8217;t care about technology &#8211; so stop harping about it and using it as an excuse for underperformance.</p>
<p>I totally agree that this is a key reason behind the endemic business/IT culture divide that is the root of many problems.</p>
<p>However this poses an obvious question &#8211; who <em>does </em>care about the technology?. The trick is not to over-engineer, but to engineer to just the right level to deliver business value now and into the future.</p>
<p>Somebody has to care about the technology (products, tools, methodologies), because otherwise you lose control and foster a legacy of technical debt which ultimately erodes business value.</p>
<p>I guess this is an axiom of Enterprise Architecture &#8211; that lack of governance leads to chaos and inefficiencies. Some would argue with this assertion, but I have never seen a counter-example. And of course the inverse statement is not necessarily true either.</p>
<p>So if the business doesn&#8217;t care about technology then who does? And if that is &#8220;nobody&#8221; then what happens?</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Who+Cares+About+Technology%3F+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D347" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Who+Cares+About+Technology%3F+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D347" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/01/15/who-cares-about-technology/&amp;title=Who+Cares+About+Technology%3F" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2011/01/15/who-cares-about-technology/&amp;title=Who+Cares+About+Technology%3F" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/01/15/who-cares-about-technology/&amp;t=Who+Cares+About+Technology%3F" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2011/01/15/who-cares-about-technology/&amp;t=Who+Cares+About+Technology%3F" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/01/12/11-dont-raise-the-drawbridge/' rel='bookmark' title='11. Don&#8217;t Raise the Drawbridge'>11. Don&#8217;t Raise the Drawbridge</a></li>
<li><a href='http://www.soabloke.com/2009/08/14/ea-and-agile-projects/' rel='bookmark' title='EA and Agile Projects'>EA and Agile Projects</a></li>
<li><a href='http://www.soabloke.com/2009/06/16/the-value-of-enterprise-architecture/' rel='bookmark' title='The Value of Enterprise Architecture'>The Value of Enterprise Architecture</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2011/01/15/who-cares-about-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coupling as Inertia</title>
		<link>http://www.soabloke.com/2010/11/20/partial-update/</link>
		<comments>http://www.soabloke.com/2010/11/20/partial-update/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 11:18:44 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[soa]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[coupling]]></category>
		<category><![CDATA[inertia]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/2010/11/20/partial-update/</guid>
		<description><![CDATA[In systems architecture, there are rarely any right answers &#8211; mostly just trade offs between one solution or another. In such cases it helps to bear in mind some fundamental principles as a guideline. One principle I often use is cost vs. benefit. Another useful principle is to minimize coupling between systems. Coupling is pervasive [...]


Related posts:<ol><li><a href='http://www.soabloke.com/2009/04/28/ian-robinson-on-coupling/' rel='bookmark' title='Ian Robinson on Coupling'>Ian Robinson on Coupling</a></li>
<li><a href='http://www.soabloke.com/2009/05/12/dimensions-of-coupling/' rel='bookmark' title='Dimensions of Coupling'>Dimensions of Coupling</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In systems architecture, there are rarely any right answers &#8211; mostly just trade offs between one solution or another. In such cases it helps to bear in mind some fundamental principles as a guideline. One principle I often use is cost vs. benefit. Another useful principle is to minimize coupling between systems. Coupling is pervasive and leads to a kind of inertia in enterprise systems. Newton discovered that inertia prevents change and if there is one thing that enterprises struggle most with, it&#8217;s change. </p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Coupling+as+Inertia+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D326" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Coupling+as+Inertia+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D326" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/11/20/partial-update/&amp;title=Coupling+as+Inertia" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/11/20/partial-update/&amp;title=Coupling+as+Inertia" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/11/20/partial-update/&amp;t=Coupling+as+Inertia" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/11/20/partial-update/&amp;t=Coupling+as+Inertia" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/04/28/ian-robinson-on-coupling/' rel='bookmark' title='Ian Robinson on Coupling'>Ian Robinson on Coupling</a></li>
<li><a href='http://www.soabloke.com/2009/05/12/dimensions-of-coupling/' rel='bookmark' title='Dimensions of Coupling'>Dimensions of Coupling</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2010/11/20/partial-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beautiful Data Polling</title>
		<link>http://www.soabloke.com/2010/08/04/beautiful-data-polling/</link>
		<comments>http://www.soabloke.com/2010/08/04/beautiful-data-polling/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 22:51:51 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[asynchronous]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[polling]]></category>
		<category><![CDATA[pub/sub]]></category>
		<category><![CDATA[push]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=276</guid>
		<description><![CDATA[An excellent review of Beautiful Data leads to an interesting discussion on Slashdot argues push models versus polling models and the problems with implementing them.


Related posts:<ol><li><a href='http://www.soabloke.com/2008/08/19/push-versus-pull/' rel='bookmark' title='Push versus Pull'>Push versus Pull</a></li>
<li><a href='http://www.soabloke.com/2009/04/21/56-architecture-case-studies/' rel='bookmark' title='56 Architecture Case Studies'>56 Architecture Case Studies</a></li>
<li><a href='http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/' rel='bookmark' title='The Year of Living Asynchronously'>The Year of Living Asynchronously</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://oreilly.com/" target="_blank">O&#8217;Reilly</a> have released a new book in their &#8220;Beautiful&#8230;&#8221; series called &#8220;<a href="http://oreilly.com/catalog/9780596157128" target="_self">Beautiful Data</a>.&#8221;  There&#8217;s a very comprehensive review on <a href="http://science.slashdot.org/story/10/08/02/1258208/Beautiful-Data" target="_blank">Slashdot</a> which I highly recommend. The description of chapter eight caught my eye:</p>
<blockquote><p>Chapter Eight is about social data APIs and pushes <a href="http://gnip.com/" target="_blank">gnip</a> heavily as the de facto social endpoint aggregator for programmers. The chapter mentions <a href="http://www.webhooks.org/" target="_blank">WebHooks</a> as an up and coming HTTP Post event transmission project but doesn&#8217;t offer much more than a wake up call for programmers. The traditional polling has dominated web APIs and has lead to<a href="http://mobile.slashdot.org/story/10/07/07/1836256/Twitter-Throttling-Hits-Third-Party-Apps" target="_blank"> fragile points of failure</a>. This chapter is a much needed call for sanity in the insane world of HTTP transactional polling. Unfortunately, the community seems to be so in love with the simplicity of polling that they use it for everything, even when a slightly more complicated eventing model would save them a large percentage of transactions.</p></blockquote>
<p>The link &#8220;<a href="http://mobile.slashdot.org/story/10/07/07/1836256/Twitter-Throttling-Hits-Third-Party-Apps" target="_blank">fragile points of failure</a>&#8221; is worth following as it leads to a robust slashdot discussion on Twitter APIs and polling versus push for the web.</p>
<blockquote><p>I think for a long time, the &#8220;web&#8221; as we know it has suffered from the lack of the Event/Listener paradigm. This is a pretty simple design concept that I&#8217;m going to refer to as <a title="wikipedia.org" href="http://en.wikipedia.org/wiki/Observer_pattern">the Observer</a> [wikipedia.org]. Let&#8217;s say I want to know what Stephen Hawking is tweeting about and I want to know 24/7. Now if you have to make more than one call, something is wrong. That one call should be a notification to Twitter who I am, where you can contact me and what I want to keep tabs on&#8211;be it a keyword or user. So all I should ever have to do is tell Twitter I want to know everything from Stephen Hawking and everything with #stephenhawking or whatever and from that point on, it will try to submit that message to me via any number of technologies. Simple <a title="wikipedia.org" href="http://en.wikipedia.org/wiki/Publish/subscribe">pub/sub</a> [wikipedia.org] message queues could be implemented here to alleviate my need to continually go to Twitter and say: &#8220;Has Stephen Hawking said anything new yet? *millisecond pause* Has Stephen Hawking said anything new yet? *millisecond pause* &#8230;&#8221; ad infinitum.</p></blockquote>
<p>And yet&#8230;</p>
<blockquote><p>That&#8217;s not easy to do on a large scale. A persistent connection has to be in place between publisher and subscriber. Twitter would have to have a huge number of low-traffic connections open. (Hopefully only one per subscriber, not one per publisher/subscriber combination.) Then, on the server side, they&#8217;d have to have a routing system to track who&#8217;s following what, invert that information, and blast out a message to all followers whenever there was an update. This is all quite feasible, but it&#8217;s quite different from the classic HTTP model.</p>
<p>It&#8217;s been done before, though. Remember <a title="wikipedia.org" href="http://en.wikipedia.org/wiki/Push_technology">Push technology</a> [wikipedia.org]? That&#8217;s what this is. PointCast <a title="cnet.com" href="http://news.cnet.com/2100-1023-237059.html">sent their final news/stock push message</a> [cnet.com] in February 2000. There&#8217;s more support for &#8220;push&#8221; in HTML5, incidentally.</p></blockquote>
<p>Ahhh yes, I remember PointCast well. One of the early darlings of the dot-com era. This reply points at some new hope:</p>
<blockquote><p>For messaging architectures (like, say, the internet), the pattern is usually described as &#8220;Publish/Subscribe&#8221;. All serious messaging protocols support it (XMPP, AMQP, etc.) and some are dedicated to it (PubSubHubbub). The basic problem with using it the whole way to the client is that many clients are run in environments where it is impractical to run a server which makes recieving inbound connections difficult.</p>
<p>There are fairly good solutions to that, mostly involving using a proxy for the client somewhere that can run a server which holds messages, and then having the client call the proxy (rather than the message sources) to get all the pending messages together.</p></blockquote>
<p><a href="http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/">Keep watching</a>.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Beautiful+Data+Polling+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D276" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Beautiful+Data+Polling+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D276" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/08/04/beautiful-data-polling/&amp;title=Beautiful+Data+Polling" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/08/04/beautiful-data-polling/&amp;title=Beautiful+Data+Polling" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/08/04/beautiful-data-polling/&amp;t=Beautiful+Data+Polling" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/08/04/beautiful-data-polling/&amp;t=Beautiful+Data+Polling" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2008/08/19/push-versus-pull/' rel='bookmark' title='Push versus Pull'>Push versus Pull</a></li>
<li><a href='http://www.soabloke.com/2009/04/21/56-architecture-case-studies/' rel='bookmark' title='56 Architecture Case Studies'>56 Architecture Case Studies</a></li>
<li><a href='http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/' rel='bookmark' title='The Year of Living Asynchronously'>The Year of Living Asynchronously</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2010/08/04/beautiful-data-polling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>An Hypothesis</title>
		<link>http://www.soabloke.com/2010/02/16/an-hypothesis/</link>
		<comments>http://www.soabloke.com/2010/02/16/an-hypothesis/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 07:26:19 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[enterprise-architecture]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=233</guid>
		<description><![CDATA[Can Enterprise Architecture deliver better productivity and success?


Related posts:<ol><li><a href='http://www.soabloke.com/2009/01/12/11-dont-raise-the-drawbridge/' rel='bookmark' title='11. Don&#8217;t Raise the Drawbridge'>11. Don&#8217;t Raise the Drawbridge</a></li>
<li><a href='http://www.soabloke.com/2009/06/16/the-value-of-enterprise-architecture/' rel='bookmark' title='The Value of Enterprise Architecture'>The Value of Enterprise Architecture</a></li>
<li><a href='http://www.soabloke.com/2009/08/19/emergent-architecture/' rel='bookmark' title='Emergent Architecture'>Emergent Architecture</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Enterprise IT is badly broken in most of it&#8217;s current incarnations. This is due to a wide range of influences &#8211; organizational, political and technical. I think there are ways to increase productivity and reduce cost and risk by changing enterprise IT practices towards:</p>
<ol>
<li>A collaborative business and IT culture that owns and manages risk rather than just outsource and lose control.</li>
<li>An Enterprise IT strategy and Architecture that provides &#8220;cohesion&#8221; so that smaller, agile projects can deliver strategic value.</li>
<li>Using (and developing in-house) development frameworks that enhance productivity by:
<ul>
<li>encouraging in-house standards and best practices,</li>
<li>operating at a high level of abstraction &#8211; business processes, services, events, rules</li>
<li>foster developer skills beyond &#8220;commodity&#8221; levels.</li>
</ul>
</li>
</ol>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=An+Hypothesis+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D233" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=An+Hypothesis+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D233" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/02/16/an-hypothesis/&amp;title=An+Hypothesis" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/02/16/an-hypothesis/&amp;title=An+Hypothesis" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/02/16/an-hypothesis/&amp;t=An+Hypothesis" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/02/16/an-hypothesis/&amp;t=An+Hypothesis" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/01/12/11-dont-raise-the-drawbridge/' rel='bookmark' title='11. Don&#8217;t Raise the Drawbridge'>11. Don&#8217;t Raise the Drawbridge</a></li>
<li><a href='http://www.soabloke.com/2009/06/16/the-value-of-enterprise-architecture/' rel='bookmark' title='The Value of Enterprise Architecture'>The Value of Enterprise Architecture</a></li>
<li><a href='http://www.soabloke.com/2009/08/19/emergent-architecture/' rel='bookmark' title='Emergent Architecture'>Emergent Architecture</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2010/02/16/an-hypothesis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Year of Living Asynchronously</title>
		<link>http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/</link>
		<comments>http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 20:51:55 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[asynchronous]]></category>
		<category><![CDATA[cep]]></category>
		<category><![CDATA[eda]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[loose-coupling]]></category>
		<category><![CDATA[messaging]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=222</guid>
		<description><![CDATA[Asynchronicity is busting out all over the web, and 2010 will be the year of "events". Synchronous SOA services can limit scalability. Move to more asynchronous service patterns to benefit your solutions.


Related posts:<ol><li><a href='http://www.soabloke.com/2008/01/31/the-benfits-of-an-esb/' rel='bookmark' title='The benefits of an ESB'>The benefits of an ESB</a></li>
<li><a href='http://www.soabloke.com/2009/04/28/ian-robinson-on-coupling/' rel='bookmark' title='Ian Robinson on Coupling'>Ian Robinson on Coupling</a></li>
<li><a href='http://www.soabloke.com/2009/05/12/dimensions-of-coupling/' rel='bookmark' title='Dimensions of Coupling'>Dimensions of Coupling</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Happy New Year! Asynchronicity is busting out all over the web and my prediction is that 2010 will be the year of &#8220;events&#8221;:</p>
<ul>
<li>Of course <a title="Twitter" href="http://twitter.com" target="_blank">Twitter </a>has brought The concept of publish/subscribe messaging to the masses and we enjoyed their journey of discovery to the <a title="Scaling Twitter" href="http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster" target="_blank">heights of scalability</a> in 2009.</li>
<li><a title="XMPP" href="http://xmpp.org/" target="_blank">XMPP</a> has been embraced by the real-time web crowd, most publicly in <a title="Google Wave" href="http://wave.google.com" target="_blank">Google Wave</a> but also in other <a href="http://www.olympum.com/future/will-xmpp-be-the-messaging-middleware-for-the-rest-web/" target="_blank">&#8220;back-web&#8221; contexts</a> such as <a title="Gnip - relaunching in February 2010" href="http://www.gnip.com/" target="_blank">Gnip</a>.</li>
<li><a title="Web Sockets in Google Chrome" href="http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html" target="_blank">Web sockets</a> is an experimental feature of HTML 5 which enables push messages directly to web pages.</li>
<li>New frameworks for event-driven programming are emerging such as <a title="Ruby EventMachine" href="http://rubyeventmachine.com/" target="_blank">EventMachine</a>, <a title="Twisted" href="http://twistedmatrix.com/" target="_blank">Twisted</a>, <a title="Node.js" href="http://nodejs.org/" target="_blank">Node.js</a>.</li>
<li>In 2009 every major software vendor had a CEP product.</li>
</ul>
<p>In the meantime, SOA has become so damn synchronous. But it doesn&#8217;t have to be!</p>
<p>One of the fundamental tennets of SOA is that reducing coupling between systems makes them more scalable, reliable and agile (easier to change). SOA goes a long way to reducing coupling by providing a contract-based, platform independent mechanism for service providers and consumers to cooperate. However I still think we can improve on current SOA practices in further reducing coupling.</p>
<p>Coupling still intrudes into many aspects of how SOA is practiced today:</p>
<ul>
<li>HTTP transports tie us to a regimen of <a title="The Power of Later" href="http://www.soabloke.com/2009/05/05/the-power-of-later/" target="_blank">synchronous request-reply with timeouts</a> which creates tight couplings between provider and consumer. Even though one-way MEPs were an original feature of SOAP, <a title="SOAP/JMS Binding" href="http://www.w3.org/TR/2009/CR-soapjms-20090604/" target="_blank">message-oriented transports</a> remain the forgotten orphan of web-services standards.</li>
<li>Many SOA services are conceived, implemented and maintained as point-to-point entities&#8230;providers and consumers forced into lock-step due to inadequate versioning and lifecycle management.</li>
<li>Process orchestration layers often form a bridge between service providers and consumers, which on the face of it provides some level of indirection. But in many cases orchestration provides limited value and may actually serve to increase the overall system coupling.</li>
</ul>
<p>In many cases we can achieve the benefits of service orientation to much greater effect by exercising a little scepticism toward some of these <a title="Shibboleth" href="http://en.wikipedia.org/wiki/Shibboleth" target="_blank">shibboleths</a> of the web services world and embracing a more asynchronous, event-oriented way of building processes. So this year, embrace your asynchronous side and do something to reduce your system coupling: build some pub/sub services, learn about <a title="Complex Events" href="http://complexevents.com/" target="_blank">Event Processing</a> or <a title="Event Driven Architecture" href="http://en.wikipedia.org/wiki/Event-driven_architecture" target="_blank">Event-Driven Architecture</a>, try one of the technologies I pointed to above.</p>
<p>Just as developers should embrace multiple languages to broaden their skills, so should architects embrace and be fluent in multiple <a title="Characterising Architectural Styles" href="http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/" target="_blank"> architectural styles</a>.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=The+Year+of+Living+Asynchronously+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D222" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=The+Year+of+Living+Asynchronously+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D222" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/&amp;title=The+Year+of+Living+Asynchronously" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/&amp;title=The+Year+of+Living+Asynchronously" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/&amp;t=The+Year+of+Living+Asynchronously" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/&amp;t=The+Year+of+Living+Asynchronously" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2008/01/31/the-benfits-of-an-esb/' rel='bookmark' title='The benefits of an ESB'>The benefits of an ESB</a></li>
<li><a href='http://www.soabloke.com/2009/04/28/ian-robinson-on-coupling/' rel='bookmark' title='Ian Robinson on Coupling'>Ian Robinson on Coupling</a></li>
<li><a href='http://www.soabloke.com/2009/05/12/dimensions-of-coupling/' rel='bookmark' title='Dimensions of Coupling'>Dimensions of Coupling</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reductio ad Lucidus</title>
		<link>http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/</link>
		<comments>http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 00:51:15 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[cep]]></category>
		<category><![CDATA[eai]]></category>
		<category><![CDATA[eda]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[soa]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=215</guid>
		<description><![CDATA[In a recent comment on my Architectural Characteristics posts, Andy astutely observes that I may be &#8220;shoe-horning&#8221;. By this I assume he means that I&#8217;m taking a large and rather lumpy concept and trying to squeeze it into a smaller and more uniformly shaped container while risking some distortion in the process. I&#8217;ll admit that [...]


Related posts:<ol><li><a href='http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/' rel='bookmark' title='Characterising Architectural Styles II &#8211; State'>Characterising Architectural Styles II &#8211; State</a></li>
<li><a href='http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/' rel='bookmark' title='The Year of Living Asynchronously'>The Year of Living Asynchronously</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In a recent comment on my <a title="Characterising Architectural Styles" href="http://www.soabloke.com/?s=Characterising+Architectural+Styles" target="_blank">Architectural Characteristics posts</a>, Andy <a title="Andy's Comment" href="http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/#comment-625" target="_blank">astutely observes</a> that I may be &#8220;shoe-horning&#8221;. By this I assume he means that I&#8217;m taking a large and rather lumpy concept and trying to squeeze it into a smaller and more uniformly shaped container while risking some distortion in the process. I&#8217;ll admit that in this respect I&#8217;m probably guilty as charged.</p>
<p>But I should clarify my purpose in doing this. I&#8217;m trying to cut back the various architectural styles under consideration to a simpler form where the essential characteristics can be discerned without confusion from some other non-essential characteristics. So rather than shoehorning, I&#8217;m trying to setup a strawman model which can be used as a starting point for discussion. Or maybe like a physicist I&#8217;m trying to model a very complex phenomenon using linear approximations which explain the broad outlines of the phenomenon at the risk of falling short on some of the details.</p>
<p>To extend this latter metaphor, I don&#8217;t think it is too much of a stretch to say that the architectural styles I&#8217;m considering could be likened to &#8220;fundamental&#8221; architectural styles and that real-world architectures could be viewed as &#8220;superpositions&#8221; of those fundamental architectures.</p>
<p>If we consider the simplified forms of EAI and SOA that I describe, each style falls short of representing a real world architecture, but the upside is that the EAI and SOA styles as I describe them are distinct and easily differentiated. So we have a model which provides a way of distinguishing between different styles (via the characteristics I&#8217;ve discussed) but falls short of exactly matching a &#8220;real-world&#8221; architecure.</p>
<p>If we look at any real-world architecture in recent years, I think we can see a superposition of EAI and SOA concepts. This probably reflects an evolutionary path between the two styles. EAI as practiced in the early noughties had already developed the idea of a normalised data model and technology independent interfaces. These were not standardized, but some of the characteristics of SOA were apparent in what was then called EAI.</p>
<p>Similarly, EAI was not always about data integration. There was (and is) a distinction between data integration and process integration. EAI techniques could be used to orchestrate processes across multiple systems. This is even closer to the concept of SOA which has at its core the notion of an independent process layer seperate from the service layer.</p>
<p>Even if we don&#8217;t superpose EAI and SOA into one solution, there are still legitimate ways in which EAI, SOA and EDA coexist within any particular architecture. We can easily imagine a solution in which a business process is orchestrated via SOA services, reference data is synchronised using EAI and overall process state is monitored using EDA techniques such as Event Processing.</p>
<p>So real-world solution architectures exhibit some overlap between the different architectural styles &#8211; EAI, SOA and EDA. Some of this is due to evolutionary legacies, or due to plain-old confusion between the different styles (e.g. JABOWS as really being EAI). Some of it is also due to legitimate mixing of different styles for different aspects of a solution.</p>
<p>I think that real-world architectures can benefit from seperating out the &#8220;essence&#8221; of each architectural style and being explicit about how those styles are being applied. Reducing architectural styles to simplified forms clarifies the stucture of a real-world architecture. Not very different from Design Patterns, really.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Reductio+ad+Lucidus+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D215" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Reductio+ad+Lucidus+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D215" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/&amp;title=Reductio+ad+Lucidus" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/&amp;title=Reductio+ad+Lucidus" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/&amp;t=Reductio+ad+Lucidus" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/&amp;t=Reductio+ad+Lucidus" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/' rel='bookmark' title='Characterising Architectural Styles II &#8211; State'>Characterising Architectural Styles II &#8211; State</a></li>
<li><a href='http://www.soabloke.com/2010/01/11/the-year-of-living-asynchronously/' rel='bookmark' title='The Year of Living Asynchronously'>The Year of Living Asynchronously</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The SOA Manifesto</title>
		<link>http://www.soabloke.com/2009/10/27/the-soa-manifesto/</link>
		<comments>http://www.soabloke.com/2009/10/27/the-soa-manifesto/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 22:20:16 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[soa]]></category>
		<category><![CDATA[manifesto]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=210</guid>
		<description><![CDATA[Taking a leaf from the Agile playbook, a group of SOA thought leaders has put together the SOA Manifesto, a succinct list of SOA principles and preferences to guide Service Oriented Architecture. Great work! (I could comment further, but it speaks for itself). Go visit and find out. Tweet This Post Post to Delicious Post [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Taking a leaf from the <a title="Agile Manifesto" href="http://agilemanifesto.org/" target="_blank">Agile playbook</a>, a group of SOA thought leaders has put together the <a title="SOA Manifesto" href="http://www.soa-manifesto.org/" target="_blank">SOA Manifesto</a>, a succinct list of SOA principles and preferences to guide Service Oriented Architecture. Great work!</p>
<p style="text-align: center;">(I could comment further, but it speaks for itself).</p>
<p style="text-align: center;"><strong><a title="SOA Manifesto" href="http://www.soa-manifesto.org/" target="_blank">Go visit and find out.</a></strong></p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=The+SOA+Manifesto+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D210" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=The+SOA+Manifesto+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D210" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/10/27/the-soa-manifesto/&amp;title=The+SOA+Manifesto" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/10/27/the-soa-manifesto/&amp;title=The+SOA+Manifesto" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/10/27/the-soa-manifesto/&amp;t=The+SOA+Manifesto" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/10/27/the-soa-manifesto/&amp;t=The+SOA+Manifesto" title="Post to Facebook">Post to Facebook</a></p></div>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2009/10/27/the-soa-manifesto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Characterising Architectural Styles II &#8211; State</title>
		<link>http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/</link>
		<comments>http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 00:44:10 +0000</pubDate>
		<dc:creator>Saul Caganoff</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[cep]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[eai]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[state]]></category>

		<guid isPermaLink="false">http://www.soabloke.com/?p=186</guid>
		<description><![CDATA[My last post explored some distinguishing characteristics of three common architectural styles in an attempt to understand better how they differ and therefore how they may apply in different contexts. A fourth distinguishing characteristic of these architectural styles is the way in which state is managed during the execution of a business process. There are [...]


Related posts:<ol><li><a href='http://www.soabloke.com/2009/10/14/characterising-architectural-styles/' rel='bookmark' title='Characterising Architectural Styles'>Characterising Architectural Styles</a></li>
<li><a href='http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/' rel='bookmark' title='Reductio ad Lucidus'>Reductio ad Lucidus</a></li>
<li><a href='http://www.soabloke.com/2008/11/21/progressive-data-constraints/' rel='bookmark' title='Progressive Data Constraints'>Progressive Data Constraints</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>My <a title="Characterising Architectural Styles" href="http://www.soabloke.com/2009/10/14/characterising-architectural-styles/" target="_blank">last post</a> explored some distinguishing characteristics of three common architectural styles in an attempt to understand better how they differ and therefore how they may apply in different contexts. A fourth distinguishing characteristic of these architectural styles is the way in which state is managed during the execution of a business process.</p>
<p>There are three aspects of state that I want to consider:</p>
<ul>
<li><strong>Management </strong>- how state change is initiated or managed through a business process.</li>
<li><strong>Monitoring </strong>- how state is monitored or accessed or derived during the execution of a business process.</li>
<li><strong>Consistency </strong>- how state is made consistent across different systems involved in a business process.</li>
</ul>
<p>A summary of the state characteristics of the different architectural styles is listed in the following table along with the other characteristics discussed in my <a title="Characterising Architectural Styles" href="http://www.soabloke.com/2009/10/14/characterising-architectural-styles/" target="_blank">last post</a>.</p>
<p><img class="aligncenter size-full wp-image-206" title="architectural_characteristics_table_2" src="http://www.soabloke.com/blogs/wp-content/uploads/2009/10/architectural_characteristics_table_2.png" alt="architectural_characteristics_table_2" width="575" height="185" /></p>
<p style="text-align: center;">
<p style="text-align: center;">
<p>In EAI, state is managed within one application and then synchronised to other applications, usually after the business process has completed. This means that in some cases state may be inconsistent across the organisation or its systems. That may or may not be a problem (see &#8216;<a title="Eventually Consistent" href="http://queue.acm.org/detail.cfm?id=1466448" target="_blank">Eventually Consistent</a>&#8216;) but is a common side effect when a business process is executed within one system rather than across systems in an independent process layer. During the execution of an EAI process, there is often no monitoring of the state. <em>I.e.</em> the process may simply replicate data changes to other systems without explicily tracking state. A limited form of state monitoring may exist in the sense that the local application or associated middleware may check the status of data synchronization and error out in the event of an exception. I refer to this as &#8216;local&#8217; state monitoring.  So under the EAI architectural style, state is managed locally, monitored locally (if at all) and is eventually consistent.</p>
<p>Under SOA, the driver of a business process is BPM orchestration in an independent process layer. In this case, we can say that state is managed centrally (in the BPM layer) and monitored centrally (also in the BPM layer). State in end-systems is updated progressively through the business process (via service calls) and so we could say that state is &#8216;progressively&#8217; consistent as opposed to &#8216;eventually&#8217; consistent.</p>
<p>Under EDA, there is no central or even local management of state. Instead, events signify distributed actions which together may be used to infer the state of a system. To the extent that any &#8216;management&#8217; occurs, we could say that state is managed in a distributed fashion &#8211; one or more agents each acting on their own. Perhaps  it is more accurate to say that state is manifested globally. Converesely, state is monitored centrally within an Event Processing (CEP) layer which correlates events to infer system state. Under EDA, state is progressively consistent because the system is progressively reacting to events which are a by-product of a hidden or implicit business process.</p>
<div class="tweetthis" style="text-align:left;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Characterising+Architectural+Styles+II+%E2%80%93+State+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D186" title="Post to Twitter"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Characterising+Architectural+Styles+II+%E2%80%93+State+http%3A%2F%2Fsoabloke.com%2F%3Fp%3D186" title="Post to Twitter">Tweet This Post</a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/&amp;title=Characterising+Architectural+Styles+II+%E2%80%93+State" title="Post to Delicious"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://delicious.com/post?url=http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/&amp;title=Characterising+Architectural+Styles+II+%E2%80%93+State" title="Post to Delicious">Post to Delicious</a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/&amp;t=Characterising+Architectural+Styles+II+%E2%80%93+State" title="Post to Facebook"><img class="nothumb" src="http://www.soabloke.com/blogs/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/&amp;t=Characterising+Architectural+Styles+II+%E2%80%93+State" title="Post to Facebook">Post to Facebook</a></p></div>

<p>Related posts:<ol><li><a href='http://www.soabloke.com/2009/10/14/characterising-architectural-styles/' rel='bookmark' title='Characterising Architectural Styles'>Characterising Architectural Styles</a></li>
<li><a href='http://www.soabloke.com/2009/11/11/reductio-ad-lucidus/' rel='bookmark' title='Reductio ad Lucidus'>Reductio ad Lucidus</a></li>
<li><a href='http://www.soabloke.com/2008/11/21/progressive-data-constraints/' rel='bookmark' title='Progressive Data Constraints'>Progressive Data Constraints</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.soabloke.com/2009/10/26/characterising-architectural-styles-ii-state/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

