<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Agatha Vs NServiceBus?</title>
	<atom:link href="http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 29 Jul 2010 21:01:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26548</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Fri, 29 Jan 2010 13:05:29 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26548</guid>
		<description>according to some definitions, yes

but if a client can expect a response to its request to a service, i&#039;d consider that request/response whether or not the call was made synchronously or asynchronously

in silverlight, you can&#039;t make synchronous service calls for instance... yet most people are definitely using request/response style communication in those projects</description>
		<content:encoded><![CDATA[<p>according to some definitions, yes</p>
<p>but if a client can expect a response to its request to a service, i&#8217;d consider that request/response whether or not the call was made synchronously or asynchronously</p>
<p>in silverlight, you can&#8217;t make synchronous service calls for instance&#8230; yet most people are definitely using request/response style communication in those projects</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karsten</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26547</link>
		<dc:creator>Karsten</dc:creator>
		<pubDate>Fri, 29 Jan 2010 13:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26547</guid>
		<description>&gt;It basically supports synchronous and asynchronous Request/Response style communication

Is req/response not always synchronous?</description>
		<content:encoded><![CDATA[<p>&gt;It basically supports synchronous and asynchronous Request/Response style communication</p>
<p>Is req/response not always synchronous?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26355</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Wed, 27 Jan 2010 10:22:27 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26355</guid>
		<description>@Steve

maybe we should take this discussion to the agatha discussion group :)</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>maybe we should take this discussion to the agatha discussion group <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Degosserie</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26354</link>
		<dc:creator>Steve Degosserie</dc:creator>
		<pubDate>Wed, 27 Jan 2010 10:21:25 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26354</guid>
		<description>Question is ... should Agatha stick to the DataContractSerializer if you know you have Agatha at client &amp; server-side ? You might well use a custom serializer derived from the NDCS, that would allow you to go past the limitations of the standard DCS.</description>
		<content:encoded><![CDATA[<p>Question is &#8230; should Agatha stick to the DataContractSerializer if you know you have Agatha at client &amp; server-side ? You might well use a custom serializer derived from the NDCS, that would allow you to go past the limitations of the standard DCS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26349</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Wed, 27 Jan 2010 09:11:27 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26349</guid>
		<description>@Steve

it&#039;s interesting, but i&#039;m not sure if it would be possible... in order to send the generated serializable class through the DataContractSerializer, it has to be added as a KnownType both client-side and server-side... if the request type is generated at runtime, it&#039;s gonna be pretty tricky to get it accross the wire properly</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>it&#8217;s interesting, but i&#8217;m not sure if it would be possible&#8230; in order to send the generated serializable class through the DataContractSerializer, it has to be added as a KnownType both client-side and server-side&#8230; if the request type is generated at runtime, it&#8217;s gonna be pretty tricky to get it accross the wire properly</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Degosserie</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26348</link>
		<dc:creator>Steve Degosserie</dc:creator>
		<pubDate>Wed, 27 Jan 2010 09:03:28 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26348</guid>
		<description>Being able to define messages as simple interfaces e.g. :

public interface MyCommand
{
   int SomeId { get; set; }
   string SomeString { get; set; }
}

Then, when sending a message:

IAsyncRequestDispatcher dispatcher;
dispatcher.Add(msg =&gt; {
  msg.SomeId = 1;
  msg.SomeString = &quot;TestMessage&quot;;
});

In this case, the dispatcher would recognize the fact that the message type is an interface, generates a simple (serializable) class implementing this interface, call the constructor Action that was passed as argument and then send the message ...
=&gt; Check the IMessageCreator interface in NSB ;-)

This feature is really useful for versionning of message contracts as well as for enforcing the fact that there shouldn&#039;t be any funky logic / code in message types.</description>
		<content:encoded><![CDATA[<p>Being able to define messages as simple interfaces e.g. :</p>
<p>public interface MyCommand<br />
{<br />
   int SomeId { get; set; }<br />
   string SomeString { get; set; }<br />
}</p>
<p>Then, when sending a message:</p>
<p>IAsyncRequestDispatcher dispatcher;<br />
dispatcher.Add(msg =&gt; {<br />
  msg.SomeId = 1;<br />
  msg.SomeString = &#8220;TestMessage&#8221;;<br />
});</p>
<p>In this case, the dispatcher would recognize the fact that the message type is an interface, generates a simple (serializable) class implementing this interface, call the constructor Action that was passed as argument and then send the message &#8230;<br />
=&gt; Check the IMessageCreator interface in NSB <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>This feature is really useful for versionning of message contracts as well as for enforcing the fact that there shouldn&#8217;t be any funky logic / code in message types.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26342</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Wed, 27 Jan 2010 07:41:58 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26342</guid>
		<description>@Steve

could you be a bit more specific about what exactly it is you want?</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>could you be a bit more specific about what exactly it is you want?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Degosserie</title>
		<link>http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/comment-page-1/#comment-26306</link>
		<dc:creator>Steve Degosserie</dc:creator>
		<pubDate>Tue, 26 Jan 2010 22:45:23 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/#comment-26306</guid>
		<description>Nice post Davy, agree with everything you said. Indeed, it makes total sense to use Agatha as Service Layer in front of your backend that is using NSB. Obviously, NSB is not just useful for inter-application communication, but also in intra-application communication (cfr CQRS à la Udi, or à la G. Young for more advanced needs). Now, here is a feature request for vNext of Agatha :
Add support for interface-based messages like NSB supports it, so that, in a CQRS architecture, assemblies containing command &amp; query messages can be shared all the way down from the UI to the Backend ;) (and that would be the adult version of RIA Services lol).</description>
		<content:encoded><![CDATA[<p>Nice post Davy, agree with everything you said. Indeed, it makes total sense to use Agatha as Service Layer in front of your backend that is using NSB. Obviously, NSB is not just useful for inter-application communication, but also in intra-application communication (cfr CQRS à la Udi, or à la G. Young for more advanced needs). Now, here is a feature request for vNext of Agatha :<br />
Add support for interface-based messages like NSB supports it, so that, in a CQRS architecture, assemblies containing command &amp; query messages can be shared all the way down from the UI to the Backend <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  (and that would be the adult version of RIA Services lol).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
