<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">
  <channel>
    <title>iServiceOriented.com - Practical Service Oriented Architecture</title>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/iserviceoriented" type="application/rss+xml" /><item>
      <title>Building Our Own ESB - Publish Subscribe Part 5</title>
      <link>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+5.aspx</link>
      <description>The dust is settling now after a crazy month, so here we go with Part 5 of the ESB series. There is a lot of excitement building around this project. Keep in mind that the repository on GitHub will always contain the latest code if you want to keep up to date with the latest progress...Our original plan called for RuntimeServices to be able to customize the behavior of our bus. Today, let's look at how we can use RuntimeServices to add functionality to the bus.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=gOOPjHK-xKI:DcGUk3NwKhg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=gOOPjHK-xKI:DcGUk3NwKhg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=gOOPjHK-xKI:DcGUk3NwKhg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/gOOPjHK-xKI" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+5.aspx</guid>
      <pubDate>Thu, 09 Oct 2008 14:48:37 GMT</pubDate>
    </item>
    <item>
      <title>Configuring Performance Options - WCF Gotcha 3</title>
      <link>http://www.iserviceoriented.com/blog/post/Configuring+Performance+Options+-+WCF+Gotcha+3.aspx</link>
      <description>WCF does not perform well out of the box. If you want your WCF services to really perform, you are going to have to configure them properly. It is not that hard to do, but things can get messy if you don't know what you are doing...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=qPXcrjBogTY:UMBr9_lYcY4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=qPXcrjBogTY:UMBr9_lYcY4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=qPXcrjBogTY:UMBr9_lYcY4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/qPXcrjBogTY" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Configuring+Performance+Options+-+WCF+Gotcha+3.aspx</guid>
      <pubDate>Tue, 09 Sep 2008 10:39:19 GMT</pubDate>
    </item>
    <item>
      <title>Building Our Own ESB - Publish Subscribe Part 4</title>
      <link>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+4.aspx</link>
      <description>It's been a few weeks since the last part of the ESB series, but we can't build an decent ESB overnight now can we? We left off with a draft of the basic framework... Now, let's pick up where we left off...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=epfYIrnu9ZA:6GHAeBFTK2U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=epfYIrnu9ZA:6GHAeBFTK2U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=epfYIrnu9ZA:6GHAeBFTK2U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/epfYIrnu9ZA" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+4.aspx</guid>
      <pubDate>Mon, 01 Sep 2008 16:35:33 GMT</pubDate>
    </item>
    <item>
      <title>Building Our Own ESB - Publish Subscribe Part 3</title>
      <link>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+3.aspx</link>
      <description>We've already talked at a high level, so we'll dive straight into the core code now. Feel free to ask questions if you have them, since I'm going to let the code do most of the talking today...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=7t1azU4FYEQ:sz1XkkxVzE8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=7t1azU4FYEQ:sz1XkkxVzE8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=7t1azU4FYEQ:sz1XkkxVzE8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/7t1azU4FYEQ" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+3.aspx</guid>
      <pubDate>Fri, 25 Jul 2008 01:12:14 GMT</pubDate>
    </item>
    <item>
      <title>Building Our Own ESB - Publish Subscribe Part 2</title>
      <link>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+2.aspx</link>
      <description>Before we dig into the code, let's talk at a high level about the various parts of our system...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=UVCi1v8NKGU:UUpVY3vOhOQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=UVCi1v8NKGU:UUpVY3vOhOQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=UVCi1v8NKGU:UUpVY3vOhOQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/UVCi1v8NKGU" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+2.aspx</guid>
      <pubDate>Wed, 23 Jul 2008 08:38:49 GMT</pubDate>
    </item>
    <item>
      <title>Building Our Own ESB - Publish Subscribe Part 1</title>
      <link>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+1.aspx</link>
      <description>If you only have a few services, an ESB (Enterprise Service Bus) might be overkill. That said, as the number of services you have deployed grow, an ESB will look more and more appealing. One of the main functions of an ESB is to give your services a central place to connect. If you only have a handful of services, manually updating each of their configurations each time a service location changes can be quite time consuming and error prone. When you have hundreds of services, that really isn't an option. An ESB supports your services, handling the grunt work for you so that you can focus on more important things. One of the best ways to understand a complex system is to take it apart, piece by piece and rebuilt it. That's exactly what we are going to do...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=fglprKFrrfk:9FfseYkHRiY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=fglprKFrrfk:9FfseYkHRiY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=fglprKFrrfk:9FfseYkHRiY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/fglprKFrrfk" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Building+Our+Own+ESB+-+Publish+Subscribe+Part+1.aspx</guid>
      <pubDate>Mon, 21 Jul 2008 08:32:18 GMT</pubDate>
    </item>
    <item>
      <title>Delegation - WCF Gotcha 2</title>
      <link>http://www.iserviceoriented.com/blog/post/Delegation+-+WCF+Gotcha+2.aspx</link>
      <description>If you've done a little web development or written a few
