<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Direct DevBlog &#187; WCF</title>
	<atom:link href="http://www.directsystems.com/devblog/tag/wcf/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.directsystems.com/devblog</link>
	<description>Cracking the code!</description>
	<lastBuildDate>Tue, 01 Sep 2009 02:00:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Your Weakness Could Be Your Biggest Asset</title>
		<link>http://www.directsystems.com/devblog/2009/08/31/your-weakness-could-be-your-biggest-asset/</link>
		<comments>http://www.directsystems.com/devblog/2009/08/31/your-weakness-could-be-your-biggest-asset/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 01:45:46 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[New Technology]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[PNRP]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.directsystems.com/devblog/?p=50</guid>
		<description><![CDATA[I work alone, from a developer&#8217;s perspective, so I don&#8217;t really know how other programmers embrace new technology. In the past, I would have to scour Google looking for bits and pieces of information and scroll through pages of ads to get an &#8220;expert&#8221; opinion. Now a days,  I can use the company credit [...]]]></description>
			<content:encoded><![CDATA[<p>I work alone, from a developer&#8217;s perspective, so I don&#8217;t really know how other programmers embrace new technology. In the past, I would have to scour Google looking for bits and pieces of information and scroll through pages of ads to get an &#8220;expert&#8221; opinion. Now a days,  I can use the company credit card (Thanks Howard!) to check out the technical books on Amazon.com and grab a hard copy of the highest rated and a few digital copies of anything else that piqued my interest.   I still use the web to find code samples and such, but not as much to understand the concepts and strengths of the technology. Instead I  use it to find it&#8217;s WEAKNESSES.  What are the coders asking about? What are the consultants grumbling about?</p>
<p>Since my job description was to bring Direct&#8217;s software into the fast lane of innovation, we moved closer to becoming a Microsoft shop.  There were some grumbles around the office, but IMHO, Microsoft has ALWAYS provided the best design environment (Visual Studio) mixed with plenty of online documentation (MSDN) and  examples (CodePlex).   My predecessor had signed us up for the Microsoft Action Pack  (Microsoft Partners Program) which gave us in-house licenses of nearly every one of their products from Office to Servers.  It only came with 5 licenses of Vista Business and no Windows 7, so we couldn&#8217;t test in every environment.   Luckily, our Action Pack subscription was up and we decided to go with the Empower for ISV (Microsoft Partners Program) which is designed for either new businesses or existing businesses who have decided to design their products for Microsoft platforms.  I had to jump through a few hoops to complete enrollment (curse you website requirements!) but it all paid off because an added bonus was 40 hours of support/consultation with MS experts and 5 seats of Visual Studio 2008 Professional AND VS 2010 Beta w/ .NET 4.0.</p>
<p>Microsoft&#8217;s .NET technologies first came out right as I was graduating but didn&#8217;t catch my eye at that point.  My last shop was using Visual Basic 6.0 with &#8220;plans&#8221; of moving over to VB.NET.    Upon arrival at Direct Systems, I had free reign  to follow my hearts desire as far as strategies and tools for our system migration.  My vision was to have a fully connected system that was network aware, centrally  maintained and able to track the presence of users and services available.  With Windows Communication Foundation (WCF), formerly Indigo, included in all .NET versions since 2.0, I was provided with a structural framework that seemed to fit my needs.</p>
<p>I knew nothing of networking and web services before I started developing with WCF.  I had some good resources, but it was like boot camp trying to wrap my head around some of the different concepts.  The hardest part was deciding on one of the various implementations to be the FRAMEWORK of my new system.  TCP or HTTP or NamedPipes or MSMQ or P2P.  Luckily with WCF it&#8217;s easy to implement all of them side by side, but I needed one to be the core.</p>
<p>I had been leaning towards Peer2Peer due to it&#8217;s self governing mesh topology and inherent multi-casting.   The main drawback SEEMED to be decentralization.  I wanted to be able to not only monitor but centrally dispatch data and messages to the peers on the mesh.  I decided to move forward and start implementing P2P.  In the process I developed a Logger monitor app and a CentralService service application that maintains the system from the server.</p>
<p>I ran into a stumbling block when I tried to establish a P2P connection from our development Windows Server 2003.  At first I thought it might be firewall settings, but it wasn&#8217;t.  Turns out the problem lies in the way the mesh governs itself.  The technology is call Peer Name Resolution Protocol (PNRP) and comes in XP, Vista and Server 2008 under Advanced Networking.  Unfortunately, it didn&#8217;t come included in Windows Server 2003!  Microsoft has added the ability to circumvent this and create your own custom resolver that you can self host in a 2003 environment.  This seemed like  a headache having to write custom code that an update could have patched.  After some discussion with Bob, I started to implement the custom resolver and had a moment of clarity!  I could just host the resolver inside the CentralService.  The act of looking for the custom resolver was a way for the peer node to make contact with my service and start sharing information.</p>
<p>So in the end, what seemed like a weakness was actually my biggest asset!</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=Your+Weakness+Could+Be+Your+Biggest+Asset+http://qhx5s.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.directsystems.com/devblog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://www.facebook.com/share.php?u=http://www.directsystems.com/devblog/2009/08/31/your-weakness-could-be-your-biggest-asset/&amp;t=Your+Weakness+Could+Be+Your+Biggest+Asset" title="Post to Facebook"><img class="nothumb" src="http://www.directsystems.com/devblog/wp-content/plugins/tweet-this/icons/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" class="tt" href="http://www.facebook.com/share.php?u=http://www.directsystems.com/devblog/2009/08/31/your-weakness-could-be-your-biggest-asset/&amp;t=Your+Weakness+Could+Be+Your+Biggest+Asset" title="Post to Facebook">Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.directsystems.com/devblog/2009/08/31/your-weakness-could-be-your-biggest-asset/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>P2P and Everywhere!</title>
		<link>http://www.directsystems.com/devblog/2009/08/14/p2p-and-everywhere/</link>
		<comments>http://www.directsystems.com/devblog/2009/08/14/p2p-and-everywhere/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 19:34:48 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Central Service]]></category>
		<category><![CDATA[Loading Dock]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://www.directsystems.com/devblog/?p=42</guid>
		<description><![CDATA[Both the Loading Dock and Central Service are built on Microsoft .NET framework, specifically Windows Communication Foundation.  The applications will utilize Peer-to-Peer (P2P) technology  to perform functions such as authentication, tracing, administration and load balancing.  Unlike traditional pure (de-centralized) networks commonly associated with P2P (file sharing for example), we are implementing a hybrid mesh, with [...]]]></description>
			<content:encoded><![CDATA[<p>Both the Loading Dock and Central Service are built on Microsoft .NET framework, specifically Windows Communication Foundation.  The applications will utilize Peer-to-Peer (P2P) technology  to perform functions such as authentication, tracing, administration and load balancing.  Unlike traditional pure (de-centralized) networks commonly associated with P2P (file sharing for example), we are implementing a hybrid mesh, with the Central Service logging and responding to requests from peer applications.</p>
<p align="left"><a target="_blank" class="tt" href="http://twitter.com/home/?status=P2P+and+Everywhere%21+http://6roik.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.directsystems.com/devblog/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://www.facebook.com/share.php?u=http://www.directsystems.com/devblog/2009/08/14/p2p-and-everywhere/&amp;t=P2P+and+Everywhere%21" title="Post to Facebook"><img class="nothumb" src="http://www.directsystems.com/devblog/wp-content/plugins/tweet-this/icons/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" class="tt" href="http://www.facebook.com/share.php?u=http://www.directsystems.com/devblog/2009/08/14/p2p-and-everywhere/&amp;t=P2P+and+Everywhere%21" title="Post to Facebook">Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.directsystems.com/devblog/2009/08/14/p2p-and-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
