<?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 $100,000,000 Canonical Model</title>
	<atom:link href="http://www.techdarkside.com/the-100000000-canonical-model/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techdarkside.com/the-100000000-canonical-model</link>
	<description>Struggles of a Self-Taught Coder</description>
	<lastBuildDate>Tue, 07 Feb 2012 02:07:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Mark Brady</title>
		<link>http://www.techdarkside.com/the-100000000-canonical-model/comment-page-1#comment-16419</link>
		<dc:creator>Mark Brady</dc:creator>
		<pubDate>Mon, 09 Nov 2009 22:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=152#comment-16419</guid>
		<description>Mike said it right, &quot;canonical models will save everything&quot;. That&#039;s what I think the article is trying to fight. 
 
I hate to fall into buzzwords but the hypecycle for SOA and EA and Canonical Datamodels is a little taller (Hype-ier) than most. Remember when XML was the savior? &quot;Look how flexible and it&#039;s self describing!&quot;  
 
Oh, and it takes up 5x more space, and it&#039;s pretty cool for one message, but if you&#039;re store millions or billions of messages you&#039;re screwed, oh and if you want to use it to serialize data it can chew through your process space in the blink of an eye. 
 
Things rarely get easier. Most things just recatagorize the work we already do. Some of us are very skeptical when told, &quot;this will make _______ go away&quot;, whether it&#039;s work or DBA&#039;s or programming or bugs... almost never does. </description>
		<content:encoded><![CDATA[<p>Mike said it right, &quot;canonical models will save everything&quot;. That&#039;s what I think the article is trying to fight. </p>
<p>I hate to fall into buzzwords but the hypecycle for SOA and EA and Canonical Datamodels is a little taller (Hype-ier) than most. Remember when XML was the savior? &quot;Look how flexible and it&#039;s self describing!&quot;  </p>
<p>Oh, and it takes up 5x more space, and it&#039;s pretty cool for one message, but if you&#039;re store millions or billions of messages you&#039;re screwed, oh and if you want to use it to serialize data it can chew through your process space in the blink of an eye. </p>
<p>Things rarely get easier. Most things just recatagorize the work we already do. Some of us are very skeptical when told, &quot;this will make _______ go away&quot;, whether it&#039;s work or DBA&#039;s or programming or bugs&#8230; almost never does.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Herrick</title>
		<link>http://www.techdarkside.com/the-100000000-canonical-model/comment-page-1#comment-15444</link>
		<dc:creator>Mike Herrick</dc:creator>
		<pubDate>Tue, 11 Sep 2007 12:12:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=152#comment-15444</guid>
		<description>There is a balancing act here - the two goal posts are &quot;canonical model
will save everything&quot; and &quot;the mess we are already in&quot;.</description>
		<content:encoded><![CDATA[<p>There is a balancing act here &#8211; the two goal posts are &#8220;canonical model<br />
will save everything&#8221; and &#8220;the mess we are already in&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Christiansen</title>
		<link>http://www.techdarkside.com/the-100000000-canonical-model/comment-page-1#comment-15443</link>
		<dc:creator>David Christiansen</dc:creator>
		<pubDate>Tue, 11 Sep 2007 12:11:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=152#comment-15443</guid>
		<description>Thanks. I should have put more thought into this post, but hey, it&#039;s a blog, not a magazine. I think I want to be more clear about the mistakes we made in this example, but I also want to point out something that people forget, that the canonical model is a model of the business, and that substantial changes in the way we approach a particular business concept (like billing) can make our canonical model invalid. In telco, shortly after Y2K, billing for mobile customers started to change dramatically. Rollover minutes, minutes sharing, pre-paid, all that stuff was so different from the traditional telco customers that the canonical model had to be re-invented. The reason is that mobile telcos used a long-distance model for billing mobile customers until 2001. Minutes had rates, the customer used minutes, we tracked them, and billed for them, just like old fashioned long distance. But then, people invented crazy stuff like family plans, rollover minutes, digital content, all sorts of stuff that didn&#039;t fit the &quot;minutes&quot; model. This broke the canon. Nobody had screwed up, the world just changed, that&#039;s all.

I think it&#039;s interesting that we use the word canon for this. It has a religious aspect, that indicates the &quot;official&quot; part of a religion that is immutable, least likely to change. In other words, once you stop believing the &quot;canon&quot; of a denomination, you can no longer consider yourself a part of that denomination. I think we think of canonical models in the same way, as something that will hold constant while everything around it changes. Or, if we imagine it changing we think of it changing incrementally, the way high school students are taught we evolved from Homo erectus. Study evolution in college and they teach you a completely different story - that we evolved in huge, sudden leaps, not small incremental steps. My concern about canonical models is that they don&#039;t really help you prepare for major shifts. They enable time to market, they let you modularize large pieces of your architecture, they make it easy for everyone to talk, but they don&#039;t adapt well to fundamental changes in the way we operate as a business. In fact, they resist those. I don&#039;t know the solution.

I hope this makes more sense. </description>
		<content:encoded><![CDATA[<p>Thanks. I should have put more thought into this post, but hey, it&#8217;s a blog, not a magazine. I think I want to be more clear about the mistakes we made in this example, but I also want to point out something that people forget, that the canonical model is a model of the business, and that substantial changes in the way we approach a particular business concept (like billing) can make our canonical model invalid. In telco, shortly after Y2K, billing for mobile customers started to change dramatically. Rollover minutes, minutes sharing, pre-paid, all that stuff was so different from the traditional telco customers that the canonical model had to be re-invented. The reason is that mobile telcos used a long-distance model for billing mobile customers until 2001. Minutes had rates, the customer used minutes, we tracked them, and billed for them, just like old fashioned long distance. But then, people invented crazy stuff like family plans, rollover minutes, digital content, all sorts of stuff that didn&#8217;t fit the &#8220;minutes&#8221; model. This broke the canon. Nobody had screwed up, the world just changed, that&#8217;s all.</p>
<p>I think it&#8217;s interesting that we use the word canon for this. It has a religious aspect, that indicates the &#8220;official&#8221; part of a religion that is immutable, least likely to change. In other words, once you stop believing the &#8220;canon&#8221; of a denomination, you can no longer consider yourself a part of that denomination. I think we think of canonical models in the same way, as something that will hold constant while everything around it changes. Or, if we imagine it changing we think of it changing incrementally, the way high school students are taught we evolved from Homo erectus. Study evolution in college and they teach you a completely different story &#8211; that we evolved in huge, sudden leaps, not small incremental steps. My concern about canonical models is that they don&#8217;t really help you prepare for major shifts. They enable time to market, they let you modularize large pieces of your architecture, they make it easy for everyone to talk, but they don&#8217;t adapt well to fundamental changes in the way we operate as a business. In fact, they resist those. I don&#8217;t know the solution.</p>
<p>I hope this makes more sense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Herrick</title>
		<link>http://www.techdarkside.com/the-100000000-canonical-model/comment-page-1#comment-15442</link>
		<dc:creator>Mike Herrick</dc:creator>
		<pubDate>Tue, 11 Sep 2007 12:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.techdarkside.com/?p=152#comment-15442</guid>
		<description>Well, it starts out sounding pro canonical and then sounds very anti.
My response would be &quot;compared to what&quot;? Sure they/you (don&#039;t know)
screwed up, but I didn&#039;t understand how that isn&#039;t the canonical
model&#039;s fault. That should have become apparent a bit sooner than
100MM into the project?

There are no silver bullets. But then again does quick and dirty
really pay in this case? I mean look at the mess of a lot of IT systems -
classic big ball of mud architecture - I mean it is freakn&#039; nuts how
bad some IT organizations integrate. NUTS! We have accumulated an obscene amount of
technical debt - so much that I think that management should be
petrified of building a business on many IT systems.

We all need to be agile, but we have to have a simple repeatable approach
to doing integration. It has to be a self-sustaining community owned
approach that won&#039;t get shut down if certain people leave / get fired
etc. This won&#039;t be easy. But we all have to give it a shot.

Canonical model is not going to solve all of our problems - I have
done this before a couple times - I know that. But it will give us a
fighting chance at having a reasonable integration architecture. A
reasonable integration approach. I guess I don&#039;t get what the
alternative is - or do you want big ball of mud on top of a fancy new
SOA - I&#039;ve seen that too - not pretty.</description>
		<content:encoded><![CDATA[<p>Well, it starts out sounding pro canonical and then sounds very anti.<br />
My response would be &#8220;compared to what&#8221;? Sure they/you (don&#8217;t know)<br />
screwed up, but I didn&#8217;t understand how that isn&#8217;t the canonical<br />
model&#8217;s fault. That should have become apparent a bit sooner than<br />
100MM into the project?</p>
<p>There are no silver bullets. But then again does quick and dirty<br />
really pay in this case? I mean look at the mess of a lot of IT systems -<br />
classic big ball of mud architecture &#8211; I mean it is freakn&#8217; nuts how<br />
bad some IT organizations integrate. NUTS! We have accumulated an obscene amount of<br />
technical debt &#8211; so much that I think that management should be<br />
petrified of building a business on many IT systems.</p>
<p>We all need to be agile, but we have to have a simple repeatable approach<br />
to doing integration. It has to be a self-sustaining community owned<br />
approach that won&#8217;t get shut down if certain people leave / get fired<br />
etc. This won&#8217;t be easy. But we all have to give it a shot.</p>
<p>Canonical model is not going to solve all of our problems &#8211; I have<br />
done this before a couple times &#8211; I know that. But it will give us a<br />
fighting chance at having a reasonable integration architecture. A<br />
reasonable integration approach. I guess I don&#8217;t get what the<br />
alternative is &#8211; or do you want big ball of mud on top of a fancy new<br />
SOA &#8211; I&#8217;ve seen that too &#8211; not pretty.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

