<?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>Tom Graves / Tetradian &#187; SOA</title>
	<atom:link href="http://weblog.tetradian.com/tag/soa/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.tetradian.com</link>
	<description>Random ramblings over the metaphoric edge</description>
	<lastBuildDate>Wed, 23 May 2012 13:46:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>TOGAF and SOA</title>
		<link>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=togaf-and-soa</link>
		<comments>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 12:05:41 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[togaf]]></category>
		<category><![CDATA[Zachman]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2008/07/02/togaf-and-soa/</guid>
		<description><![CDATA[This one&#8217;s another follow-up to another new comment to a rather old post &#8211; namely Manish Joshi&#8217;s comment today to the post on &#8216;Zachman and TOGAF revisited&#8216; from back in August last year: My focus is on extending TOGAF to include SOA. My approach was to add SOA as a cross-cutting architecture (cutting across BA,ISA,TA [...]]]></description>
			<content:encoded><![CDATA[<p>This one&#8217;s another follow-up to another new comment to a rather old post &#8211; namely <a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/#comment-17519" title="Manish Joshi comment">Manish Joshi&#8217;s comment</a> today to the post on &#8216;<a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/" title="Post on 'Zachman and TOGAF'">Zachman and TOGAF revisited</a>&#8216; from back in August last year:</p>
<blockquote><p>My focus is on extending TOGAF to include SOA.</p>
<p>My approach was to add SOA as a cross-cutting architecture (cutting across BA,ISA,TA &amp; also the governance of TOGAF (since SOA also needs SOA governance).</p>
<p><a href="http://weblog.tomgraves.org/index.php/2007/08/08/zachman-and-togaf-revisited/#comment-9146" title="Roland Ettema comment">Roland [Ettema]</a> has also suggested a nice approach above of having SOA in place of IA and making IA a horizontal.</p>
<p>How do you guys compare these 2 approaches and is there any other way around for customizing TOGAF for SOA ?</p></blockquote>
<p>As many people have discovered the hard way, trying to use the standard TOGAF methodology for SOA seems to work well at first, but will suddenly hit intractable problems that just don&#8217;t make sense if we come from an IT-centric perspective. (In fact if we come from that perspective alone it&#8217;s almost impossible to see <em>why</em> they don&#8217;t make sense &#8211; which is why SOA so often seems so damn&#8217; hard&#8230;) The actual reason is three-fold:</p>
<ol>
<li>an iterative approach &#8211; e.g. an Agile methodology &#8211; suits SOA developments best, but TOGAF&#8217;s methodology (despite its claims to be iterative) is still essentially a &#8216;big bang&#8217; approach to architecture development</li>
<li>the TOGAF methodology purports to describe the whole of &#8216;enterprise architecture&#8217;, but in fact describes a very narrow IT-centric subset &#8211; too narrow even for an IT-centric SOA, let alone a full &#8216;service-oriented enterprise&#8217;</li>
<li>the TOGAF framework still draws heavily on Zachman, which itself draws on technologies that are at least twenty years old &#8211; long before the days of interactive user-interfaces and layered servers, let alone current SOA web-services and service-buses</li>
</ol>
<p>To resolve items #1 and #2, we need to rework the first half the TOGAF methodology &#8211; Phases A to D &#8211; with a few lesser amendments in the Preliminary Phase and Phases E to H:</p>
<ul>
<li>for item #1 &#8211; agile &#8211; we split the existing Phase A in half, moving the &#8216;architecture vision&#8217;, documentation, framework skeleton and<em> overall</em> authorisation into the Preliminary Phase, with Phase A amended to focus only on the needs of the specific iteration</li>
</ul>
<ul>
<li>for item #2 &#8211; methodology &#8211; we expand the scope of TOGAF&#8217;s layering of &#8216;business architecture&#8217;, &#8216;information systems architecture&#8217; and &#8216;technical architecture&#8217;:
<ul>
<li>&#8216;business architecture&#8217; describes the overlighting <em>business</em> concerns &#8211; i.e. Zachman&#8217;s &#8216;contextual&#8217; and &#8216;conceptual&#8217; layers, with some touch into the &#8216;logical&#8217; layer, and <em>not</em> the generalised &#8216;everything not-IT&#8217; grab-bag as described in the present TOGAF 8.1 spec</li>
<li>&#8216;information-systems architecture&#8217; becomes the common interface layer &#8211; i.e. Zachman&#8217;s &#8216;logical&#8217; and &#8216;physical&#8217; layers, but <em>across every aspect of the enterprise, not just the IT</em> [Roland Ettema's placing of SOA here is just one possible subset of this]</li>
<li>&#8216;technology architecture&#8217; becomes the detail-layers <em>across the whole enterprise, not just the IT</em> &#8211; e.g. skills, logistics, vehicles, and much else besides, right down to the real-time operations layers</li>
</ul>
</li>
</ul>
<p>We could use these amended layers as the content and focus for Phases B to D respectively. The catch is that, once we&#8217;re tackling a true whole of enterprise scope, we end up with a requirement for an almost endless stream of stakeholder reviews within each phase. So for purely practical reasons I&#8217;d recommend using an alternate split for Phases B to D, as &#8216;As-Is&#8217;, &#8216;To-Be&#8217; and &#8216;Gap Analysis&#8217; respectively: with this split, the stakeholder reviews become the phase boundaries.</p>
<p>To resolve item #3, we need to rework Zachman itself &#8211; a <em>major</em> rework, since a bit of careful analysis shows not only that he&#8217;s missing a layer at the top, but an entire <em>dimension</em> of depth (which I&#8217;ve described as &#8216;segments&#8217;), and also the original content and descriptions for several of his columns are, frankly, a scrambled mess. (His latest revision in effect quadruples the complexity of his framework without addressing any of the core underlying problems &#8211; and he&#8217;s still stuck in the metaphor of &#8216;<em>engineering</em> the enterprise&#8217;, which does not and cannot work with the complexity and dynamics of real-world systems. But that&#8217;s another story for another time&#8230;)</p>
<p>But in that rework, what we <em>don&#8217;t</em> do is add more columns. The basic principle of What, How, Where, Who, When, Why is sound &#8211; the catch is that they don&#8217;t necessarily correlate directly with <em>anything</em> in the real world. Instead, we focus on Zachman&#8217;s valid principle that &#8216;architecture is primitives; solutions come from composites&#8217;. An interface, for example is a <em>composite</em> &#8211; it doesn&#8217;t sit in a single Zachman cell. (Depending on the context, it&#8217;s a composite of How and Who, plus probably When and What as well.)  EA-toolset vendors have made this worse by trying to shoehorn all their models into single columns or single cells. If you add &#8216;interface&#8217; as a column &#8211; which I&#8217;ve seen several people do &#8211; you end up with a Zachman-like muddled mixture of primitives and composites, which is <em>not</em> a good idea. It may <em>look</em> fine at first, and may <em>seem</em> to make solution design easier; but it really does cause utter chaos later down the track, when the technology changes on you, or when you try to model alternate implementations such as for disaster recovery. In short, <em>don&#8217;t shoehorn</em>: primitives are primitives, composites are composites &#8211; don&#8217;t mix them up.</p>
<p>So for SOA, what we need first is an exercise in meta-models and meta-architecture: we start from primitives of the Zachman frame &#8211; single cells &#8211; and build a layered set of root-composites (meta-patterns) that describe our key entities. (Meta-architecture is a swine to get your head around, but if you want your solutions to be &#8216;future-proofed&#8217; you can&#8217;t afford to skip over this stage.) Services are a good place to start: they&#8217;re composites of How (functions) and Who (capabilities), whilst the messages and trigger-events are composites of What and When. We then build cross-linking composites (functional patterns) that are closer to our implementation layer: a web-service, for example, links a service definition with a message definition with an interface definition. That gives us our logical layer, which we can still specify in a true implementation independent manner &#8211; which is what we need for, say, disaster recovery planning. <em>Then</em> we can describe entities (implementation patterns) for the the implementation specific physical layer. <em>Then</em> we can do our SOA designs &#8211; which may well traverse IT-based and non-IT-based processes. But because they&#8217;re all anchored all the way back to the root-primitives, we have a straightforward trail of derivation and dependency to guide redesign when (not &#8216;<em>if</em>&#8216;&#8230;) we get hit by a change of technology, or context or whatever.</p>
<p>To see how this works, have a look at my presentation for the last TOGAF conference: &#8216;<a href="http://www.tetradian.com/download/togaf_ea-soe_apr08_FV.pdf" title="'EA and the service-oriented enterprise'">Enterprise architecture and the service oriented enterprise</a>&#8216; (PDF, 850kb) &#8211; it summarises all of this, together with a broader view of &#8216;service oriented architecture&#8217;.</p>
<p>I&#8217;m also working on a book on this &#8211; <em>Bridging the Silos: enterprise architecture for IT architects</em> &#8211; which tackles this general problem of extending TOGAF and Zachman to whole of enterprise architecture. It&#8217;s taking a little longer than I&#8217;d hoped <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  but there&#8217;s a PDF of a partial draft already available up on the Tetradian Books website, at <a href="http://tetradianbooks.com/2008/04/silos-ebook/" title="Bridging the Silos e-book">tetradianbooks.com/2008/04/silos-ebook/</a> &#8211; any comments much appreciated!</p>
<p>Hope this helps, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2008/07/02/togaf-and-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