basic web services, you are probably familiar with the concept of
impersonation. When impersonation is turned on, .NET will make certain API
calls return the identity of the caller, instead of the account that the service
is actually running as (for example, DOMAIN\SmithJ instead of MACHINE\Network
Service). Impersonation, however, is mostly sugar coating. The web service doesn't
actually execute as if it was that user, it just makes your application think
that it is. When you connect to a database server on a remote machine or read a
file from a file share, you perform those operations as the service account.

The advantage of this approach is that security is easy to
configure. You don't have to worry about granting tons of permissions on your
servers. You simply trust the service to make the proper security checks on its
own and give the service all the permissions it might need... but that ease of
configuration comes at a cost. If you have a single account that the web
service is executing under, which tends to be happen, that account ends up with
permission to do everything. But what if the developers working on the web
service forget to put in a security check? These god mode services often open
up huge security holes...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=rzi0qF83HMs:4hSxTZwb04E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=rzi0qF83HMs:4hSxTZwb04E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=rzi0qF83HMs:4hSxTZwb04E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/rzi0qF83HMs" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Delegation+-+WCF+Gotcha+2.aspx</guid>
      <pubDate>Tue, 15 Jul 2008 21:47:01 GMT</pubDate>
    </item>
    <item>
      <title>Events Are Your Friend</title>
      <link>http://www.iserviceoriented.com/blog/post/Events+Are+Your+Friend.aspx</link>
      <description>Imagine trying to build a desktop application without events. How would you make a button click do what you want? One way would be to open the Button source code and add the code directly.  That has approach has obvious problems, not the least of which is that the behavior of the button click will vary from button to button...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=5jCc308fD3g:3BtQM9YcOSU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=5jCc308fD3g:3BtQM9YcOSU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=5jCc308fD3g:3BtQM9YcOSU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/5jCc308fD3g" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Events+Are+Your+Friend.aspx</guid>
      <pubDate>Fri, 11 Jul 2008 15:18:54 GMT</pubDate>
    </item>
    <item>
      <title>The Myth of Reusability</title>
      <link>http://www.iserviceoriented.com/blog/post/The+Myth+of+Reusability.aspx</link>
      <description>...It is at this point that you realize that all these systems didn't really get their extra functionality for free. The base car object now has 50 or so various properties on it, and you really don't know which ones the inventory system actually uses. You may be 90% sure about half of them--but you sure as hell wouldn't bet your paycheck on it. You didn't build the CRM system or the EDI interfaces, you had moved to management by then. To make matters worse, half the guys you worked with to build the inventory system are off doing other things now. Of course, even if you could narrow down which properties the inventory system was using, it wouldn't really matter. All of the other applications depend on the inventory system. They share the database. They share the classes. They share the tests. You can't possibility rewrite the inventory system without rewriting everything else. Oh... Shit...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=2TEPfN8KdG0:WKB4-XpgTbk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=2TEPfN8KdG0:WKB4-XpgTbk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=2TEPfN8KdG0:WKB4-XpgTbk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/2TEPfN8KdG0" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/The+Myth+of+Reusability.aspx</guid>
      <pubDate>Sun, 06 Jul 2008 14:13:29 GMT</pubDate>
    </item>
    <item>
      <title>Indisposable - WCF Gotcha 1</title>
      <link>http://www.iserviceoriented.com/blog/post/Indisposable+-+WCF+Gotcha+1.aspx</link>
      <description>...When you have the code behind the service ready to go, you deploy it to the server of your choice and are ready to call the service. At this point, you will most likely do one of two things to consume the service: Create a ChannelFactory 
and reuse your interface, or use the "Add Service Reference..." option inside Visual Studio. Either way you go, you will almost certainly get the next part wrong... even if you know your shit when it comes to the rest of the .NET 
framework...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=y-p1R7IlwbA:EZ1doxQZoXk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=y-p1R7IlwbA:EZ1doxQZoXk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=y-p1R7IlwbA:EZ1doxQZoXk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/y-p1R7IlwbA" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Indisposable+-+WCF+Gotcha+1.aspx</guid>
      <pubDate>Wed, 02 Jul 2008 22:37:19 GMT</pubDate>
    </item>
    <item>
      <title>Introduction to Service Oriented Architecture</title>
      <link>http://www.iserviceoriented.com/blog/post/Introduction+to+Service+Oriented+Architecture.aspx</link>
      <description>At a basic level,  a service oriented architecture allows you to take code and place it on another machine. Actually, I just made a gross oversimplification. Service oriented architecture helps you do this, but the key is that it reduces the chance of everything blowing up in your face...&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=BGB7hMUoYig:YrfhkbHM_zM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/iserviceoriented?a=BGB7hMUoYig:YrfhkbHM_zM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/iserviceoriented?i=BGB7hMUoYig:YrfhkbHM_zM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/iserviceoriented/~4/BGB7hMUoYig" height="1" width="1"/&gt;</description>
      <guid>http://www.iserviceoriented.com/blog/post/Introduction+to+Service+Oriented+Architecture.aspx</guid>
      <pubDate>Sat, 17 May 2008 19:30:19 GMT</pubDate>
    </item>
  </channel>
</rss>
