<?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>Software Architect Blog</title>
	<atom:link href="http://softwarearchitectblog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwarearchitectblog.wordpress.com</link>
	<description>www.softwarearchitectblog.com</description>
	<lastBuildDate>Fri, 29 Jul 2011 17:02:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='softwarearchitectblog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Software Architect Blog</title>
		<link>http://softwarearchitectblog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://softwarearchitectblog.wordpress.com/osd.xml" title="Software Architect Blog" />
	<atom:link rel='hub' href='http://softwarearchitectblog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>WebFlow 2011 -or- Why WebForms Still Has Some Sweetspots</title>
		<link>http://softwarearchitectblog.wordpress.com/2011/07/27/webflow-2011-or-why-webforms-still-has-some-sweetspots/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2011/07/27/webflow-2011-or-why-webforms-still-has-some-sweetspots/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 18:48:17 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=136</guid>
		<description><![CDATA[When my former team and I built the first version of an eCommerce solution using .NET 2.0 BETA back in 2005, we built the first version of a library called WebFlow on top of ASP.NET WebForms 2.0. That version &#8211; meant to be a simple pragmatic solution that should solve quite complex problems for step-by-step [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=136&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When my former team and I built the first version of an eCommerce solution using .NET 2.0 BETA back in 2005, we built the first version of a library called WebFlow on top of ASP.NET WebForms 2.0. That version &#8211; meant to be a simple pragmatic solution that should solve quite complex problems for step-by-step wizards in the web &#8211; was extended, redesigned and reused several times in various web solutions since then. Over time, we learned to do certain things better, but I have to admit that we never managed to develop something that made things really simple (which had a lot to do with the inherent complex nature of web-based step-by-step wizards).</p>
<p>During my last project, I took the time to take a look what we had build and re-build over the last couple of years and decided to redesign the library from the ground up. After some initial designs I noticed that my initial decision to use ASP.NET MVC as the basis for my complete rewrite turned out to make things much more complex in some areas. I also remembered that the most problems we had with previous designs was to find the right mechanism to &#8220;jump&#8221; between different views. Over the course of earlier WebForms solutions we used Server.Transfer, Response.Redirect, CrossPagePostbacks and other options, but it remained one of the biggest challenges.</p>
<p>Following that insight, I did two things. First of all I completely separated the UI part (how to display the view) from the Flow part (decide which view should be next). The &#8220;UI independent&#8221; Flow part &#8211; now called WebFlowManager &#8211; connects to the framework-specific part using a single enum as light-weight contract. The second thing I did was to implement a completely new WebForms based implementation of the UI part which I named WebFlowContainer. That WebFlowContainer basically holds references to actual UserControls that represent the actual screens and knows how to display them. I also decided to use UserControls (or WebControls) instead of complete ASPX pages for the views, which is another key learning of several earlier WebFlow versions &#8211; it makes things much easier than having to deal with the above mentioned &#8220;jump&#8221; mechanisms.</p>
<p>So, how does the new library actually work? Well, to use version 0.3b &#8211; which, despite its naming, is quite powerful already &#8211; with WebFlow, you have to do the following things:</p>
<ol>
<li>Define a simple Enum type that contains all the steps you want to use in your wizard (&#8220;MyPwp&#8221; is the name of the demo project). This is the glue that connects the WebFlowManager to the WebFlowContainer.<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowenum.png"><img class="alignnone size-full wp-image-137" title="WebFlowEnum" src="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowenum.png?w=600" alt=""   /></a></li>
<li>Add a &lt;webFlow:WebFlowContainer&gt; control to your ASPX page and register all views (as simple UserControls or WebControls) by placing them within the WebFlowContainer.<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowcontainer.png"><img class="alignnone size-full wp-image-138" title="WebFlowContainer" src="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowcontainer.png?w=600" alt=""   /></a></li>
<li>Assign Enum flags to every UserControl / WebControl.<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/containerassignenumflags.png"><img class="alignnone size-full wp-image-139" title="ContainerAssignEnumFlags" src="http://softwarearchitectblog.files.wordpress.com/2011/07/containerassignenumflags.png?w=600" alt=""   /></a></li>
<li>Create the definition of the actual web flow using a new class that inherits from WebFlowDefinition. The WebFlowDefinition returns a list of steps (IWebFlowStep) and the initial step as Enum (FirstStep).<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowdefinition.png"><img class="alignnone size-full wp-image-140" title="WebFlowDefinition" src="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowdefinition.png?w=600" alt=""   /></a></li>
<li>Implement each IWebFlowStep using the ID, Next and Prev properties, optionally extending its functionality with the following delegate properties:<br />
Check() &#8211; Is the user allowed to &#8220;see&#8221; this view at this moment. If not, raise an exception.<br />
Init() &#8211; What needs to be done to initialize this view.<br />
Validate() &#8211; What needs to be validated after the user has submitted the view? If there&#8217;s something wrong with the data, raise an WebFlowValidationException.<br />
Complete() &#8211; What should happen after the submitted input has been validated?<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowsteps.png"><img class="alignnone size-full wp-image-141" title="WebFlowSteps" src="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowsteps.png?w=600&#038;h=347" alt="" width="600" height="347" /></a></li>
<li>Connect the WebFlowContainer and the WebFlowDefinition using the WebFlowManager during the Init event of your ASPX page and initialize the framework.<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/wfmanager.png"><img class="alignnone size-full wp-image-142" title="WfManager" src="http://softwarearchitectblog.files.wordpress.com/2011/07/wfmanager.png?w=600" alt=""   /></a></li>
<li>Implement the &#8220;next&#8221; and &#8220;prev&#8221; buttons with simple calls to the WebFlowManager. (Note: Future versions of WebFlow will also support additional custom commands such as &#8220;buy&#8221;).<br />
<a href="http://softwarearchitectblog.files.wordpress.com/2011/07/prevbutton.png"><img class="alignnone size-full wp-image-143" title="PrevButton" src="http://softwarearchitectblog.files.wordpress.com/2011/07/prevbutton.png?w=600" alt=""   /></a></li>
<li>Start your web app and browse to the ASPX page with the WebFlowContainer.</li>
</ol>
<div>Well, that&#8217;s basically it. Of course this is only the beginning, there are a lot of things to come over the next couple of weeks / months. WebFlow will support &#8220;real&#8221; conversation state (running multiple flows in parallel), a UI-specific implementation for ASP.NET MVC, a real AJAX version with JQuery support and several other features. The project is going to be published on CodePlex in a couple of weeks after I have successfully removed all remaining bugs.</div>
<div>Looking forward to your feedback,</div>
<div>All the best,</div>
<div>Julius</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=136&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2011/07/27/webflow-2011-or-why-webforms-still-has-some-sweetspots/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowenum.png" medium="image">
			<media:title type="html">WebFlowEnum</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowcontainer.png" medium="image">
			<media:title type="html">WebFlowContainer</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/containerassignenumflags.png" medium="image">
			<media:title type="html">ContainerAssignEnumFlags</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowdefinition.png" medium="image">
			<media:title type="html">WebFlowDefinition</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/webflowsteps.png" medium="image">
			<media:title type="html">WebFlowSteps</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/wfmanager.png" medium="image">
			<media:title type="html">WfManager</media:title>
		</media:content>

		<media:content url="http://softwarearchitectblog.files.wordpress.com/2011/07/prevbutton.png" medium="image">
			<media:title type="html">PrevButton</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows 8, HTML5 and XAML: About Trust Issues and the Lowest Common Denominator</title>
		<link>http://softwarearchitectblog.wordpress.com/2011/06/05/windows-8-html5-and-xaml-about-trust-issues-and-the-lowest-common-denominator/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2011/06/05/windows-8-html5-and-xaml-about-trust-issues-and-the-lowest-common-denominator/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 22:15:33 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=120</guid>
		<description><![CDATA[&#8220;Today we introduce a new platform based on HTML and web technologies that allows the millions of developers who know how to use these technologies to create a new kind of app for windows 8.&#8221; is probably the most misunderstood statement Microsoft has released to its developer community since Bob Muglia &#8220;accidentally&#8221; announced the death [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=120&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8220;Today we introduce a new platform based on HTML and web technologies that allows the millions of developers who know how to use these technologies to create a new kind of app for windows 8.&#8221; is probably the most misunderstood statement Microsoft has released to its developer community since Bob Muglia &#8220;accidentally&#8221; announced the death of Silverlight a couple of months ago. But before we talk about why it is probably just a big communication issue, let&#8217;s take a minute to talk about why this statement fuels so much fear among the developer community and why it is both, a technology leadership and a management issue.</p>
<p>Although the concept of management and the concept of leadership are probably the most powerful skill combination in the world, they are actually two quite different things. While management is primarily the practice of transforming resources into value for a group of customers by taking responsibility for performance and producing results, leadership is first and foremost the ability to create a compelling vision, inspire people to follow you on the way towards achieving it and finally making it a reality by convincing the hearts and minds of others to take action.<br />
However, both share a common principle that is fundamentally important for their success: Trust. Although we don&#8217;t know a great deal about trust, we do know that it is essentially about believing in someones predictability. And we know that it usually takes years to build it and just seconds to destroy it. Microsoft might just have done that.</p>
<p>And that&#8217;s a pity, because trust is an indispensable ingredient if you want to build and keep a global community of technology professionals who base their work on your products. So the question is, why would Microsoft risk losing it twice in a row when it comes to a strategic technology like WPF / Silverlight? My guess is, they wouldn&#8217;t &#8211; they just didn&#8217;t think enough about what they should have been telling people.</p>
<p>WPF and Silverlight are probably the most advanced technologies for desktop, rich internet and mobile phone applications in the world today and a lot of Microsoft&#8217;s success in the recent years is based on a loyal developer community that went along with a major technology change in .NET 3.0 by shifting their mindset away from WinForms, Mobile Forms and Flash to embrace these technologies. Nobody at Microsoft, not even the IE9 crew who just moved on from being &#8220;the guys who brought you IE6&#8243;, could be so arrogant to ignore that fact.</p>
<p>But if that&#8217;s true, what is this announcement of Windows 8 using HTML5 and JavaScript to build the new shell UI really about? From my point of view, it&#8217;s quite simple: HTML5 and JavaScript are just the <span style="text-decoration:underline;">lowest common denominator</span>. In addition to the thousands of WPF and Silverlight developers that currently cry their heart out, the guys building <em>the</em> new Windows UI had a couple of other guys to take into consideration as well: The thousands of Win32/C++ developers, the thousands of ASP.NET web developers, the thousands of Office developers and the thousands of developers that use other toolsets to build applications for Windows (Java, Python, Adobe Air, etc.).<br />
So ask yourself the question, what would you have done? Do you really think, you could convince people to install Visual Studio, learn XAML and build WPF / Silverlight apps just to hook up your native Win32 app in the Windows Start screen? What if you only wanted to build a lean cloud app and that can be launched easily from Windows&#8217; main shell UI? Exactly, you would have chosen a technology that everyone can, and probably already has, learned to some extend and which is simple enough that you don&#8217;t have to write dozens of HowTo tutorials. And what else could that technology be if not HTML5 and JavaScript?</p>
<p>Building the new Windows 8 UI based on HTML5 in order to enable all those developers mentioned above &#8211; regardless of their framework, their skill set and their technology &#8211; to utilize its full potential is the right decision. Period. The real problem is that Microsoft failed (again) to explain this to the thousands upon thousands of developers who have just watched the Windows 8 introduction video from Microsoft UI design team. That&#8217;s the issue, not more and not less.</p>
<p>So what should we as developers do? In my opinion, we should ask Microsoft to confirm that the current situation is indeed based on a communication issue (again) and that our investment in Microsoft&#8217;s next generation UI platform WPF / Silverlight is safe. And what should we expect from Microsoft? Well, in order to fix the current situation, the company has to demonstrate their commitment to the investments made by the Microsft developer community. And who could do that more effectively than Scott Guthrie and Steven Sinofsky? I really think, those two guys should put on their strategic hat and answer those questions themselves &#8211; it is now time to act quickly and decisevly, gentlemen. Maybe after that, we can all get back to those things that are really important and don&#8217;t waste our time with rumors and end of days scenarios.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=120&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2011/06/05/windows-8-html5-and-xaml-about-trust-issues-and-the-lowest-common-denominator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Why the Microsoft Platform is Great for Start-Ups</title>
		<link>http://softwarearchitectblog.wordpress.com/2011/04/10/why-the-microsoft-platform-is-great-for-start-ups/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2011/04/10/why-the-microsoft-platform-is-great-for-start-ups/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 17:31:04 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=107</guid>
		<description><![CDATA[Obviously there is currently a lot of buzz going around about whether Microsoft technology is or isn&#8217;t a great platform for start-up companies. Unfortunately, most of the posts and the comments I read are subjective, short-sighted and sometimes even childish &#8211; and that&#8217;s really sad because the discussion in and of itself could be very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=107&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Obviously there is currently a lot of buzz going around about whether Microsoft technology is or isn&#8217;t a great platform for start-up companies. Unfortunately, most of the posts and the comments I read are subjective, short-sighted and sometimes even childish &#8211; and that&#8217;s really sad because the discussion in and of itself could be very valuable.</p>
<p>For those of you who visit this blog for the first time, I would like to summarize my background in the software industry a little bit. It is always important to understand who is making a statement in order to understand the underlying motives better. So before you need to speculate too much about it, here are the facts: My name is Julius Ganns and I&#8217;m a software architect and manager from Germany. I have a software development experience of about 14 years and a software architecture experience of about 8 years, and over that time frame, I worked with a lot of platforms, languages and frameworks &#8211; including, but not limited to, Perl, PHP, VB, VBA, VBS, Ruby, Java EE, C++, JavaScript, C#, .NET, Groovy, F#, and Python. A couple of years ago, I choose .NET as my primary platform for professional purposes, but I&#8217;m still very interested in other interesting features and functionalities outside of the Microsoft space (I especially admire Ruby for its speed of innovation and Java EE for its well-designed architecture in several of its core frameworks).</p>
<p>So what&#8217;s my view on the current discussion about whether .NET and Microsoft&#8217;s platform stack is a viable option for start-ups or not? Well, first of all, I worked in one of those start-ups and we have never regretted to switch to .NET as our primary technology stack. I&#8217;m not saying that there weren&#8217;t any challenges, and I&#8217;m not saying that we had everything we needed right from the start, but the Microsoft development stack has changed significantly over the last seven years and if I had to make the decision today, I would definitely go for .NET again.</p>
<p>Obviously, Microsoft had large gaps in their development platform back in 2005 when we wrote our first larger project with the beta version of .NET 2.0. There wasn&#8217;t a decent object/relational mapping framework (and please don&#8217;t get me started on DataSets here) and coming from a Java EE world, the event-based, component-centric WebForms framework was not easy to work with either during the first three months or so. But in retrospect, the major problem we had with .NET was our attitude: If you approach a new framework (like WebForms) with your existing mindset (coming from Struts and PHP) and don&#8217;t try to understand first what you&#8217;re working with, failure is to be expected &#8211; and that is true for every platform, every language and every framework.</p>
<p>In the world of 2011 however, there isn&#8217;t one single platform offering in the world that would allow you to start software development as quickly, as easy, as cost-effective and as professional as the Microsoft platform does. Just take a look at http://www.microsoft.com/web, download the Web Platform Installer and select everything you need &#8211; starting with a web server (IIS or IIS Express), a database server (SQL Server Express or other), a project workspace (WebMatrix), a first-class development environment (Visual Studio Express), and dozens of frameworks based on the Microsoft .NET platform like ASP.NET (with WebForms, MVC, Dynamic Data), LINQ, the Entity Framework, AppFabric (WCF, WF), Silverlight and several other ones. There are also hundreds of open source tools and libraries available, either from Microsoft&#8217;s CodePlex site or using the NuGet technology.</p>
<p>But actually, that is not even the reason why I would recommend the Microsoft platform as the right technology for start-ups. I recommend it, because there will (hopefully) come a point in your company&#8217;s lifetime, where you don&#8217;t want to be a start-up anymore. And while this situation first and foremost demands a new way of thinking and working (and thereby new processes and priorities, new structures and systems) the question is how fast you can adapt your existing technology stack to meet the new demands.<br />
Will your perfect &#8220;start-up technology&#8221; still be enough to do serious business with large customers or large amounts of users? If not, is there at least a clear path to migrate it to the next level? And what about the skills of your experienced and loyal people? Although you definitely can&#8217;t continue to do what you did so far, can you at least re-use most (or at least some) of your technologies, tools and systems?</p>
<p>Looking back at the history of my former start-up (which still exists and flourishes, by the way), the processes, priorities, structures and non-IT systems were much more of an issue than the technology we used. Of course those were things we were able to change in large parts, but believe me, we were quite happy that we didn&#8217;t have to switch the technology platform at the same time. At least for us, Microsoft&#8217;s technology stack and the way we used it turned out to be the right one &#8211; even for larger endeavors.<br />
Today I&#8217;m working in several multi-million enterprise projects with huge server farms and heavily customized enterprise technologies &#8211; and I&#8217;m still using most of what I learned in the early days of my career. The reason for that is simple: Microsoft&#8217;s technologies and tools &#8211; even if not always perfect &#8211; usually provide a common &#8220;appearance&#8221; from the perspective of developers and architects, enable your good people to re-use existing knowledge and have built-in integration capabilities to integrate products across the overall MS portfolio. And that is something, you will not find for years in any of the often-called &#8220;lean&#8221; start-up technologies like PHP and Ruby. Of course you will find these enterprise capabilities in Java EE, but unfortunately that platform (while being exceptionally well-designed, versatile and powerful) is one of the most overwhelming and complex pieces of technologies currently existing.</p>
<p>In the end, my conclusion is quite simple: In the start-up phase, there isn&#8217;t a huge difference between those technologies that have been discussed so vividly, sometimes even violently, in the last couple of days. Although .NET&#8217;s reputation might not be as &#8220;cool&#8221; as some of the others, it is definitely one of the top choices and in regard to what you get out-of-the-box and what you can do with very little effort, is is probably one of the top three. The major difference, however, will emerge just after the first two or three years when your company is getting more grown-up and your technology stack has to keep up with the demands of the organization. This is where most companies fail (usually because of issues that initially don&#8217;t have anything to do with IT) and where technology should be the enabler rather than something, that &#8220;has to be changed, too&#8221;.</p>
<p>Looking forward to your comments,<br />
All the best,<br />
Julius</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=107&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2011/04/10/why-the-microsoft-platform-is-great-for-start-ups/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft PDC 2010 &#8211; Reading Between the Lines</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/11/01/microsoft-pdc-2010-reading-between-the-lines/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/11/01/microsoft-pdc-2010-reading-between-the-lines/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 18:07:00 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=94</guid>
		<description><![CDATA[While Microsoft&#8217;s PDC hasn&#8217;t been as large and revolutionary as its predecessors in 2008 and 2009, a couple of very interesting things happened in Redmond a few days back. A couple of theses &#8220;interesting things&#8221; are not primarily about what the architects and managers at Microsoft were saying, it was more about what they were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=94&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While Microsoft&#8217;s PDC hasn&#8217;t been as large and revolutionary as its predecessors in 2008 and 2009, a couple of very interesting things happened in Redmond a few days back. A couple of theses &#8220;interesting things&#8221; are not primarily about what the architects and managers at Microsoft were saying, it was more about what they were not saying. The purpose of this post is to summarize some statements about future developments on the .NET platform and Microsoft&#8217;s portfolio, and I would love to hear your opinion on them.</p>
<p><strong>Guess No. 1: Silverlight will become what the name &#8220;WPF/E&#8221; promised &#8211; and cease to replace Adobe&#8217;s Flash format<br />
</strong></p>
<p>Obviously, HTML5 will play a major role in Microsoft&#8217;s future web strategy. Nothing to be argued here. The question is, however: What will happen to Siverlight? According to various sources, Silverlight&#8217;s focus will shift away from attacking Flash and the browser addin will become what it&#8217;s first codename &#8220;WPF/E&#8221; (Windows Presentation Foundation Everywhere) tried to express a few years back: A runtime environment for rich applications on all (Microsoft) devices. From a consumers point of view, this will primarily be Windows Phone, but another main hotspot for Silverlight will be the space of corporate and enterprise business applications. The reason for that is simple: Silverlight solves about 90% of all deployment and versioning problems that large business software projects had to deal with in the last 15 years: Access can be provided over the web to nearly all places, applications run either within the browser or on the Vista / Windows 7 desktop, the runtime environment is lightweight, communication and integration options exist for nearly all cloud- and server-side endpoints, integration with existing desktop apps is on its way, and the UI options and features are what most people expect from a modern user interface framework. What does this mean for you as a developer? Well, if you&#8217;re already in the &#8220;internal apps&#8221; space, you&#8217;re CV has just received a major plus point if it includes Silverlight. If you&#8217;re, on the other hand, focused on &#8220;public apps&#8221; running in the web, it&#8217;s now time to switch to HTML5 and JQuery (or any other powerful JavaScript library).</p>
<p><strong>Guess No. 2: WCF will get a major upgrade &#8211; and focus on HTTP</strong></p>
<p>While there weren&#8217;t many session around WCF at the PDC, a lot has been written and broadcasted before and after the event itself. One of the mosts significant posts is <a href="http://www.infoq.com/news/2010/10/WCF-REST" target="_blank">&#8220;The Future of WCF is RESTful&#8221; on InfoQ</a> from October 21st, Glenn Block&#8217;s <a href="http://player.microsoftpdc.com/Session/17a9e09f-4af1-4ef3-8a5a-ebf1e9bd9c8e" target="_blank">session at the PDC</a> itself and his blog post titled <a href="http://codebetter.com/blogs/glenn.block/archive/2010/11/01/wcf-web-apis-http-your-way.aspx" target="_blank">&#8220;WCF Web API&#8217;s, HTTP your way&#8221;</a>. Instead of repeating the content here, I highly encourage you to read the articles yourself, and to dive deeper into the thoughts behind this decision, which can in large parts be found in <a href="http://oreilly.com/catalog/9780596519216" target="_blank">Jon Flander&#8217;s fantastic book &#8220;RESTful .NET&#8221;</a> (I it right after it was published) and in <a href="http://oreilly.com/catalog/9780596529260/" target="_blank">&#8220;RESTful Web Services&#8221; by Leonard Richardson and Sam Ruby</a> from May 2007 (that one rested until October 2007 and thereby far too long on my &#8220;Books to Read&#8221; stack). While SOAP and WS-* based communication will remain a very important concept for large, transaction-oriented enterprise and B2B processes, REST has already started to take over the space of lightweight application integration. In addition to &#8220;pure REST&#8221;, Microsoft&#8217;s ATOM-based OData protocol will probably end up becoming the new number one standardized data access technology for the web. OData, originally developed by the WCF Data Services team (which was called ADO.NET Data Services team back then), has not been build into a variety of platforms, frameworks and products, including Microsoft&#8217;s business productivity and collaboration platform SharePoint 2010.</p>
<p><strong>Guess No. 3: BizTalk will move to AppFabric &#8211; on-premise as well as in the cloud</strong></p>
<p>Although it shouldn&#8217;t come as a surprise to those who have worked with WCF and WF4, I didn&#8217;t expect the announcement of the BizTalk tean so soon after the release of BizTalk 2010. Nevertheless, the new direction of BizTalk has been decided and you can read about it here: <a href="http://blogs.msdn.com/b/biztalk_server_team_blog/archive/2010/10/28/changing-the-game-biztalk-server-2010-and-the-road-ahead.aspx" target="_blank">Changing the game: BizTalk Server 2010 and the Road Ahead</a>. To make a long story short, BizTalk will be rewritten (or at least re-assembled) based on Windows Server AppFabric and Windows Azure AppFabric. It will probably adopt WF4 as its primary workflow engine and rely on WCF as its main communication layer. This is great news for WCF/WF4/AppFabric developers as well as for BizTalk developers &#8211; both will benefit from a unification of Microsoft&#8217;s SOA offering and I&#8217;m especially looking forward to the future direction of the ESB Toolkit 2.0.</p>
<p><strong>Guess No. 4: The future of programming is asynchronous &#8211; but not necessarily concurrent or parallel</strong></p>
<p>In the end of 2008, I started a blog series called &#8220;Asynchronou, Parallel and Concurrent Programming on the .NET Platform&#8221;. Although I never finished it (and my blog has been moved also), it would probably have been a big waste of time. In the end of 2008, there were so many different concepts and framework components to create asynchronous, parallel and concurrent applications, that it was really difficult to keep track and to take the right approach for the job at hand. Between Threads, TheadPools, Async-Methods, Begin/End Invole, Aynchronous Delegates, BackgroundWorker, lock statements and various other techniques (like the absolutely great Concurrency Coordination Runtime), developers usually started waving the white flag.<br />
A couple of months ago, however, Microsoft released the Task Parallel Library &#8211; a unified approach to developing responsive application that utilized the features of modern multi-core processors and multi-user environments (like the web). Now, with the rising success of the Task-based programming technique, Microsoft&#8217;s language designers will introduce the concept as first-class citizens in C# and VB.NET. The way, Anders and his team have introduced the &#8220;async&#8221; and &#8220;await&#8221; statements is not only elegant on the optical and conceptual level &#8211; it is really one step ahead of the current discussion that focussed more on &#8220;creating and managing multiple threads&#8221; than avoiding it until it becomes absolutely necessary.<br />
I strongly recommend taking the time to watch <a href="http://player.microsoftpdc.com/Session/1b127a7d-300e-4385-af8e-ac747fee677a" target="_blank">Anders session</a> at the PDC and the <a href="http://channel9.msdn.com/Shows/Going+Deep/Mads-Torgersen-Inside-C-Async" target="_blank">Channel 9 interview with Mads</a>, they will show you what elegant aynchronous programming is going to look like in the near future. After that, go and download the CTP of <a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx" target="_blank">Visual Studio Async</a> &#8211; I did it and rewrote a pretty complex application in about 10 minutes while reducing it to half its size.</p>
<p>That&#8217;s it for now from my side.<br />
See you soon,<br />
Julius</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=94&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/11/01/microsoft-pdc-2010-reading-between-the-lines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Excellent Article on Software Architecture</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/04/29/excellent-article-on-software-architecture/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/04/29/excellent-article-on-software-architecture/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 20:06:29 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=58</guid>
		<description><![CDATA[Andres Kutt, former architect team lead at Skype, has written an excellent article on certain technical and non-technical aspects of Software Architecture. Especially his remarks about &#8221;one size doesn&#8217;t fit it all&#8221; and the interdependency of software architecture and business decisions are very valuable for software professionals of every kind. Highly recommended reading: http://www.infoq.com/articles/learnings-five-years-skype-architect<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=58&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Andres Kutt, former architect team lead at Skype, has written an excellent article on certain technical and non-technical aspects of Software Architecture. Especially his remarks about &#8221;one size doesn&#8217;t fit it all&#8221; and the interdependency of software architecture and business decisions are very valuable for software professionals of every kind. Highly recommended reading: <a href="http://www.infoq.com/articles/learnings-five-years-skype-architect">http://www.infoq.com/articles/learnings-five-years-skype-architect</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=58&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/04/29/excellent-article-on-software-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Are Oslo and the Entity Framework the Future of Business Process Management</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/04/24/are-oslo-and-the-entity-framework-the-future-of-business-process-management/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/04/24/are-oslo-and-the-entity-framework-the-future-of-business-process-management/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 20:18:20 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=46</guid>
		<description><![CDATA[It seems as if Microsoft is going to align its modelling and resource access strategies even further by integrating parts of the Oslo initiative (now SQL Server Modelling) with the Entity Data Model, the conceptual framework behind the Entity Framework. Although this might sound a bit like the usual &#8220;nothing is going to be the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=46&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It seems as if Microsoft is going to align its modelling and resource access strategies even further by integrating parts of the Oslo initiative (now SQL Server Modelling) with the Entity Data Model, the conceptual framework behind the Entity Framework. Although this might sound a bit like the usual &#8220;nothing is going to be the same ever again&#8221;-crap, this approach might actually change the way applications get build in the future.</p>
<p>Take a look at what VS2010 offers to developers today already. Sure, if you&#8217;re going to create a larger application, you still have to think about things like solution architecture, application layers and tiers, services and components, and a lot of cross-cutting stuff like security and concurrency, but lets move away from that scope for a minute and focus on areas like rapid application development, prototypes, and mashups. If your goal is to show off results as quickly as possible, for example to test a concept or to present an idea, Microsoft offers phenomenal tools already. You basically start VS2010, create a new Entity Data Model, let it generate your database, create a RIA Domain Service, write three or four business methods and expose parts of your EDM to the world. After that you fire up Blend 4, create a new Silverlight app, drag a bunch of controls on the screen, wire up your domain data source with your domain service and vóila, there is your RIA business app. The story on the server-side for ASP.NET WebForms is basically the same.</p>
<p>Now consider what would happen, if your model would not only contain the structures and data you wanted to use in your applications, but also a definition of the corresponding processes and business operations in the form of a domain specific language. The whole development story would shift from the implementation of applications to the modelling of business concepts. A sophisticated business framework would then be able to expose the resulting logic as service operations and UI frameworks like Silverlight could pick up on the meta-data to propose a set of controls to create the client UI. What&#8217;s even more important than the rapid application development aspect, are the benefits of defining and managing information structures and business processes in a central location to distribute them across the enterprise. Today, re-defining a business process is not only a matter of deciding what to do and to create a business case, it is above all the effort to re-design and re-program the company&#8217;s information systems accordingly. If Microsoft would really be able to create a complete end-to-end story based on these technologies, all those hopes that were put in SOA, BPM, BI, rules engines and other types of dynamic IT initiatives might not be that unrealistic after all.</p>
<p>I&#8217;m not saying, that software development will become like a strategy game where you only have to place some artifacts on a diagram, but in the world of software engineering evolution is often accomplished by putting one layer of abstraction on top of another, while occasionally going down one level to fix some &#8220;not yet out of the box&#8221; issues. The truth is, it&#8217;s not longer about whether this will happen or not, it&#8217;s just a question of when.</p>
<p>Find out more about Oslo and the Entity Framework in this <a href="http://www.dotnet-tv.com/2010/04/19/object-relational-mapping-and-orm-entity-framework-ef-and-m-programming-language/" target="_blank">interview with Danny Simmons</a> and on <a href="http://www.douglaspurdy.com/2009/11/25/edm-30-bring-edm-and-m-together/" target="_blank">Douglas Purdy&#8217;s Blog</a>. Also, make sure to take a look at the <a href="http://msdn.microsoft.com/en-us/data/ff394760.aspx" target="_blank">Model-Driven Development portal</a> at the <a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank">MSDN Data Developer Center</a>. Rhocky Lothka also created a <a href="http://msdn.microsoft.com/en-us/data/ff381673.aspx" target="_blank">three-part video series</a> about his &#8220;M&#8221;-based DSL for the CSLA.NET framework.</p>
<p>What do you think?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=46&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/04/24/are-oslo-and-the-entity-framework-the-future-of-business-process-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Never Use Magic Strings for Property Names Ever Again</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/04/21/never-use-magic-strings-for-property-names-ever-again/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/04/21/never-use-magic-strings-for-property-names-ever-again/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 21:51:12 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=36</guid>
		<description><![CDATA[With .NET becoming more and more dynamic in several parts of the framework, the number of situations in which so-called &#8220;magic strings&#8221; must be used to access the property of a class or object has increased significantly. Typical examples are the INotifyPropertyChanged interface with its RaisePropertyChanged() method, several parts of ASP.NET MVC, and the Expand() [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=36&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With .NET becoming more and more dynamic in several parts of the framework, the number of situations in which so-called &#8220;magic strings&#8221; must be used to access the property of a class or object has increased significantly. Typical examples are the INotifyPropertyChanged interface with its RaisePropertyChanged() method, several parts of ASP.NET MVC, and the Expand() method of the LINQ / Entity Framework subsystem. Fortunately, there is a pretty simple way to avoid using magic strings if you&#8217;re willing to use the slightly more complex lambda expression syntax. Because you can download the source code right here, I will not go into details of the implementation (which is very simple if you know how to work with expression trees). What I want to show instead is a sample of how it works:</p>
<p>Instead of:<br />
string propertyName = &#8220;Property&#8221;;</p>
<p>You can now write:<br />
string propertyName = Prop.Name(() =&gt; obj.Property);<br />
(&#8220;obj&#8221; being the object whose property name &#8211; &#8220;Property&#8221; in this case &#8211; you want to retrieve)</p>
<p>Or by using the PropName() extension method:<br />
string propertyName = obj.PropName(() =&gt; obj.Property);</p>
<p>I&#8217;m currently researching a way to use .NET 4.0&#8242;s implementation of DynamicObject to simplify the syntax even further, and I&#8217;m planning to introduce a caching mechanism, but the current version of this very small library can already be used.</p>
<p>Download the <a href="http://www.box.net/shared/ix5jygcqx3" target="_blank">binary assembly</a>. Source code coming asap.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=36&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/04/21/never-use-magic-strings-for-property-names-ever-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Entity Framework 4.0 Is Finally Useful, But There Is Still Much Work To Do&#8230;</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/04/18/entity-framework-4-0-is-finally-useful/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/04/18/entity-framework-4-0-is-finally-useful/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 09:23:55 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=29</guid>
		<description><![CDATA[I&#8217;m currently preparing an internal training webcast around the recently released Entity Framework 4.0. While I already worked with EF in the past, I consider the first version more or less what most of Microsoft&#8217;s 1.0 releases are: A stable preview release with basic features but not really useful in real world scenarios (although I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=29&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently preparing an internal training webcast around the recently released <a href="http://msdn.microsoft.com/en-us/data/aa937723.aspx" target="_blank">Entity Framework 4.0</a>. While I already worked with EF in the past, I consider the first version more or less what most of Microsoft&#8217;s 1.0 releases are: A stable preview release with basic features but not really useful in real world scenarios (although I know about at least one successful enterprise project where EF 1.0 is part of the technology stack). Now with 4.0 (which is the second major release and was renamed as part of .NET 4.0), EF has finally started to deliver a reasonable set of features and presents itself as competition to other ORM implementations like <a href="http://community.jboss.org/wiki/NHibernateforNET" target="_blank">NHibernate</a>. Among those features is now the ability to model the corresponding CLR classes largely independently from the database while &#8220;connecting&#8221; both worlds using the Entity Data Model. It also allows lazy loading by just &#8220;touching&#8221; so-far uninitialized navigation properties, thereby delivering finally the number one feature why ORMs usually get selected in the first place.</p>
<p>While EF now delivers what its name suggests &#8211; a framework that makes working with data entities easier -  it still lacks many features other ORM pioneers can bring to the table. As some of you might know, I started to work with NHibernate about three years ago (having already some years experience with Hibernate in various Java Enterprise projects) and I have to say, I was always excited about the way, new enterprise features were brought into the framework. The ones I&#8217;m missing the most in EF4 are especially lifecycle callbacks, which would allow the interception of mechanisms like object creation (e.g. to utilize DI and AOP frameworks), pre-defined fetching strategies (e.g. to retrieve certain properties with eager loading by default), the ability to update a database that was generated from a model instead of dropping and re-creating it, and more guidance on how to use a the frameworks in certain scenarios, as it is available for NHibernate&#8217;s ISession, ISessionFactory and Configuration classes. There is also no native support for a pluggable 2nd level cache, inheritance support is weak compared to other ORM frameworks, it doesn&#8217;t support batching (for queries and updates) yet and the enterprise tooling (e.g. optimization tools, sql statement logging, performance diagnostics, etc.) is virtually non-existent. For more information regarding the ongoing discussion about EF4 and  NHibernate, make sure to read <a href="http://www.infoq.com/news/2010/01/Comparing-NHibernate-EF-4" target="_blank">this  post on InfoQ</a> (I especially recommend the comments section) and <a href="http://gregdoesit.com/2009/08/nhibernate-vs-entity-framework-a-performance-test/" target="_blank">this  performance test</a> by Gergely Orosz.</p>
<p>In the end, EF4 can now be considered a useful data access framework with a reasonable feature set and very good integration with .NET (and especially with LINQ, ADO.NET Data Services, and RIA Services) and VS2010. For Software Architects with experience in advanced engineering concepts (like DI, AOP, patterns &amp; best practices) and ORM fans, however, it is not yet able to compete successfully with other solutions, but that might come in the near future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=29&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/04/18/entity-framework-4-0-is-finally-useful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>What an Exciting Week&#8230;</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/04/17/what-an-exciting-week/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/04/17/what-an-exciting-week/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 07:12:56 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=25</guid>
		<description><![CDATA[After the .NET 4.0 / VS2010 Launch Event at Dev Connections, Microsoft has just released SharePoint 2010 to manufacturing. Enterprise customers will have the bits around April 27th and the official launch will be in the beginning of May. Futher building on my core competencies in the Web / RIA, SOA, Business Process Integration, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=25&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After the .NET 4.0 / VS2010 Launch Event at Dev Connections, Microsoft has just released SharePoint 2010 to manufacturing. Enterprise customers will have the bits around April 27th and the official launch will be in the beginning of May. Futher building on my core competencies in the Web / RIA, SOA, Business Process Integration, and Enterprise Content Management space, those technologies and platforms are already at the heart of my work and all the demos and proof of concepts we built over the last 12 months with the beta products can now be used to create new business value for our customers. I will post some walkthroughs in the near future, but this week my focus is going to be my upcoming webcast on the Entity Framework 4.0. Stay tuned for more&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=25&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/04/17/what-an-exciting-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Is Abandoning the ASP.NET Ajax Client Library in Favor of jQuery</title>
		<link>http://softwarearchitectblog.wordpress.com/2010/03/16/microsoft-is-abandoning-the-asp-net-ajax-client-library-in-favor-of-jquery/</link>
		<comments>http://softwarearchitectblog.wordpress.com/2010/03/16/microsoft-is-abandoning-the-asp-net-ajax-client-library-in-favor-of-jquery/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 21:56:46 +0000</pubDate>
		<dc:creator>Julius Ganns</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwarearchitectblog.wordpress.com/?p=20</guid>
		<description><![CDATA[As Stephen Walther just blogged, Microsoft will stop the development of its own client-side Ajax library and put its developer resources behind jQuery. From my point of view, this is a very unexpected and unprecedented, but nevertheless excellent decision. Stephen also recommends explicitly a shift to jQuery for developers targeting client-side development if they used [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=20&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As Stephen Walther just <a href="http://stephenwalther.com/blog/archive/2010/03/16/microsoft-jquery-and-templating.aspx" target="_blank">blogged</a>, Microsoft will stop the development of its own client-side Ajax library and put its developer resources behind jQuery. From my point of view, this is a very unexpected and unprecedented, but nevertheless excellent decision. Stephen also recommends explicitly a shift to jQuery for developers targeting client-side development if they used the ASP.NET Ajax Library (sometimes called the Microsoft Ajax Library) before.</p>
<p>I absolutely support that decision and I welcome the new spirit that found its way into the ASP.NET team since ASP.NET MVC was started. But it kind of makes me wonder what&#8217;s going to be next&#8230; exciting, isn&#8217;t it?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/softwarearchitectblog.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/softwarearchitectblog.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/softwarearchitectblog.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=softwarearchitectblog.wordpress.com&amp;blog=12023931&amp;post=20&amp;subd=softwarearchitectblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://softwarearchitectblog.wordpress.com/2010/03/16/microsoft-is-abandoning-the-asp-net-ajax-client-library-in-favor-of-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/2c737c47971e498d20efdddbdafc2b99?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">juliusganns</media:title>
		</media:content>
	</item>
	</channel>
</rss>
