<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Thomas Jaeger</title>
	<atom:link href="http://thomasjaeger.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thomasjaeger.wordpress.com</link>
	<description>Creating Great Software</description>
	<lastBuildDate>Fri, 27 Jan 2012 00:32:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thomasjaeger.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Thomas Jaeger</title>
		<link>http://thomasjaeger.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thomasjaeger.wordpress.com/osd.xml" title="Thomas Jaeger" />
	<atom:link rel='hub' href='http://thomasjaeger.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Backing up with 7-Zip compression and Amazon S3 with the B7 Tool</title>
		<link>http://thomasjaeger.wordpress.com/2012/01/26/backing-up-with-7-zip-compression-and-amazon-s3-with-the-b7-tool/</link>
		<comments>http://thomasjaeger.wordpress.com/2012/01/26/backing-up-with-7-zip-compression-and-amazon-s3-with-the-b7-tool/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:43:34 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[B7]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Compression]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=75</guid>
		<description><![CDATA[There are cases when I want to automate backing up certain file and folders with 7-zip but never found a good tool to do so. There are plenty of backup systems out there. I just want to backup a folder, compress it with 7-zip, and then send it off to Amazon S3 as the backup [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=75&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are cases when I want to automate backing up certain file and folders with 7-zip but never found a good tool to do so. There are plenty of backup systems out there. I just want to backup a folder, compress it with 7-zip, and then send it off to Amazon S3 as the backup medium. All this automatically and on a regular basis.</p>
<p>So, I created my own backup tool to do just that. I call it B7 for “Backup with 7-Zip”. You can run this tool via command line only to automate the process. If you do not specify any command parameters, the Windows GUI will display. In the GUI mode, you can see all of your Amazon S3 buckets (folders) and their contents. You can do simple management of these buckets and bucket items.</p>
<p>B7 is still work in progress and I may make changes and improvements as time goes on and if I have time available to do so. I hope you find this tool useful. It surely helped me with managing some simple backups.</p>
<p>Download B7 <a title="Download B7" href="https://s3.amazonaws.com/SBI-B7/setupb7.exe">here</a>.</p>
<p>To get started with Amazon S3 storage, click <a title="Amazon Simple Storage Service (S3)" href="http://aws.amazon.com/s3/" target="_blank">here</a>.</p>
<div id="attachment_79" class="wp-caption alignleft" style="width: 310px"><a href="http://thomasjaeger.files.wordpress.com/2012/01/b7_screenshot.png"><img class="size-medium wp-image-79" title="B7 Main Screen" src="http://thomasjaeger.files.wordpress.com/2012/01/b7_screenshot.png?w=300&#038;h=179" alt="B7 Main Screen" width="300" height="179" /></a><p class="wp-caption-text">B7 Tool</p></div>
<p>IMPORTANT:<br />
==========<br />
Make sure you update B7.ini with your access and private keys from Amazon S3 before using B7.</p>
<p>Usage<br />
=====<br />
To run B7 via command line parameters, do this:</p>
<p>B7 bucketName folderAndFilePattern [outputFile]</p>
<p>bucketName = the name of the Amazon S3 bucket where the backup file should be uploaded to<br />
folderAndFilePattern = the full path e.g.: C:\APPFOLDER\DATA\*.*<br />
[outputFile] = the compressed output file (optional). If you do not specify an output file, a unique backup file is created for you. It looks similar to this: 2012_01_25_11_38_F00684EE-6C03-4462-885F-4A6B2E95DE48.7z<br />
The output file can be opened with 7-Zip or any other tool that supports the 7-Zip compression.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=75&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2012/01/26/backing-up-with-7-zip-compression-and-amazon-s3-with-the-b7-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>

		<media:content url="http://thomasjaeger.files.wordpress.com/2012/01/b7_screenshot.png?w=300" medium="image">
			<media:title type="html">B7 Main Screen</media:title>
		</media:content>
	</item>
		<item>
		<title>Steve Jobs &#8211; A passionist for the details of perfecting masterpieces in the 21st century technology era</title>
		<link>http://thomasjaeger.wordpress.com/2011/10/06/steve-jobs-a-passionist-for-the-details-of-perfecting-masterpieces-in-the-21st-century-technology-era/</link>
		<comments>http://thomasjaeger.wordpress.com/2011/10/06/steve-jobs-a-passionist-for-the-details-of-perfecting-masterpieces-in-the-21st-century-technology-era/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 05:12:48 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Passion]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=69</guid>
		<description><![CDATA[Steve Jobs was and always will be an important part of my inspiration of creating the best software possible. The best software that people really love to use. Not just love, but, happy to use because it will make them happy to use and get their jobs done. Steve Jobs was a unique genius. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=69&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_72" class="wp-caption alignleft" style="width: 310px"><a href="http://thomasjaeger.files.wordpress.com/2011/10/tumblr_lqhr46trpa1qz9917o1_5001.png"><img class="size-medium wp-image-72" title="Steve Jobs - RIP" src="http://thomasjaeger.files.wordpress.com/2011/10/tumblr_lqhr46trpa1qz9917o1_5001.png?w=300&#038;h=300" alt="Steve Jobs - RIP" width="300" height="300" /></a><p class="wp-caption-text">Steve Jobs - RIP</p></div>
<p>Steve Jobs was and always will be an important part of my inspiration of creating the best software possible. The best software that people really love to use. Not just love, but, happy to use because it will make them happy to use and get their jobs done. Steve Jobs was a unique genius. I have learned so much from him. So much to be thankful about. He understood that it is about the people, about the users, that is so important to know them, really know them. Steve Jobs had passion for his creations. Steve Jobs was a passionist for the details of perfecting masterpieces of the 21st century technology era. I will miss him; but, his inspirations will live on in his creations, his motivational lectures and lessons, he will never be forgotten. It has been a rough 2 days. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=69&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2011/10/06/steve-jobs-a-passionist-for-the-details-of-perfecting-masterpieces-in-the-21st-century-technology-era/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>

		<media:content url="http://thomasjaeger.files.wordpress.com/2011/10/tumblr_lqhr46trpa1qz9917o1_5001.png?w=300" medium="image">
			<media:title type="html">Steve Jobs - RIP</media:title>
		</media:content>
	</item>
		<item>
		<title>What is Cloud Computing?</title>
		<link>http://thomasjaeger.wordpress.com/2011/08/25/what-is-cloud-computing/</link>
		<comments>http://thomasjaeger.wordpress.com/2011/08/25/what-is-cloud-computing/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 22:36:10 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=62</guid>
		<description><![CDATA[Over the last few months I’ve been asked more and more this question: “What is Cloud Computing?” It seems the interest in cloud computing is a lot higher in 2011 when compared to last year. So, I decided to put some of my thoughts down in a series of posts and explain what I think [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=62&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over the last few months I’ve been asked more and more this question: “What is Cloud Computing?” It seems the interest in cloud computing is a lot higher in 2011 when compared to last year. So, I decided to put some of my thoughts down in a series of posts and explain what I think cloud computing is all about and how you can take advantage of it. I’m very heavily involved in cloud computing and see cloud computing as the way to go despite a few hick-ups you might hear in the news.</p>
<p>First, let me explain my background in cloud computing. I started to explore cloud computing capabilities back in 2006 when Amazon first announced their set of <a title="Amazon Web Services (AWS)" href="http://aws.amazon.com/" target="_blank">Amazon Web Services (AWS)</a>. Later on, companies such as Google and Microsoft followed. The first time I heard about Amazon’s Simple Storage Service (S3), I was so excited about the possibilities. I was also excited about the cost. It is extremely inexpensive to start developing powerful cloud services and solutions.</p>
<p>As time went by, I explored most of Amazon’s AWS services with amazement as they were updated and new ones were released. I also briefly dabbled with Microsoft’s Azure and Google’s services; but, to this day, it is my strong believe that Amazon is the clear leader in providing the best cloud services and infrastructure in the market today. In fact, I go as far as to say that Amazon is much further ahead of Microsoft and Google combined. Amazon is the clear leader if you develop on a Microsoft stack or LAMP stack. Either way, I will try to explain a little more by what I mean in the following posts.</p>
<p>So, what is Cloud Computing then? From an architecture point of view, I would sum up cloud computing this way:</p>
<ol>
<li>A cloud computing solution is partitioned logically end-to-end</li>
<li>A cloud computing solution offers an infinite storage capacity</li>
<li>A cloud computing solution offers an infinite computing capacity</li>
<li>A cloud computing solution can handle an infinite number of users at the same time</li>
<li>A cloud computing solution is always available 24/7</li>
<li>A cloud computing solution is available anywhere in the world with low latency</li>
<li>And yes, a cloud computing solution offers certain tasks to be completed when connections are down</li>
<li>A cloud computing solution offers multiple ways to access the information such as different devices and user interfaces (platform independent on the consuming side)</li>
<li>A cloud computing solution expands and contracts with resources as demand increases or decreases</li>
<li>A cloud computing solution offers very fast and native execution times on the user interfaces to provide the best user experience</li>
<li>A cloud computing solution offers automatic backup and recovery options for consumers</li>
</ol>
<p>These points above should be available in a modern cloud computing solution. Consider the points above the goals of a great cloud computing solution. The planning and designing of a cloud computing architecture makes the above assumptions. For example, a cloud computing solution acts like it has an infinite storage capacity available.</p>
<p>I’m coining the term “Cloud Computing Partitioning Pattern (CCPP)” and will explain next time what I mean by being able to partition a cloud computing solution in order to provide fast and successful operations from the time a request is received through a domain model all the way to persistence and back.</p>
<p>Until next time.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=62&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2011/08/25/what-is-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>Designing Software</title>
		<link>http://thomasjaeger.wordpress.com/2009/11/01/designing-software/</link>
		<comments>http://thomasjaeger.wordpress.com/2009/11/01/designing-software/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 14:51:49 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=49</guid>
		<description><![CDATA[I have been using computers for over 24 years now. In those years, I have seen and used many operating systems and applications that run on these operating systems. I have seen software from a users point of view and software from a designers point of view when I created software solutions. In those years [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=49&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been using computers for over 24 years now. In those years, I have seen and used many operating systems and applications that run on these operating systems. I have seen software from a users point of view and software from a designers point of view when I created software solutions. In those years and up to including today, good software design seems to suffer a severe lack of attention. This results in poor quality software that is hard to use and just plain frustrating for the user. Poor software design can have serious financial impact on anyone who uses it. Poor software design makes people loose time and efficiency. Poor software design makes people wanting to cut corners or worse avoid using it all together if the opportunity allows it.</p>
<p>I strongly believe that when designing software, the human aspect, or the end-user, the one who is actually using the software, is the center of an application. By that I mean, every software design should be centered around the user, the woman or man who will be spending a lot of time with it. Good software design is designed around a person who is using it for a particular purpose.</p>
<p>I wanted to express my thoughts about software design and started thinking how I can express my thoughts and ideas in a way that others can understand. I have an intense passion of creating high-quality software. Almost to a point where you can say I have an obsessive passion of creating the best software it could possibly be. But, what is high-quality software? I have come to learn that high-quality software must be coupled with greatly designed software.</p>
<p>Over the decades, the art of creating software has been influenced by several industries including but not limited by the construction industry, the electronics, industry, and the industrial industry. Design principles and ideas leaked from these industries into the software industry.</p>
<p>Designing successful software, in my opinion, can be guided by the 10 Design Principles from the Industrial design principles by <em><a title="Dieter Rams" href="http://en.wikipedia.org/wiki/Dieter_Rams" target="_blank">Dieter Rams</a></em>, an amazing industrial designer and an industry icon who has an extensive and important influence over modern industrial design. I have applied his industrial design principles to the software industry the way I see these principles can be applied. Lets first take a look at what these principles are:</p>
<ol>
<li><strong>Good design should be innovative.</strong></li>
<li><strong>Good design should make a product useful.</strong></li>
<li><strong>Good design is aesthetic design.</strong></li>
<li><strong>Good design will make a product understandable.</strong></li>
<li><strong>Good design is honest.</strong></li>
<li><strong>Good design is unobtrusive.</strong></li>
<li><strong>Good design is long-lived.</strong></li>
<li><strong>Good design is consistent in every detail.</strong></li>
<li><strong>Good design is environmentally friendly.</strong></li>
<li><strong>Good design is as little design as possible.</strong></li>
</ol>
<p>All 10 design principles can be applied when architecting and designing great software. Each one of these principles above are very true and tested over the decades because they center around a person using a product. The industrial industry has been around for many decades now and we better learn from it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=49&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2009/11/01/designing-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>Is There a Problem?</title>
		<link>http://thomasjaeger.wordpress.com/2008/09/08/is-there-a-problem/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/09/08/is-there-a-problem/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 00:38:20 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[Persistence]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=40</guid>
		<description><![CDATA[  The fact that you are using objects in your project or product does not mean that the software development process will be any easier. Essentially, you will run into issues that you need to address. In general, some problems will come up before you start designing your solution, some challenges will come up while [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=40&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><span style="font-family:Times;"> </p>
<div>
<div class="snap_preview">
<div>
<div><span style="font-family:Times;"></p>
<div>
<p>The fact that you are using objects in your project or product does not mean that the software development process will be any easier. Essentially, you will run into issues that you need to address. In general, some problems will come up before you start designing your solution, some challenges will come up while you are developing your solution, and others issues will need constant attention.</p>
<p class="MsoNormal"> These issues can be summarized into three categories:</p>
<ul type="disc">
<li class="MsoNormal">How Object Persistence has been done in the past</li>
<li class="MsoNormal">Technical Challenges</li>
<li class="MsoNormal">Political / Social Hurdles</li>
</ul>
<h2><a name="_Toc201045550">How Object Persistence Has Been Done in the Past</a></h2>
<p class="MsoNormal">When you ask a developer about a system that he created and then drill-down into the details such as the “data”, many times you will find a “data-centric” thinking in that person even though he is knowledgeable about object-orientation. You will hear that person talk about stored procedures, SQL’s, datasets, even the term entities, etc. Unfortunately, you will discover that the data model is actually driving the entire application. There may or may not be a domain model; but, there will be a database model.</p>
<div>
<p class="Tip"><span><span>In a domain driven system, the Domain Model must always drive the Data Model.</span></span><span><span><span>  </span></span></span><span><span>Never, must the Data Model drive the Domain Model.</span></span></p>
</div>
<p class="MsoNormal">The Domain Model dictates when and how the database schema needs to change. If you need to make a design change in your domain model, the database model needs to be updated accordingly so that it can support the domain model. No compromises in the Domain Model must be taking place to support the database model in any way.</p>
<div>
<p class="Tip"><span><span>The Domain Model should be designed without any regard to object persistence or user interface exposure.</span></span></p>
</div>
<p class="MsoNormal">Think of it like this: Design your domain model as if you have unlimited storage space available and all the horsepower in the world to support your object model. Concentrate on solving the domain problems. Concentrate on solving the use cases. Concentrate on learning the business and your users tasks. You can always re-factor your domain model later. Since you most likely will use a layered or tiered approach, the domain model should have no clue about how to save and retrieve itself from persistence.</p>
<p class="MsoNormal">Let me emphasize the importance of the Domain Model driving the solution including a Data Model. Consider the Domain Model or Applications in general as being Nature. Consider the Data Model as being human beings. Human beings need nature to survive and live in this world whereas nature does not need human beings to survive. Databases need applications but applications certainly do not need databases. A database without an application is rendered useless whereas an application without a database can still be extremely useful to the user. An application can use different ways to persist the object model or information in general. It does not have to be a database, necessarily.</p>
<h2><a name="_Toc201045551">Technical Challenges</a></h2>
<h3><a name="_Toc201045552">Impedance Mismatch</a></h3>
<p class="MsoNormal">You can also call Impedance Mismatch a desperate move of old technology trying to survive in an ever-changing world of rapid delivery and instant gratification.</p>
<p class="MsoNormal">Object-Relational Impedance Mismatch is the difficulty of mapping a Domain Model to a Data Model and vice versa. If you chose to use a relational database as your data storage, you will need to deal with the Impedance Mismatch.</p>
<p class="MsoNormal">There are several reasons why there is an Impedance Mismatch. The Domain Model is a three dimensional model that includes behavior and data, whereas a Data Model is a flat, two-dimensional model without any behavior. Relational databases do not support inheritance, a crucial feature of object orientation.</p>
<p class="MsoNormal">On the software development side, impedance mismatch describes the huge differences between the world of objects and the world of databases. Both worlds are also worlds apart where the database world is stuck in a world without much progress and not much innovation. For example, the SQL querying language has not seen any improvements or innovation in the last 20 years.</p>
<p class="MsoNormal">In the world of objects, it is a thriving world with innovations towards ease of development, productivity, creativity, and automation.</p>
<h3><a name="_Toc201045556">Political / Social Hurdles</a></h3>
<p class="MsoNormal">The biggest drawback of using Object Persistence is not so much technical but rather political. When you are developing a solution and you are pretty much in control of the entire design and have the freedom to explore different Object Persistence solutions, you might not be faced with the political ramifications. But, if you are in a corporate environment where most corporate environments are hindered to be productive by red tape and personal agendas, introducing an Object Persistence can be somewhat “challenging” to say the least.</p>
<p class="MsoNormal">Even if you have created the “perfect solution” including an Object Persistence that works, you will still have to potentially face your boss, any cross-team impact including a database team, a mindset of people doing it the “old way” or “the way things have always been done”. You will encounter all kinds of excuses from people even from your boss to convince you, and in many cases order you to do it the old way. By the old way and by the way the database team would want you to do it is that the Database Model is driving the Object Model. Remember, in a domain driven system, it must always be that the Object Model is driving the Data Model (if there is one).</p>
<p class="MsoNormal">There is hope, though.</p>
<p class="MsoNormal">Despite the grim outlook when you face the database team, there is a chance that you may be able to introduce an Object Persistence strategy that can work for both teams. Communicating the difficulty of persisting objects and the challenges faced from the software development point of view, for example, can be a pleasant surprise.</p>
<h3><a name="_Toc201045560">Managers / Directors / Executives</a></h3>
<p class="MsoNormal">Even if some managers try to improve the software development process and the issues around object persistence in the corporate world, it comes down to the executive(s) running the IT department or the people in charge of software development. The ideal scenario is that a CIO fully supports productivity and that he concentrates his efforts in the execution and operation of the IT department and being able deliver to the stakeholders.</p>
<p class="MsoNormal">You may not be faced with the issues of large corporations if you are working for a smaller company or even if you are self-employed. You will most likely still have to deal with political issues no matter how big or small your company is. </p>
<h3><a name="_Toc201045560">Summary</a></h3>
<p class="MsoNormal">Depending on your situation, you may or may not be able to introduce the perfect persistence strategy. But, in todays solutions, you have to deal with persistence one way or another. Architecture is all about compromise. Try to find a compromise that will allows developers to be productive and yet adhere to company guidelines such as a data strategy that a company might already have in place. I welcome very much your feedback and encourage you to so. I future posts I will go into examples and provide possible solutions to this core problem.</p>
</div>
<p></span></div>
</div>
</div>
</div>
<p> </p>
<p></span></div>
<p><!--EndFragment--></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=40&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/09/08/is-there-a-problem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>Update on my book</title>
		<link>http://thomasjaeger.wordpress.com/2008/09/03/update-on-my-book/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/09/03/update-on-my-book/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 17:14:23 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Persistence]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=33</guid>
		<description><![CDATA[I have increased my efforts to complete my draft for my book &#8220;The Abundance of Object Persistence&#8220;. The increased efforts are mostly through additional time provided by my current employer RDA Corporation. I will continue small blog posts around the object persistence topic based on my book. I will post these entries at the RDA Architecture Evangelist [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=33&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have increased my efforts to complete my draft for my book &#8220;<em>The Abundance of Object Persistence</em>&#8220;. The increased efforts are mostly through additional time provided by my current employer <a title="RDA Corporation" href="http://www.rdacorp.com" target="_blank">RDA Corporation</a>. I will continue small blog posts around the object persistence topic based on my book. I will post these entries at the <a title="RDA Architecture Evangelist Team Blog" href="http://rdaarchitecture.blogspot.com" target="_blank">RDA Architecture Evangelist Team Blog</a> which I am part of as well.</p>
<p>If you have ideas or comments, please provide them. I welcome different point of views as this is usually a hot topic in the IT community.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=33&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/09/03/update-on-my-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>Funny wrap &#8211; Mac vs PC</title>
		<link>http://thomasjaeger.wordpress.com/2008/08/29/funny-wrap-mac-vs-pc/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/08/29/funny-wrap-mac-vs-pc/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 16:25:51 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=30</guid>
		<description><![CDATA[I was laughing so hard. You have to see and hear this one.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=30&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was laughing so hard. You have to see and hear this one.</p>
<span style="text-align:center; display: block;"><a href="http://thomasjaeger.wordpress.com/2008/08/29/funny-wrap-mac-vs-pc/"><img src="http://img.youtube.com/vi/Jkrn6ecxthM/2.jpg" alt="" /></a></span>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=30&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/08/29/funny-wrap-mac-vs-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>dVP 2009 Award</title>
		<link>http://thomasjaeger.wordpress.com/2008/08/29/dvp-2009-award/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/08/29/dvp-2009-award/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 14:57:18 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[db4o]]></category>
		<category><![CDATA[Persistence]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=22</guid>
		<description><![CDATA[I’ve been notified that I have been selected again as a db4o Most Valued Professional (dVP) awardee for the year 2009. I’m honored and proud to receive this recognition for the second time in a row. I want to thank db4o and the db4o community. There are only 12 dVP 2009 awardee&#8217;s in the USA. Thank you.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=22&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve been notified that I have been selected again as a <a title="dVP 2008 Award" href="http://developer.db4o.com/Resources/view.aspx/Professional_Community/Db4o_Most_Valued_Professional/DVP_Directory_2009" target="_blank">db4o Most Valued Professional (dVP) awardee</a> for the year 2009. I’m honored and proud to receive this recognition for the second time in a row. I want to thank db4o and the db4o community. There are only 12 dVP 2009 awardee&#8217;s in the USA. Thank you.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=22&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/08/29/dvp-2009-award/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>Benefits of Object Persistence</title>
		<link>http://thomasjaeger.wordpress.com/2008/08/29/benefits-of-object-persistence/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/08/29/benefits-of-object-persistence/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 14:51:41 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[db4o]]></category>
		<category><![CDATA[Persistence]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=20</guid>
		<description><![CDATA[When Object Persistence is done right, there can be some great rewards in the areas of Productivity, Maintainability, and Cost Reduction. Some areas directly affect other areas. For example, if one can maintain an application fairly easily, this would result in a higher productivity. There are fine balances between these areas.   Productivity Productivity in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=20&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:normal;">When Object Persistence is done right, there can be some great rewards in the areas of Productivity, Maintainability, and Cost Reduction. Some areas directly affect other areas. For example, if one can maintain an application fairly easily, this would result in a higher productivity. There are fine balances between these areas.</span></p>
<p> <br />
<span><strong>Productivity</strong></span></p>
<p>Productivity in software development can be measured in how fast a developer can complete a given work item with the assumption that the quality of the software is not compromised. How much time does it take to get things done without any compromises? Because most projects have a limited amount of time to complete, being productive impacts Cost Reduction to create and maintain the application as well as a better chance for future funding. Being productive should mean that one can get the work done and still deliver high quality software, with a high degree of reliability, and a fair amount of maintainability. Compromises in any one of these areas will result in loss of productivity either in the short-term or long-term of the product life-cycle.</p>
<p>The Object Persistence can be designed in such a way that the system is not locked into a particular database, for example. Because there is no database vendor lock-in, you can gain productivity by simply abstracting storage specific features. For example, if you decide to use an Object Relational Mapping Tool (ORM), you should let the ORM tool worry about creating and maintaining the database schemas for any database it supports based on your Object Model. This can buy you a tremendous amount of productivity because you are delegating this huge maintenance burden to the ORM tool.</p>
<ul>
<li><span>Productivity in software development can be gained through abstraction and automation.</span></li>
</ul>
<p><span><strong>Maintainability</strong></span></p>
<p>Depending how Object Persistence is done, it usually allows for easier maintainability when requirements change. The fewer changes that need to be made to a system, the easier it is to maintain. Because of abstracting the object persistence, there is a high possibility that a system can be created that is easy to maintain. Because you no longer have to make changes to a database schema or data access layer, you can concentrate on making the changes usually only in one place: the object model and sometimes to the output such as the user interface or a new report</p>
<p>How many times have you read somebody else’s code and trying to figure out what the heck it is trying to do? Hard to read code, or Spaghetti code, is hard to maintain. In general, the fewer lines of code to maintain, the better. Because of the abstraction of the Object Persistence, much fewer lines of code are necessary. A simple method call such as the Save() method is all it’s needed. This makes the code much easier to read and to maintain.</p>
<p>By eliminating the database schema, eliminating a data access layer, and any data or value objects, we are eliminating several points of failures. By reducing point of failures, the system becomes immediately easier to maintain and more reliable.</p>
<p>The easier it is to maintain an application, the less time is required to train somebody else to learn it. Easy to understand code is easy to support no matter who will need to take over the code.</p>
<p>Maintainability is probably the biggest impact of an application throughout its lifetime much more so than the advantages of reusability in Object Orientation.</p>
<p><span><strong>Cost Reduction</strong></span></p>
<p>Studies have shown that in the lifetime of an application, 10% of the time is used to create the application, and 90% is used to maintain it until it is retired. If we can reduce the amount of time needed to maintain the application, we can reduce the amount of money spent to keep it alive. We are trying to work smarter using the right tools instead of harder using no tools or unnecessary procedures.</p>
<p>Being more productive has an immediate impact on cost. When a developer can implement a change quicker, the cost of maintaining an application is reduced. The time saved can be used for other duties or other projects. Many times, being more productive can allow for future projects to be approved vs. projects that won’t make the approval because the timelines would not permit to do so otherwise.</p>
<p>Today, labor cost is one of the most expensive liabilities a company can have. On the other hand, the workforce is also the most important asset a company has. There was a time where hardware was the most expensive part in an IT department. Hardware and tools are now extremely inexpensive today. It is mass produced and no longer a major factor in software development.</p>
<p>Purchasing third party component libraries can reduce the time and effort to complete an application. Some of these tools such as ORM tools can seem expensive initially, but; in the long term, you cannot afford not buying them. It is far more costly to write these components or tools on your own than to purchase them.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=20&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/08/29/benefits-of-object-persistence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m a Mac User &#8211; I&#8217;ve done it</title>
		<link>http://thomasjaeger.wordpress.com/2008/08/26/im-a-mac-user-ive-done-it/</link>
		<comments>http://thomasjaeger.wordpress.com/2008/08/26/im-a-mac-user-ive-done-it/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 12:25:17 +0000</pubDate>
		<dc:creator>Thomas Jaeger</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iMac]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://thomasjaeger.wordpress.com/?p=16</guid>
		<description><![CDATA[I&#8217;ve done it. After almost 18 years, I&#8217;ve switched from a PC to my new iMac OS X. I still can&#8217;t believe it. Over the years, I&#8217;ve always monitored Apple and how they went from a proprietary hardware system to the Intel platform with the new OS X. As a professional, I&#8217;m running my .Net development on the iMac [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=16&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done it. After almost 18 years, I&#8217;ve switched from a PC to my new iMac OS X. I still can&#8217;t believe it. Over the years, I&#8217;ve always monitored Apple and how they went from a proprietary hardware system to the Intel platform with the new OS X.</p>
<p>As a professional, I&#8217;m running my .Net development on the iMac using VMWare under a Windows XP window. Works great. The main reason to actually go out and invest into an iMac was iPhone development for the new iPhone 3G using the COCOA Touch framework and XCode.</p>
<p>This is really exciting and I strongly believe that the iPhone from a development point of view has a huge potential. I&#8217;ve some personal projects I&#8217;m working on for the iPhone at the moment. When the first app is released in the AppStore, I will announce it here. I&#8217;ve not felt this excited since the late 80&#8242;s when I started writing my first shareware program ACZAR.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thomasjaeger.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thomasjaeger.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thomasjaeger.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thomasjaeger.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thomasjaeger.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thomasjaeger.wordpress.com&amp;blog=304782&amp;post=16&amp;subd=thomasjaeger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thomasjaeger.wordpress.com/2008/08/26/im-a-mac-user-ive-done-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/220359b359ee0f5867d62feb44a359da?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Thomas Jaeger</media:title>
		</media:content>
	</item>
	</channel>
</rss>
