<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/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>Message for you, sir! - All Comments</title><link>http://www.pluralsight.com/community/blogs/johncj/default.aspx</link><description>The Holy Grail of Computing?</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Can your name be a trademark? : South Florida Artist Entrepreneurs</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2005/09/11/14758.aspx#52532</link><pubDate>Mon, 18 Aug 2008 13:44:25 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:52532</guid><dc:creator>Can your name be a trademark? : South Florida Artist Entrepreneurs</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Can your name be a trademark? : South Florida Artist Entrepreneurs&lt;/p&gt;
&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=52532" width="1" height="1"&gt;</description></item><item><title>re: 10 Things I Hate About Indigo</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2005/08/14/14100.aspx#49258</link><pubDate>Wed, 21 Nov 2007 14:30:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:49258</guid><dc:creator>Alex G</dc:creator><description>WCF rules my world.&lt;br&gt;&lt;br&gt;I understand your statement about the domain model infection. Still, ask yourself if your domain entities should really double as datacontracts.&lt;br&gt;&lt;br&gt;Certainly not for a rich domain model, because entities would need to fulfill both the data and operations contracts. As for an anemic domain model, what do you make of aggregates and lazy loading - those are operations hidden behind properties. And certainly you aren't planning on exposing repositories as operation contracts, that would be extremely silly.&lt;br&gt;&lt;br&gt;So my answer to you is, leave your domain model intact, keep it in its own assembly. Your data and operations contracts should reside within the Application layer, not the domain layer, the same way your UI should not be directly coupled with your domain layer.&lt;br&gt;&lt;br&gt;You may also prefer to step-up the architecture to 5 layers and have a service layer between your domain and application layers. In this case the client side has Interface and Application layers, then a big bold separation (in reality, the network sits here), then the server side has Service and Domain layers. Both client and server also have an Infrastructure layer - the infamous boilerplate.&lt;br&gt;&lt;br&gt;What Eric Evans and Martin Fowler write are not meant as gospel, just inspiration. Adapt so you can leverage technology.&lt;br&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=49258" width="1" height="1"&gt;</description></item><item><title>:)</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/03/18/20243.aspx#48959</link><pubDate>Wed, 07 Nov 2007 06:27:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:48959</guid><dc:creator>Prince Mathew</dc:creator><description>Very nice one....thank you..&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=48959" width="1" height="1"&gt;</description></item><item><title>re: Majoring on the Minors</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2005/08/04/13855.aspx#32055</link><pubDate>Mon, 17 Jul 2006 06:39:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:32055</guid><dc:creator>ros</dc:creator><description>how to obtain a singleton architecture, without using .NET Remoting&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=32055" width="1" height="1"&gt;</description></item><item><title>re: [DataContract], the Holy Roman Empire of Distributed Computing</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2005/06/04/9742.aspx#28728</link><pubDate>Wed, 21 Jun 2006 11:07:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:28728</guid><dc:creator>Cordell Lawrence</dc:creator><description>Just a few thoughts&lt;br&gt;&lt;br&gt;&amp;lt;quote&amp;gt;&lt;br&gt;A contract is &amp;quot;an agreement between two or more parties.&amp;quot;  In most discussions of services, the term contract is used in an entirely inappropriate fashion. Because the consuming side of the &amp;quot;contract&amp;quot; is unknown at the time the &amp;quot;contract&amp;quot; is published, we should hardly be calling this thing a contract.&lt;br&gt;&amp;lt;/quote&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I agree that the word ‘contract’ can lead to some semantic conflict there, ‘Terms of Use’ seem to be a better suited phrase i.e. The service publicly states, “I’m am a service, these are my operations, this is the data and the format that I will accept. I can only understand your intent if you send me a message with the following operation with the respective data in the format described …” etc. However disagree that it is entirely inappropriate. Not all contracts are drafted with explicit knowledge of universe of entities/persons that will agree to/sign said contract. Some “None Disclosure Agreement” contracts leave no room for discussion, either you accept the terms of us working together specified by the contract or you don’t, while others can be negotiated/customized. I think the use of the word contract here is describes these ‘generic’ contracts type, those that employees sign when joining an organization that aren’t re-written for every individual joining the company.&lt;br&gt;&lt;br&gt;&amp;lt;quote&amp;gt;&lt;br&gt;Rather than a system that, like both Indigo and ASMX, completely hides the transformation between the messages and our internal processing model, we need a system that surfaces that transformation to the developer. The transformation between the external messages and internal processing is a key part of the business logic of any service. Having to control that transformation indirectly through attributes is slow, frustrating, and error-prone.&lt;br&gt;&amp;lt;/quote&amp;gt;&lt;br&gt;&lt;br&gt;Interesting, I would like to find out more about why you think this. I rather like the whole ‘Services are atomic’ notion and don’t really care about the other guys internal representation of the message. &lt;br&gt;&lt;br&gt;For the most part I agree with the rest of the post :) In systems oriented around message exchange developers should have access to the message as a first class citizens and not some entity of another type system that I hope gets rendered as my message after some processing. That said though, I think they've done a pretty good job which covers most of the simpler service contract requirements. I hope better tools are coming soon though and smarter code generators so that I can design and view my messages as XML (if this continues to be the service lingua franca) and be confident when manipulating my internal object representation that it will be rendered to my message correctlyon the wire.&lt;br&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=28728" width="1" height="1"&gt;</description></item><item><title>Consideration after building a distributed application</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/19/18137.aspx#25478</link><pubDate>Sat, 27 May 2006 05:46:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:25478</guid><dc:creator>Document Security</dc:creator><description>Distributed application is great when you are creating software for more than one user and they will use it at different location. OODA is nice flowcharting showing the flow of data. Security is major concern in distributed application.  &lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=25478" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Why Practice Matters</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/03/18/20243.aspx#24208</link><pubDate>Thu, 18 May 2006 10:31:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:24208</guid><dc:creator>jPrasaad</dc:creator><description>Interesting article. Awaiting for your article on Communications API.&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=24208" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Preface</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/12/17978.aspx#23518</link><pubDate>Sun, 14 May 2006 22:40:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:23518</guid><dc:creator>steve</dc:creator><description>Sounds interesting...will be following&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=23518" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Preface</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/12/17978.aspx#22115</link><pubDate>Wed, 19 Apr 2006 19:46:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:22115</guid><dc:creator>somayeh</dc:creator><description>hello pleaze tell me what is distirbuted application and how can i build distributed application&lt;br&gt;thanks &lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=22115" width="1" height="1"&gt;</description></item><item><title>re: Helping Don spend $100</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/03/18/20244.aspx#20385</link><pubDate>Tue, 21 Mar 2006 02:08:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:20385</guid><dc:creator>John Williams</dc:creator><description>Thought you were using C#? You're back to VB are you? I wonder how many others who went to C# switch back?&lt;br&gt;&lt;br&gt;4. $129 for Visual Assist X; to make typing C# as easy, if not easier, than VB. ;-)&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=20385" width="1" height="1"&gt;</description></item><item><title>Interesting Finds</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/03/18/20243.aspx#20255</link><pubDate>Sun, 19 Mar 2006 11:01:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:20255</guid><dc:creator>Jason Haley</dc:creator><description>&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=20255" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Introduction</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/19/18137.aspx#18327</link><pubDate>Sat, 28 Jan 2006 22:19:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18327</guid><dc:creator>Ali Pasha</dc:creator><description>I agree with Rob. Before you go into the OODA description, can you please describe what other frameworks you considered and why you found them lacking? &lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=18327" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Introduction</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/19/18137.aspx#18140</link><pubDate>Thu, 19 Jan 2006 21:54:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18140</guid><dc:creator>Rob</dc:creator><description>John&lt;br&gt;&lt;br&gt;My 2c.&lt;br&gt;I'm pretty happy with the OODA description and don't feel that more examples will add much.&lt;br&gt;As far as frameworks go, I think that they are a bit like opinions - everybody has one.&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=18140" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Introduction</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/19/18137.aspx#18139</link><pubDate>Thu, 19 Jan 2006 21:49:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18139</guid><dc:creator>John CJ</dc:creator><description>I've fixed it now. Let me know if it still doesn't work.&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=18139" width="1" height="1"&gt;</description></item><item><title>re: How to build a distributed application: Introduction</title><link>http://www.pluralsight.com/community/blogs/johncj/archive/2006/01/19/18137.aspx#18138</link><pubDate>Thu, 19 Jan 2006 21:46:00 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:18138</guid><dc:creator>Rob</dc:creator><description>Can't see the image John.&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=18138" width="1" height="1"&gt;</description></item></channel></rss>