<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>declared, visible, and open coupling</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx</link><description>Recently, I blogged that two coupled services should have declared, visible, and open coupling. I was promptly asked how. First off, when you have two services, why would they be coupled? Isn't the POINT that your services are decoupled? Sure. That's</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Trust has to be established.</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx#869904</link><pubDate>Tue, 24 Oct 2006 21:20:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:869904</guid><dc:creator>Donald Evans</dc:creator><description>&lt;p&gt;&amp;lt;i&amp;gt;Perhaps it will only accept calls that have an ID if the call comes from a known composite service or from a known IP address? &amp;nbsp;Perhaps digital signatures are required?&amp;lt;/i&amp;gt;&lt;/p&gt;
&lt;p&gt;I have a tangential question, on the topic of trust, that is prodded by recent projects and my questioning of the tradeoffs I have made in the design and implementation to balance deadlines, functionality, security, and expectations of imminent reuse:&lt;/p&gt;
&lt;p&gt;Is there a defined standard -- ideally, a framework and API, or perhaps a documented design pattern -- for establishing trust at the level of calling a method on a public interface, or at the level of obtaining a reference to a public interface?&lt;/p&gt;
&lt;p&gt;You've suggested an IP address lookup as well as digital signatures to establish trust. The .NET framework seems to require a (partial) public key to be registered with a .NET-specific security policy before interface calls are permitted. I've used cryptographic hashing to authenticate credentials sent into the public interface before I trust the caller.&lt;/p&gt;
&lt;p&gt;Why the proliferation of approaches, particularly if the ultimate design goal is to reuse mature services that are already best implemented? For example: your suggestion of using digital signatures -- via the certificate APIs in the cryptography framework -- seems like the best implementation.&lt;/p&gt;</description></item><item><title>re: declared, visible, and open coupling</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx#870572</link><pubDate>Wed, 25 Oct 2006 01:47:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:870572</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Good question. &amp;nbsp;Why many mechanisms? &amp;nbsp;I think because there are assumptions in each mechanism about the environment in which the mechanism would be the most appropriate. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;By 'environment,' I include both the technical infrastructure used to manage authorization as well as the business climate and culture with respect to the control (and potentially the financing) of shared services.&lt;/p&gt;
&lt;p&gt;An old saw that gets bantered around is &amp;quot;software reflects the organization that builds it.&amp;quot; &amp;nbsp;I think the same applies to the standards used by our services infrastructure. &amp;nbsp;There are different approaches and different standards because there are different organizations.&lt;/p&gt;
&lt;p&gt;Is there one right answer? &amp;nbsp;Darned if I know.&lt;/p&gt;
&lt;p&gt;Digital signatures are particularly appealing to me.&lt;/p&gt;
&lt;p&gt;As far as &amp;quot;is there a defined standard,&amp;quot; to be fair, I don't know how to answer that. &amp;nbsp;There are some standards about providing credentials. &amp;nbsp;However, the WS standards all assume that the service itself will step through some additional work to decide of the credentials of the user match the called function. &amp;nbsp;That work isn't &amp;quot;out of the box&amp;quot; as far as I know.&lt;/p&gt;
</description></item><item><title>re: declared, visible, and open coupling</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx#877505</link><pubDate>Fri, 27 Oct 2006 01:54:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:877505</guid><dc:creator>Udi Dahan -The Software Simplist</dc:creator><description>&lt;p&gt;Always a pleasure, Nick Malik's Inside Architecture blog hits another one out of the park. &amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx&amp;quot;&amp;gt;Declare"&gt;http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx&amp;quot;&amp;gt;Declare&lt;/a&gt;, Visible, and Open Coupling&amp;lt;/a&amp;gt; gives me exactly the kind of meaty examples I like to sink my teeth into. The fact that I disagree with Nick's solution makes this even more interesting, since I usually do a lot of head-nodding when I read his stuff.&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://udidahan.weblogs.us/archives/037010.html&amp;quot;&amp;gt;Continued"&gt;http://udidahan.weblogs.us/archives/037010.html&amp;quot;&amp;gt;Continued&lt;/a&gt; here&amp;lt;/a&amp;gt;&lt;/p&gt;</description></item><item><title>Alas, We must differ...</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx#878758</link><pubDate>Fri, 27 Oct 2006 13:09:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:878758</guid><dc:creator>Inside Architecture </dc:creator><description>&lt;p&gt;Udi Dahan posted an interesting reply to a recent posting of mine . In my post, I go into detail to present&lt;/p&gt;
</description></item><item><title>New and Notable 117</title><link>http://blogs.msdn.com/nickmalik/archive/2006/10/22/declared-visible-and-open-coupling.aspx#5114134</link><pubDate>Tue, 25 Sep 2007 10:06:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5114134</guid><dc:creator>Sam Gentile</dc:creator><description>&lt;p&gt;I am still reeling from seeing the Red Hot Chili Peppers with Mars Volta 2 nights ago in Philly at the&lt;/p&gt;</description></item></channel></rss>