<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Enterprise Architecture</title><link>http://blogs.vbcity.com/mcintyre/category/111.aspx</link><description>Enterprise Architecture</description><managingEditor>Mike McIntyre [MVP Visual Basic]</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Instrumentation Wrapper for .NET Distributed Applications</title><link>http://blogs.vbcity.com/mcintyre/archive/2005/02/17/1076.aspx</link><pubDate>Thu, 17 Feb 2005 21:34:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2005/02/17/1076.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Distributed enterprise applications aggregate the power of mutiple servers and multiple software applications to &lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;collaboratively run a single computational task in a transparent and coherent way, so that they appear as a single, centralized system.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It is the 'distributed' aspect of the distributed application architecture that introduces the need for an instrumentation framework that can measure and control the distributed application accross its logical and physical boundaries.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I have been designing and developing instrumentation frameworks (wrappers) for distributed applications on various platforms for over 10 years.  I have tried commercial products but for the most part the only way I could get good results was by 'rolling my own'.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The past two days I have been experimenting with the &lt;FONT face="Times New Roman" size=3&gt;&lt;STRONG&gt;Enterprise Instrumentation Framework (EIF)&lt;/STRONG&gt;&lt;/FONT&gt; a free downloadable instrumentation framework from Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;IMG alt="" src="http://msdn.microsoft.com/library/en-us/dnpag2/html/f01entlib05.gif" border=0&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/dnpag2/html/f01entlib05.gif"&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If you need to add an instrumentation framework to a distributed application I recommend you download Microsoft's &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/logging.asp"&gt;Enterprise Instrumentation Framework&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It is good block of modifiable code, suitable for learning what an instrumentation framework is and to modify and deploy as an instrumentation wrapper around a .NET distributed application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/1076.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>Two New Microsoft Resources for Enterprise Development</title><link>http://blogs.vbcity.com/mcintyre/archive/2005/02/08/1030.aspx</link><pubDate>Tue, 08 Feb 2005 10:39:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2005/02/08/1030.aspx</guid><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;First, the Connected Systems Business helps you see how Microsoft's hardware, software, patterns, and practices works to day and where its going in the future.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;&lt;o:p&gt;Second, the Patterns and Practices Enterprise Library consolidates and updates seven of the application blocks Microsoft has produced. &lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;The Connected Systems Kit&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;The Connected Systems Kit is a collection of sample applications, presentations, white papers and videos that illustrate how to implement connected systems and service-oriented architectures using current technologies. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;Start here:  &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;A href="http://www.microsoft.com/windowsserversystem/overview/benefits/connected.mspx"&gt;&lt;FONT size=2&gt;Connected Systems&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Patterns &amp; Practices &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:City w:st="on"&gt;Enterprise&lt;/st1:City&gt;&lt;/st1:place&gt; Library&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;FONT size=2&gt;The patterns &amp; practices Enterprise Library is a collection of application blocks designed to assist enterprise developers with common enterprise development challenges and help them build high-quality solutions with less effort. Developers are able to use the blocks as is, extend them to meet new requirements by plugging in their own code, or use them as the basis for more-complex solutions. Enterprise Library is available as a free download at the patterns &amp; practices Web site at:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/entlib.asp"&gt;&lt;FONT size=2&gt;Patterns &amp; Practices&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/1030.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Mike McIntyre [MVP Visual Basic]</dc:creator><title>.NET - The Ball of Mud Killer</title><link>http://blogs.vbcity.com/mcintyre/archive/2005/01/27/918.aspx</link><pubDate>Thu, 27 Jan 2005 17:33:00 GMT</pubDate><guid>http://blogs.vbcity.com/mcintyre/archive/2005/01/27/918.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;B&gt;Big Ball of Mud&lt;/B&gt; is an term that describes a system or computer program that has no real distinguishable architecture and is choking to death from all the mud that has been thrown on it to keep it alive.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Brian Foote and Joseph Yoder popularized the Big Ball of Mud term in their Big Ball of Mud paper.  That paper defines the term as:&lt;/FONT&gt;&lt;/P&gt;
&lt;DL&gt;
&lt;DD&gt;&lt;FONT face=Verdana size=2&gt;"A Big Ball of Mud is a haphazardly structured, sprawling, sloppy, duct-tape-and-baling-wire, spagetti-code jungle. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated. The overall structure of the system may never have been well defined. If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems." &lt;/FONT&gt;&lt;/DD&gt;&lt;/DL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Big Ball of Mud systems are developed over a period of time, by different individuals with different skill levels doing what they think is best at the time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Foote and Yoder do not universally condemn Big Ball of Mud programming. They point out that this pattern is most prevalent because it works &amp;#8212; at least for the moment. However, as they become caked with mud programs of this pattern become maintenance nightmares producing less and less reliable results.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Overtime if left unchecked, the mud will eventually choke the system to death.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Often the best thing to do when you encounter a Big Ball of Mud system is to learn what it accomplishes and from that start drafting requirements for a new well architected system.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;By the way, times when technology shifts (procedural to OO programming, client-server to web-based, &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;file-based to database, the introduction of the internet etc.) can provide good reasons to kill off the Big Ball of Mud system and move on. Often Big Ball of Mud systems can not effectively take on the new technology which introduces the opportunity to kill the old system and build a new well architected system.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Which brings us back to the .NET Framework.  The .NET Framework is a technology shift - just ask any VB Classic programmer.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It you are responsible for a Big Ball of Mud system take another look at the .NET Framework.  &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It may be the road to your salvation.&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/mcintyre/aggbug/918.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>