<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Michael Yeager's MSDN Blog  : Software Architecture</title><link>http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx</link><description>Tags: Software Architecture</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Talking about EUCCs</title><link>http://blogs.msdn.com/michael_yeager/archive/2009/09/23/talking-about-euccs.aspx</link><pubDate>Wed, 23 Sep 2009 22:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898640</guid><dc:creator>mty</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/9898640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=9898640</wfw:commentRss><description>&lt;P&gt;I have been getting emails from lots&amp;nbsp;of you&amp;nbsp;wanting the goods --&amp;nbsp;the real life examples of End User Composed Composites (EUCCs), and more information on the how and why of designing them...&lt;/P&gt;
&lt;P&gt;Unfortunately&amp;nbsp;I haven't been blogging about EUCCs for a while -&amp;nbsp;instead&amp;nbsp;I have been doing presentations. Those of you who are Microsoft FTEs can view the "&lt;STRONG&gt;Designing Capabilities Not Applications&lt;/STRONG&gt;"&amp;nbsp;session in the&amp;nbsp;TechReady9 On Demand&amp;nbsp;archives.&amp;nbsp;The "&lt;STRONG&gt;Designing Capabilities Not Applications&lt;/STRONG&gt;"&amp;nbsp;session&amp;nbsp;is in the Architecture Track:&amp;nbsp;&amp;nbsp;ARC304. Description as follows:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Many MOSS, OBA and other Composite applications are moving the application design decisions away from the Architects and Developers and putting them into the hands of the end users. This is a paradigm shift that changes the game and radically shrinks the development cycle. To be successful at end user driven designs, Architects and Developers need to think in terms of designing and delivering Capabilities rather than purpose built applications. End users then use workflow and rules to structure their own high value business solutions out of these Capabilities. This presentation will use MOSS and OBA examples from the field to explore the emerging patterns and practices that Architects and Developers can use to factor requirements into capabilities rather than purpose built applications.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;For those of you who are not Microsoft FTEs, I am doing a presentation at the SharePoint 2009 conference in Las Vegas Oct. 19 - 22, the web site is: &lt;A href="http://www.mssharepointconference.com/" mce_href="http://www.mssharepointconference.com/"&gt;http://www.mssharepointconference.com&lt;/A&gt; . The session is SPC268 "&lt;STRONG&gt;Designing Capabilities Not Applications, with SharePoint 2010 Composites&lt;/STRONG&gt;". The full description of that presentation is: &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Learn about the power of end user composed solutions and how to plan, design and think in terms of capabilities to design them. We will discuss a conceptual pattern for differentiating and&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; evaluating different SharePoint/Office System solutions and for understanding the advantages of Capability-driven solutions along with the institutional road blocks to these solutions.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;A recorded version of that session will also be available to all conference attendees a few weeks&amp;nbsp;after the SharePoint 2009 Conference.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898640" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/WSS+v3/default.aspx">WSS v3</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category></item><item><title>What the heck am I talking about?</title><link>http://blogs.msdn.com/michael_yeager/archive/2009/04/26/what-the-heck-am-i-talking-about.aspx</link><pubDate>Sun, 26 Apr 2009 16:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9569287</guid><dc:creator>mty</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/9569287.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=9569287</wfw:commentRss><description>&lt;P&gt;Hey, I'm talking about EUCCAs and Versatilities. &lt;/P&gt;
&lt;P&gt;My&amp;nbsp;last couple of blog posts are&amp;nbsp;my personal crusade to&amp;nbsp;get&amp;nbsp;SharePoint&amp;nbsp;architects and developers&amp;nbsp;to focus on&amp;nbsp;the most productive way (in my opinion)&amp;nbsp;to use SharePoint as an application platform. &lt;/P&gt;
&lt;P&gt;A EUCCA is a specific type of Composite Application - an End User Composable Composite Application. &lt;/P&gt;
&lt;P&gt;A EUCCA&amp;nbsp;is a Composite Application that specifically hands over the design of the Presentation and Productivity layers to the end users. Any composite application where the developers end up controlling the Presentation and Productivity layers is not a EUCCA.&lt;/P&gt;
&lt;P&gt;Versatilities are the parts of a EUCCA that the end users compose. So&amp;nbsp;each EUCCA contains a set of Versatilities.&lt;/P&gt;
&lt;P&gt;A Versatility, regardless of it's functional requirements, must satisfy three critical non-functional requirements:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Movability&lt;/LI&gt;
&lt;LI&gt;Assemblability&lt;/LI&gt;
&lt;LI&gt;Composability&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Any component, reusable or not, if it is not Movable, Assemblable and Composable, then it&amp;nbsp;is not a Versatility.&lt;/P&gt;
&lt;P&gt;That's what I'm talking about.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Talleyho&amp;nbsp;:) &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9569287" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/WSS+v3/default.aspx">WSS v3</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category></item><item><title>Requirements and Versatilities</title><link>http://blogs.msdn.com/michael_yeager/archive/2009/04/24/understanding-how-versatility-requirements-are-different.aspx</link><pubDate>Sat, 25 Apr 2009 01:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9567423</guid><dc:creator>mty</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/9567423.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=9567423</wfw:commentRss><description>&lt;P&gt;Reusable components. A lot of work and effort and thought has been put into reusable components... &lt;/P&gt;
&lt;P&gt;OK, so let's talk about a specific type of&amp;nbsp;reusable components...&amp;nbsp;let's talk furniture design and Versatilities. &lt;/P&gt;
&lt;P&gt;There is a certain Scandinavian furniture company, not sure if I am allowed to say their name, but they are incredibly successful at selling really nice, practical, well designed inexpensive stuff.. But&amp;nbsp;their designs&amp;nbsp;are&amp;nbsp;significantly different from traditional furniture designs&amp;nbsp;because&amp;nbsp;their business model requires them to meet some very stringent non-functional requirements.&lt;/P&gt;
&lt;P&gt;First off, a piece of their furniture has to fit in a box that&amp;nbsp;weighs as little as possible, and be transportable home by the customer themselves. So Movability is a huge non-functional requirement. Second&amp;nbsp;their designs&amp;nbsp;have to be easily assembled with only simple graphic instructions, and a few&amp;nbsp;included tools. So Assemblability is another very important non-functional requirement. Third, their designs are designed to look and work great together across completely different types of&amp;nbsp;furniture and housewares and accoutrements. All of their stuff has&amp;nbsp;to be nicely composable into different&amp;nbsp;attractive interior designs and styles.&amp;nbsp;So Composability is also a hugely important&amp;nbsp;non-functional requirement.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Movability&lt;/LI&gt;
&lt;LI&gt;Assemblability&lt;/LI&gt;
&lt;LI&gt;Composability&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;These are&amp;nbsp;the&amp;nbsp;uber-requirements. These are&amp;nbsp;requirements that have to be satisfied no matter what&amp;nbsp;the end user's requirements. If what the end user's&amp;nbsp;want can't be designed to be Movable, Assemblable, and Composable - forget it. This company isn't going to deliver it. The&amp;nbsp;end user (customer)&amp;nbsp;will have to go elsewhere.&lt;/P&gt;
&lt;P&gt;SharePoint Versatilities are versatile components that have these same three non-functional uber-requirements: Movability, Assemblability, and Composability. Therefore you have to design from the get-go&amp;nbsp;for Movability, Assemblability and Composability - otherwise you're not designing Versatilities.&lt;/P&gt;
&lt;P&gt;OK, so you have a bunch of business users, and they want an application that does x, y and z. So what are you going to do? If you&amp;nbsp;design them an application that does x, y and z, and exactly x, y and z, then you have a purpose built application. If you get the requirements for a reclining chair, and you then build a one-off reclining chair right in their own living room, as one solid monolithic reclining chair - then what you have is perhaps a great reclining chair, but it only works now, for that particular&amp;nbsp;user with their current decor. If they want to "recompose"&amp;nbsp; their living room into a different design, then they'll have to bring the furniture&amp;nbsp;craftsmen back in and rebuild. Sound familiar?&lt;/P&gt;
&lt;P&gt;If you want Versatility - if you want applications that the end user's can move around, assemble and reassemble, and compose and recompose, then you have to take their requirements, and do a whole&amp;nbsp;different level of analysis on them. You have to look beyond the x, y and z, and treat x, y and z as a sub-set of a larger&amp;nbsp;set of possibilities&amp;nbsp;- and you have to explore how Versatilities can be designed to deliver that mix. In other words, like our Scandinavian design heros, you have to be really smart about the design.&lt;/P&gt;
&lt;P&gt;So&amp;nbsp;now&amp;nbsp;let's say&amp;nbsp;you've been super smart - and you've come up with a&amp;nbsp;slick&amp;nbsp;set of Versatilities that can do x, y and z and so much more&amp;nbsp;- well now you have a more difficult problem. Now you have&amp;nbsp;to convince your&amp;nbsp;stakeholders that your set of Versatilities is a superior solution to their x, y and z requirements. SharePoint users in general have totally realized the value of Versatilities. They love lists and columns and views and content types and web parts, and everyday they realize tremendous value out of moving them around, reassembling and recomposing them into new solutions. But first off,&amp;nbsp;most SharePoint users&amp;nbsp;didn't arrive at their SharePoint site&amp;nbsp;with a clear set of requirements. They arrived at their SharePoint site thinking - here's a whole set of tools, what can I do with them? And second off, what if your&amp;nbsp;stakeholders aren't SharePoint users at all? Quite often you're dealing with CXOs that only have a vague conceptual understanding of what is going on in SharePoint - and they're used to the waterfall&amp;nbsp;lifecycle -&amp;nbsp;they expect you to&amp;nbsp;gather requirements, and then deliver an application that exactly&amp;nbsp;satisfies those requirements.&lt;/P&gt;
&lt;P&gt;How do you convince&amp;nbsp;your fickle and&amp;nbsp;persnickity bunch of&amp;nbsp;stakeholders that they should care about Movability&amp;nbsp;and Assemblability&amp;nbsp;and Composability - how do you convince them that their interests are best served by&amp;nbsp;your set of brilliant Versatilities? &lt;/P&gt;
&lt;P&gt;Convincing stakeholders to care about non-functional requirements is always hard.&amp;nbsp;You have to plan, you have to prepare, you have to lay the ground, you have to do great drawings and presentations, you have to&amp;nbsp;work&amp;nbsp;at hitting&amp;nbsp;the right notes from the very first conversation. You have to get them to understand that Versatilities will give them the agility and speed to continuously execute on their business objectives.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But you can't sugar coat the downside because it will bite you back. Applications composed using a set of Versatilities always require a little more work on the end-user's part - they require more clicks than a purpose built application. Just like the Scandinavian furniture, they have to be assembled, and they come with directions that the end-user's have to follow...&amp;nbsp;So yes, their users will have to do&amp;nbsp;more work and learn a few things, but in return&amp;nbsp;they will be able to&amp;nbsp;compose&amp;nbsp;the application in their own SharePoint site in&amp;nbsp;a matter of hours - and then be able to change it themselves whenever it requires changing.&lt;/P&gt;
&lt;P&gt;Of course you have to&amp;nbsp;show examples. Most stakeholders don't know what they want until they see it.&amp;nbsp;So show them as&amp;nbsp;many similar end user composed SharePoint applications as you can&amp;nbsp;-&amp;nbsp;and if you have a running version, show&amp;nbsp;the stakeholders how&amp;nbsp;the end user's themselves can change and evolve the application as their business changes and evolves&amp;nbsp;-&amp;nbsp;without the&amp;nbsp;need to call in the developers for another 6 months of rebuilding in order to&amp;nbsp;add an account code, or to deliver the same application to a new office in Timbuktu.&lt;/P&gt;
&lt;P&gt;I'll&amp;nbsp;walk through some&amp;nbsp;real examples next time...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9567423" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/WSS+v3/default.aspx">WSS v3</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category></item><item><title>eXtreme End-User Driven Architectures (XEUDAs)</title><link>http://blogs.msdn.com/michael_yeager/archive/2008/11/07/ready-design-build-deploy-xeudas.aspx</link><pubDate>Fri, 07 Nov 2008 18:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9052468</guid><dc:creator>mty</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/9052468.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=9052468</wfw:commentRss><description>&lt;P&gt;There is&amp;nbsp;an emergent&amp;nbsp;solution architecture&amp;nbsp;which&amp;nbsp;the most ingenious of our&amp;nbsp;end users are&amp;nbsp;piecing together without our help. It is an architecture&amp;nbsp;without a&amp;nbsp;name - so let's give it one: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;the eXtreme End-User Driven Architecture or XEUDA (zoo-da)&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A&amp;nbsp;XEUDA is an Architecture -&amp;nbsp;not an Application.&amp;nbsp;It is an architecture of many applications that end-users compose to&amp;nbsp;empower complex business processes. End users do this by themselves - no developer/IT&amp;nbsp;intervention required.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;XEUDA is an architecture that can be changed, rearranged, reconfigured, repurposed, redesigned, &lt;U&gt;re-architected&lt;/U&gt;&amp;nbsp;by the end users. Right now&amp;nbsp;end users&amp;nbsp;can only do this to a very limited degree, only with a small sub-set of applications, and only to drive particular&amp;nbsp;activities of some&amp;nbsp;business processes, but if the application architect and developer community, along with&amp;nbsp;the IT governance powers that be,&amp;nbsp;were to relax their grip and embrace this impulse, XEUDAs will&amp;nbsp;push IT controlled architectures aside&amp;nbsp;by producing productivity gains of&amp;nbsp;10X or more.&lt;/P&gt;
&lt;P&gt;Anywhere there is an Enterprise MOSS infrastructure with&amp;nbsp;even a handful of power users&amp;nbsp;you will sense the&amp;nbsp;yearning for XEUDA. MOSS power users and champions&amp;nbsp;build&amp;nbsp;fabulously flexible applications&amp;nbsp;on their MOSS sites. MOSS is a&amp;nbsp;wonderful end-user driven system.&amp;nbsp;But it is not extreme enough -&amp;nbsp;inevitably&amp;nbsp;users&amp;nbsp;drive up&amp;nbsp;to the edge&amp;nbsp;where pieces can no longer connect, where their InfoPath or Word or Excel docs, their content types and custom lists, and their SharePoint enabled LOB applications,&amp;nbsp;are left hanging on a library ledge - their structured and unstructured data&amp;nbsp;in danger of&amp;nbsp;being backed-up&amp;nbsp;into oblivion.&lt;/P&gt;
&lt;P&gt;And when the developers and architects are brought in, and the problem is laid out and the requirements gathered, their next impulse, more often than not, is to move to a purpose built application&amp;nbsp;-&amp;nbsp;ripping control out of the hands of the users, and placing it in the hands of a Solution Lifecycle and project managers and development teams and a change management process&amp;nbsp;which may take months or even years&amp;nbsp;to&amp;nbsp;hard boil&amp;nbsp;what the end-users had loosely assembled in a matter of days...&lt;/P&gt;
&lt;P&gt;We have all the tools and skills&amp;nbsp;to&amp;nbsp;give those magnificent MOSS and OBA applications the ability to turn&amp;nbsp;into&amp;nbsp;more powerful and more flexible&amp;nbsp;XEUDAs -- what we don't see enough of are architects and developers that&amp;nbsp;are&amp;nbsp;advocating and building&amp;nbsp;the end-user architectable elements that a XEUDA requires;&amp;nbsp;and agile, apolitical,&amp;nbsp;IT&amp;nbsp;governance teams&amp;nbsp;that are ready and willing to&amp;nbsp;hand-off the architectural&amp;nbsp;keys to their power users and domain experts...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9052468" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/WSS+v3/default.aspx">WSS v3</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Business+Process+Management/default.aspx">Business Process Management</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category></item><item><title>N-Fractal Architecture</title><link>http://blogs.msdn.com/michael_yeager/archive/2006/01/12/n-fractal-architecture.aspx</link><pubDate>Thu, 12 Jan 2006 20:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:512094</guid><dc:creator>mty</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/512094.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=512094</wfw:commentRss><description>&lt;P&gt;I have to confess that since the very beginning of my software development career, I have chaffed under the yoke of N-Tier Architecture. It’s not the architecture itself that causes those big sore spots on my neck and shoulders; the problem is the way it is typically projected into the development arena. Let me explain.*&lt;/P&gt;
&lt;P&gt;In its simplest form, N-Tier Architecture looks like a two-story building with a basement. The building can have as many stories as you like, but truth be told, the N in N-Tier is pretty much always equal to 3, 4 or 5. In this case: 2 stories + 1 basement = 3 tiers.&lt;/P&gt;
&lt;P&gt;In the basement of our two-story building you have all the utilities that provide water, electricity and heat (the data layer). On the first floor you have a store that provides your commodities: your bread, eggs, milk, butter and juice (the business logic layer). And on the top floor is the apartment where life really goes on - where the eggs get cracked, the bread toasted and the juice poured (the user interface layer).&lt;/P&gt;
&lt;P&gt;And that’s perfectly logical, and it works great, and software is all the better for having this underlying structure. But the problem comes when you are the one working on the UI layer trying to install the refrigerator or… the toaster.&lt;/P&gt;
&lt;P&gt;In many projects, the way N-Tier is projected onto the build process, a toaster is not a whole toaster. It’s just the UI of the toaster. So you have that sliding lever for lowering the bread into the toaster, and a sliding switch for setting the brown level of your toast, and that’s it. If you want the rest of the toaster -- the grid that actually toasts the toast and the spring that pops the toast out at the end -- for those you have to go talk to the Business Logic woman. &lt;/P&gt;
&lt;P&gt;So you go down to the first floor and you lay out your crazy and wild idea for a toaster to the Business Logic woman. And maybe she buys into it. Maybe she thinks toast is a good thing, and she agrees to build you your nichrome wire/mica thingy that toasts the toast. But then she explains that it’s going to have to live on the first floor. And why is that? First of all, all Business Logic lives on the Business Logic layer, not on the UI layer. And second, you can only plug into the power in the basement from the Business Logic layer, not from the UI layer. So the toaster can’t be in the apartment, it has to be on the first floor.&lt;/P&gt;
&lt;P&gt;Ok… Alright. Well, that’s not what I had in mind. I just want a toaster. But I’m sure I can figure out some way to get the toast back up to the apartment - maybe a hole in the floor with some really big springs! &lt;/P&gt;
&lt;P&gt;What I’m trying to get at here, is that N-Tier may look like a building, but quite often we don’t make it work like a building.&lt;/P&gt;
&lt;P&gt;The reality that N-Tier ignores is that a toaster is an N-Tier&amp;nbsp;Appliance in its own right. N-Tier Appliance? And there are a whole lot of N-Tier Appliances on all of the floors of the building. The furnace in the basement is an N-Tier Appliance: with it’s own UI, it’s own business logic, and it’s own data layer; as is the cash register in the store on the first floor; as is the toaster and the refrigerator in the second floor apartment. &lt;/P&gt;
&lt;P&gt;And if you look inside each of the tiers of the N-Tier&amp;nbsp;Appliances that are inside each&amp;nbsp;tier of your building, you’ll find a whole new set of N-Tier Appliances. And inside the tiers of those Appliances, you’ll find other N-Tier Appliances**. And that’s how our simple picture of an N-Tier building &lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;summersaults right before our eyes &lt;/SPAN&gt;into a fractal; and why, if we take software development to that next level beyond N-Tier, we arrive at this notion of N-Fractal Architecture.&lt;/P&gt;
&lt;P&gt;It’s really not all that exotic. We do it already with buildings and toasters without even thinking about it.&lt;/P&gt;
&lt;P&gt;So how does one go about implementing an N-Fractal software architecture? I'm working on it.&lt;/P&gt;
&lt;P&gt;michael&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;* Some of you may be wondering why I’m talking about N-Tier architecture rather than SOA. Isn’t N-Tier so yesterday? I don’t think so. SOA is a bunch of N-Tier applications that talk to each other. N-Tier hasn’t gone away, it’s just been super-setted.&lt;/P&gt;
&lt;P&gt;** Within the N-Fractal paradigm these are modeled as&amp;nbsp;"N-Fractal Appliances".&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=512094" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category></item><item><title>Software as Systemic Core</title><link>http://blogs.msdn.com/michael_yeager/archive/2006/01/04/software-as-systemic-core.aspx</link><pubDate>Thu, 05 Jan 2006 03:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:509455</guid><dc:creator>mty</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michael_yeager/comments/509455.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michael_yeager/commentrss.aspx?PostID=509455</wfw:commentRss><description>&lt;P&gt;Developers/architects of software applications generally&amp;nbsp;think of those applications as tools. Tools&amp;nbsp;to be used by individuals, teams, and corporations&amp;nbsp;in the achievement of their individual, team and corporate goals.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Office&amp;nbsp;is&amp;nbsp;the classic example of a "transparent" software tool&amp;nbsp;that any&amp;nbsp;individual or enterprise can use singlely or multiply without the tool itself directly&amp;nbsp;imposing any particular&amp;nbsp;organizational structure or style&amp;nbsp;on those&amp;nbsp;employing it. &lt;/P&gt;
&lt;P&gt;Even&amp;nbsp;systemic tools such as ERP and CRM systems are planned and painstakingly imposed upon whole divisions rather than&amp;nbsp;being the driving force&amp;nbsp;for those divisions. Portal systems are agonizingly architected to mimic the organization of the corporation rather than to organize the corporation. Business Intelligence systems are built and rebuilt and then rebuilt again&amp;nbsp;to&amp;nbsp;aid decision making&amp;nbsp;by the corporation rather than to decisively guide the corporation.&lt;/P&gt;
&lt;P&gt;We&amp;nbsp;haven't yet fully come to terms with the concept&amp;nbsp;of software as the&amp;nbsp;systemic&amp;nbsp;core of an organization or corporation... but we will.&lt;/P&gt;
&lt;P&gt;Just thinking.&lt;/P&gt;
&lt;P&gt;michael&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=509455" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Software+Architecture/default.aspx">Software Architecture</category><category domain="http://blogs.msdn.com/michael_yeager/archive/tags/Complexity+Theory/default.aspx">Complexity Theory</category></item></channel></rss>