<?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>Udi Dahan - The Software Simplist &#187; BizTalk</title>
	<atom:link href="http://www.udidahan.com/category/biztalk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Sat, 24 Jul 2010 20:06:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BizTalk Blogs and UdiDahan.com, strange bedfellows?</title>
		<link>http://www.udidahan.com/2007/12/19/biztalk-blogs-and-udidahancom-strange-bedfellows/</link>
		<comments>http://www.udidahan.com/2007/12/19/biztalk-blogs-and-udidahancom-strange-bedfellows/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 21:04:57 +0000</pubDate>
		<dc:creator>udidahan</dc:creator>
				<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Scalability]]></category>

		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/19/biztalk-blogs-and-udidahancom-strange-bedfellows/</guid>
		<description><![CDATA[So, it turns out that Microsoft has quietly launched a new community-style site.
Titled &#34;BizTalk Blogs&#34;, I wasn&#8217;t quite sure what my blog was doing there. It&#8217;s not that I never write about BizTalk &#8211; every once in a while I even find something nice to say about it   My quick post on BizTalk [...]]]></description>
			<content:encoded><![CDATA[<p>So, it turns out that Microsoft has quietly launched a new community-style site.<a href="http://www.biztalkblogs.com/"><img style="float: right; margin: 0px 20px" src="http://www.wedsg.com/images/biztalkblogs.gif" align="right" border="0" /></a></p>
<p>Titled &quot;BizTalk Blogs&quot;, I wasn&#8217;t quite sure what my blog was doing there. It&#8217;s not that I never write about BizTalk &#8211; every once in a while I even find something nice to say about it <img src='http://www.udidahan.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  My quick post on <a href="http://udidahan.weblogs.us/2007/05/02/biztalk-and-performance/">BizTalk and Performance</a> is one such example. But, let&#8217;s face it, a lot of the work I do is to provide BizTalk-like features like routing, transaction-management, and choreography (orchestration) without the actual product.</p>
<p>Apparently, I&#8217;m not the only non-BizTalk-only blogger there.</p>
<p>Including such names as <a href="http://blogs.thinktecture.com/cweyer/">Christian Weyer</a> and <a href="http://www.dasblonde.net/default.aspx">Michelle Leroux Bustamante</a> , there is a veritable who&#8217;s who in the Microsoft Connected Systems ecosystem and, quite frankly, I&#8217;m surprised the bouncer let me in the door.</p>
<p>So, this post is for my readers who, like me, have pretty much ignored anything looking like BizTalk for the past few years. Don&#8217;t let the name fool you. BizTalk Blogs is a valuable resource even for people who don&#8217;t care about BizTalk &#8211; and hey, you might even like what you start hearing about the future directions Microsoft is taking it.</p>
<p>But that&#8217;s enough of that. We&#8217;ll be back with your regularly scheduled BizTalk bashing right after this break&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2007/12/19/biztalk-blogs-and-udidahancom-strange-bedfellows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NServiceBus Distributed Topology Q&amp;A</title>
		<link>http://www.udidahan.com/2007/08/25/nservicebus-distributed-topology-qa/</link>
		<comments>http://www.udidahan.com/2007/08/25/nservicebus-distributed-topology-qa/#comments</comments>
		<pubDate>Sat, 25 Aug 2007 08:37:26 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[Dependency Injection]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[MSMQ]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/08/25/nservicebus-distributed-topology-qa/</guid>
		<description><![CDATA[I&#8217;ve been receiving more and more questions about how NServiceBus fits in distributed systems and wanted to share them:

My question is about distributed topology.
The EAI-hub-and-spoke model is all about the central server.   It’s useful sometimes, but there are a lot of reasons why I’m not gung-ho on using a hub as the center [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been receiving more and more questions about how NServiceBus fits in distributed systems and wanted to share them:</p>
<blockquote><p>
My question is about distributed topology.</p>
<p>The EAI-hub-and-spoke model is all about the central server.   It’s useful sometimes, but there are a lot of reasons why I’m not gung-ho on using a hub as the center of the integration universe.  </p>
<p>The ESB distributed model puts code on the endpoints.  That code solves some of the messaging problems that apps face, so that apps don’t have to face them. It also solves some of the messaging problems that enterprises face, so that enterprises don’t have to face them.  (I need both).</p>
<p>Those problems include simple coding and deployment model, pub-sub routing, reliable transport, simple transformation, and orchestration.  I wonder which of these you can do in your tool, and which you are planning to do.  </p>
<p>I’m also interested in management.  How do you insure that the endpoints are correctly configured?  Do you have a central configuration store?  How do you propagate changes from the center to the messaging endpoints?
</p></blockquote>
<p>And here&#8217;s my response:</p>
<p>The important parts of NServiceBus that are independent of the distributed topology are the API and the connection to long-running workflow. This code is indeed on the endpoint. However, if you wanted to you could easily connect to something like BizTalk and do whatever you wanted there. This general idea though is to support the ESB distributed model since <a href="udidahan.weblogs.us/2007/06/30/no-such-thing-as-a-centralized-esb/">there&#8217;s no such things as a centralized ESB</a>.</p>
<p>In terms of the capabilities you’ve mentioned, I’ve seen developers pick up the coding model in a day or two. The deployment model is just a bunch of DLLs you deploy with each endpoint. Dependency Injection is supported by www.SpringFramework.net but you can replace that with something else easily as another implementation of the ObjectBuilder interfaces. </p>
<p>Currently pub/sub routing is supported over regular point-to-point transports in a transport agnostic way. You also have the ability to have subscriptions be persisted so that even if a server restarts (and clients don’t, and can’t know about that) all the subscriptions will be remembered. </p>
<p>The reliable transport that is currently supported is MSMQ, with the option of defining per-message type if you want durable messaging (using the [Recoverable] attribute). </p>
<p>In terms of orchestration you get a nice model for long-running workflow that gets kicked off by messages decorated with the [StartsWorkflow] attribute, and messages that implement the IWorkflowMessage interface get automatically routed to the persistent workflow instance. You have the ability to change the storage of workflow instances easily as well. Workflows are simple classes which are easily unit-testable in that they expose a “void Handle(T message);” method for every message type (T) that is involved in the workflow.</p>
<p>I haven’t done anything in terms of simple transformation yet but am currently looking for the right place in the message processing pipeline to put it. I also haven’t done anything yet in terms of management. </p>
<p>What is currently being done management-wise on the projects that use it are the commercial options for managing configuration files in distributed environments coupled with the regular ability to restart windows services and IIS applications. I haven’t seen anything lacking in that solution yet.</p>
<hr size="1" />
<p>If you have any questions, please don&#8217;t hesitate to send them my way &#8211; <a href="mailto:NServiceBus@UdiDahan.com">NServiceBus@UdiDahan.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2007/08/25/nservicebus-distributed-topology-qa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No such thing as a centralized ESB</title>
		<link>http://www.udidahan.com/2007/06/30/no-such-thing-as-a-centralized-esb/</link>
		<comments>http://www.udidahan.com/2007/06/30/no-such-thing-as-a-centralized-esb/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 13:09:55 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[Availability]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[SCA & SDO]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/06/30/no-such-thing-as-a-centralized-esb/</guid>
		<description><![CDATA[Via David McGhee&#8217;s Q&#038;A with Dr. Don Ferguson, but read the whole thing.

Q: Could you tell you your thoughts or preference for a distributed or centralized ESB? 
DON: there is no such thing as a centralized ESB.

This is the problem with a lot of the products that call themselves ESBs. They are centralized brokers which [...]]]></description>
			<content:encoded><![CDATA[<p>Via <a href="http://blogs.msdn.com/davidmcg/archive/2007/06/28/soa-esb-integration-in-the-real-world.aspx">David McGhee&#8217;s Q&#038;A</a> with <a href="http://www.microsoft.com/presspass/exec/techfellow/Ferguson/default.mspx">Dr. Don Ferguson</a>, but read the whole thing.</p>
<blockquote><p>
Q: Could you tell you your thoughts or preference for a distributed or centralized ESB? </p>
<p>DON: there is no such thing as a centralized ESB.
</p></blockquote>
<p>This is the problem with a lot of the products that call themselves ESBs. They are centralized brokers which may be clustered for availability. But they are in no way an implementation of the Bus Architectural Pattern. Please check this before cutting a check to your vendor.</p>
<p>Also, understand that if you do security related things in your ESB, possibly as a part of your routing rules, that if the security infrastructure is centralized that means your ESB is too. Even if it really was distributed to begin with.</p>
<p>Buyer beware.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2007/06/30/no-such-thing-as-a-centralized-esb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BizTalk and Performance</title>
		<link>http://www.udidahan.com/2007/05/02/biztalk-and-performance/</link>
		<comments>http://www.udidahan.com/2007/05/02/biztalk-and-performance/#comments</comments>
		<pubDate>Wed, 02 May 2007 08:04:20 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Scalability]]></category>

		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/05/02/biztalk-and-performance/</guid>
		<description><![CDATA[I know I bad-talk BizTalk a lot, but I do it somewhat tongue-in-cheek and to get a rise out of people. BizTalk is a tool, something of a swiss army knife, you know, those huge, honking ones that have everything but the kitchen sink in them. One of the main areas where BizTalk gets a [...]]]></description>
			<content:encoded><![CDATA[<p>I know I bad-talk BizTalk a lot, but I do it somewhat tongue-in-cheek and to get a rise out of people. BizTalk is a tool, something of a swiss army knife, you know, those huge, honking ones that have everything but the kitchen sink in them. One of the main areas where BizTalk gets a bad rap is in performance and <a href="http://udidahan.weblogs.us/category/scalability/">scalability</a>. On the other hand, the number of systems that I come in to assist with performance issues, that don&#8217;t use BizTalk, is still quite large. A systematic approach is needed in all cases.</p>
<p>I ran into another <a href="http://blogs.msdn.com/ewanf/archive/2007/05/01/biztalk-performance-useful-technique-to-baseline-your-infrastructure.aspx">BizTalk optimization story online</a> that once again points out that disk IO is a good first place to look, as I wrote about in my <a href="http://udidahan.weblogs.us/2007/04/30/database-performance-optimization/">Database performance optimization article</a>.</p>
<p>In closing, you need to be aware of the full environment. For instance, in BizTalk, it&#8217;s not just about messages per second. Session contention (multiple parties hitting the same session) can just lock things up tighter than, well, a tight thing. Designing for these things &#8220;up front&#8221; <gasp/> can save you <i>very</i> costly rewrites later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2007/05/02/biztalk-and-performance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Request/Service state affinity – don’t.</title>
		<link>http://www.udidahan.com/2007/02/18/requestservice-state-affinity-%e2%80%93-don%e2%80%99t/</link>
		<comments>http://www.udidahan.com/2007/02/18/requestservice-state-affinity-%e2%80%93-don%e2%80%99t/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 04:49:56 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<category><![CDATA[Simplicity]]></category>

		<guid isPermaLink="false">http://udidahan.weblogs.us/archives/380</guid>
		<description><![CDATA[I saw this question today on the one of the blogs I follow, and seeing that it’s a question that variations of it pop up all the time, I thought that I’d chip in with my 2 cents.
How do I store some state about the current request so that I can use it later during [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">I saw this question today on the one of the blogs I follow, and seeing that it’s a question that variations of it pop up all the time, I thought that I’d chip in with my 2 cents.</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><em><font face="Calibri" size="3">How do I store some state about the current request so that I can use it later during the same service operation?</font></em></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><a href="http://blogs.msdn.com/drnick/archive/2007/02/15/stashing-data-in-extensible-objects.aspx"><font face="Calibri" size="3">One analysis I read</font></a><font face="Calibri" size="3"> came at it from a technological angle – how to do this with WCF. I want to take a look at two other angles here.</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">The first has to do with one interpretation of the question – in the course of handling that request, there are numerous objects involved. How can we make it so that all of them have access to the request data? From a technological perspective, the answer is simple – make it thread-static (in .net this is done by applying the ThreadStaticAttribute to it), or store it in some thread-local-storage. From a design perspective, though, things aren’t all that clear. Which property of which class contains the request data, so that we can mark it with such an attribute, or under what key is the data stored in the thread-local-storage?</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">What I usually do is use my “IBus” interface, which exposes a “MessageBeingHandled” thread-static property. Any object that needs state about the current request makes sure to get an instance of “IBus” injected. The classic example of objects that need this data include message handlers (implementing the “IMessageHandler” interface). For more information about this design, take a look at </font><a href="http://udidahan.weblogs.us/2006/06/02/can-indigo-be-my-bus/"><font face="Calibri" size="3">this</font></a><font face="Calibri" size="3">.</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">The second interpretation looks at having that request data available to the service on subsequent invocations. Personally, I don’t like the idea of having this data in-memory on the object that serviced the original request. One reason I don’t like it is that it creates an affinity between the client and the specific server handling its requests. Those of you who know me already are expecting this…</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">What if the server restarts?</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">Will that client’s state be lost? Well, not if we persisted it somewhere durable instead of just in memory. Will we stop servicing requests from that client until the original server becomes available again? Well, if the data was durably persisted, then any server could pick it up. And this is exactly what BizTalk does. You don’t want to implement BizTalk again, do you?</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">I can tell that some of you are surprised to hear me say this. Such a small requirement, and already we need BizTalk? Did Udi really say that?</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">Well, there is another, simpler way. If what you have is some kind of back-and-forth between the client and the service, you could use the Message History pattern and pack up the previous request data into the messages being sent. Although we’re increasing the message size, we’ve made it so that any server can handle any request and have access to all the previous data without creating some sort of durable contention area within the service like a database. Another option is to look at long-running workflow to model these interactions.</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">Finally, when it comes to ultra-scalable systems, I strongly suggest keeping the network dumb and pushing the smarts out to the edges – the clients. If you don’t need to have one client pick up where another client left off, this could be the ultimate solution. It combines with the Message History pattern and ends up sending only the data necessary on subsequent requests, thus keeping message size to a minimum. Also, your service doesn’t have to handle the state any more making it capable of handling more concurrent clients.</font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 10pt"><font face="Calibri" size="3">State management is the heart of any distributed systems development effort. Unfortunately, there aren’t any easy answers to it, but it’s important not to gloss over it if you want to have any hope of scalability in the future. Patterns help, but eventually we have to make the tradeoffs ourselves. Just don’t go running to one product or another in the hopes that it will make everything magically better.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2007/02/18/requestservice-state-affinity-%e2%80%93-don%e2%80%99t/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>.Net 2.0 no big deal?</title>
		<link>http://www.udidahan.com/2006/10/05/net-20-no-big-deal/</link>
		<comments>http://www.udidahan.com/2006/10/05/net-20-no-big-deal/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 11:36:36 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[OO]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/327</guid>
		<description><![CDATA[Jesse seems to be swallowing the Microsoft party line without missing a drop in his latest post <a href="http://weblogs.asp.net/jezell/archive/2006/10/05/Screw-2.0_2C00_-I_2700_m-Going-Straight-to-3.0.aspx">Screw 2.0, I'm Going Straight to 3.0</a>. 
<br/><br/>
From his post:
<br/><br/>
<em>
"The 2.0 framework doesn't really give you a massive amount of really new really cool features. There is one-click, which we probably wouldn't use anyway, generics (which are useful as a time saver, but don't really do much that you can't do without them), and some other little features... but the best part about the 2.0 framework is probably the IDE/dev experience, not what customers get out of it."
</em>
<br/><br/>
Granted, One-Click is nothing to write home about, but the runtime level additions, they just totally changed the way I write code. I'm talking about generics, anonymous methods, delegate inference, and the rest. The rest of 2.0, like the enhancements of the provider model in ASP.Net, well you would have developed the same kind of framework yourself if you were doing serious web development.
<br/><br/>
The whole 3.0 story, I've got to tell you, I'm pretty underwhelmed. Everybody seems to be jumping up and down about WPF, and yes, it's new and shiny, but there still the clunkety Windows message pump in the background. No real changes in how you're going to write multi-threaded UIs, which seem to be the real future given the rise in multi-core processing. The visual aspects of client side code in the systems I write run at around 5% of the overall effort. So the UI will look better, I dunno, 4D buttons and stuff, sorry for not falling over with enthusiasm.
<br/><br/>
And then there's WCF. Ah, wait, no publish/subscribe. Bummer, most of my systems being asynchronous in nature are built on the pub/sub model. An OO interface for interprocess communication? Who wants it - I need a message-based interface.
<br/><br/>
Don't forget WF - what was that for again? The main place where WF can fit my needs is for handling long-running workflows between systems, since I don't use Biztalk. But the performance of WF doesn't seem to fit this environment, it seems to be more suited for human workflow times. 
<br/><br/>
If anything, I'd have to say that .Net 2.0 was a relatively big deal. 3.0 will probably be just as important with the runtime level enhancements like lambda expressions, extension methods, anonymous types, and implicitly typed variables. All the rest of the hyped up stuff in 3.0, I don't really expect it to change anything in how I work today.]]></description>
			<content:encoded><![CDATA[<p>Jesse seems to be swallowing the Microsoft party line without missing a drop in his latest post <a href="http://weblogs.asp.net/jezell/archive/2006/10/05/Screw-2.0_2C00_-I_2700_m-Going-Straight-to-3.0.aspx">Screw 2.0, I&#8217;m Going Straight to 3.0</a>. </p>
<p>From his post:</p>
<p><em><br />
&#8220;The 2.0 framework doesn&#8217;t really give you a massive amount of really new really cool features. There is one-click, which we probably wouldn&#8217;t use anyway, generics (which are useful as a time saver, but don&#8217;t really do much that you can&#8217;t do without them), and some other little features&#8230; but the best part about the 2.0 framework is probably the IDE/dev experience, not what customers get out of it.&#8221;<br />
</em></p>
<p>Granted, One-Click is nothing to write home about, but the runtime level additions, they just totally changed the way I write code. I&#8217;m talking about generics, anonymous methods, delegate inference, and the rest. The rest of 2.0, like the enhancements of the provider model in ASP.Net, well you would have developed the same kind of framework yourself if you were doing serious web development.</p>
<p>The whole 3.0 story, I&#8217;ve got to tell you, I&#8217;m pretty underwhelmed. Everybody seems to be jumping up and down about WPF, and yes, it&#8217;s new and shiny, but there still the clunkety Windows message pump in the background. No real changes in how you&#8217;re going to write multi-threaded UIs, which seem to be the real future given the rise in multi-core processing. The visual aspects of client side code in the systems I write run at around 5% of the overall effort. So the UI will look better, I dunno, 4D buttons and stuff, sorry for not falling over with enthusiasm.</p>
<p>And then there&#8217;s WCF. Ah, wait, no publish/subscribe. Bummer, most of my systems being asynchronous in nature are built on the pub/sub model. An OO interface for interprocess communication? Who wants it &#8211; I need a message-based interface.</p>
<p>Don&#8217;t forget WF &#8211; what was that for again? The main place where WF can fit my needs is for handling long-running workflows between systems, since I don&#8217;t use Biztalk. But the performance of WF doesn&#8217;t seem to fit this environment, it seems to be more suited for human workflow times. </p>
<p>If anything, I&#8217;d have to say that .Net 2.0 was a relatively big deal. 3.0 will probably be just as important with the runtime level enhancements like lambda expressions, extension methods, anonymous types, and implicitly typed variables. All the rest of the hyped up stuff in 3.0, I don&#8217;t really expect it to change anything in how I work today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2006/10/05/net-20-no-big-deal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A broker ain&#8217;t a bus &#8211; it just ain&#8217;t</title>
		<link>http://www.udidahan.com/2005/09/23/a-broker-aint-a-bus-it-just-aint/</link>
		<comments>http://www.udidahan.com/2005/09/23/a-broker-aint-a-bus-it-just-aint/#comments</comments>
		<pubDate>Sat, 24 Sep 2005 05:27:00 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[ESB]]></category>

		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/222</guid>
		<description><![CDATA[I&#8217;ve been perusing the PDC material and ran into one of the presentations on BizTalk 2006 where the issue of communication between several services was raised. Obviously the N-square problem was shown, and then BizTalk was introduced in the middle with all communication going to and from it. So far, so good. But then, instead [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been perusing the PDC material and ran into one of the presentations on BizTalk 2006 where the issue of communication between several services was raised. Obviously the N-square problem was shown, and then BizTalk was introduced in the middle with all communication going to and from it. So far, so good. But then, instead of calling the rose by its name, BizTalk was called a bus.</p>
<p>This is a call to the architecture folks at Microsoft: If something is in the middle of all communication, it is a broker. It cannot be a bus, by definition. And don&#8217;t even get me started on the single point of failure issue.</p>
<p>I don&#8217;t have a problem with people marketing BizTalk as the replacement of 42, however, when the technical guys start talking, well, I expect them to tell the truth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2005/09/23/a-broker-aint-a-bus-it-just-aint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I want out of Biztalk</title>
		<link>http://www.udidahan.com/2005/05/27/what-i-want-out-of-biztalk/</link>
		<comments>http://www.udidahan.com/2005/05/27/what-i-want-out-of-biztalk/#comments</comments>
		<pubDate>Sat, 28 May 2005 05:09:54 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/194</guid>
		<description><![CDATA[Give me as many of the patterns out of <a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&#038;camp=1789&#038;tag=thesoftwaresi-20&#038;creative=9325&#038;path=tg/detail/-/0321200683/qid=1117231639/sr=8-1/ref=pd_csp_1?v=glance%26s=books%26n=507846">the EIP book</a><img src="http://www.assoc-amazon.com/e/ir?t=thesoftwaresi-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> as you can and make it run fast. Is that too much to ask?]]></description>
			<content:encoded><![CDATA[<p>Give me as many of the patterns out of <a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;camp=1789&amp;tag=thesoftwaresi-20&amp;creative=9325&amp;path=tg/detail/-/0321200683/qid=1117231639/sr=8-1/ref=pd_csp_1?v=glance%26s=books%26n=507846">the EIP book</a><img src="http://www.assoc-amazon.com/e/ir?t=thesoftwaresi-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" /> as you can and make it run fast. Is that too much to ask?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2005/05/27/what-i-want-out-of-biztalk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BizTalk&#8217;s as fast as they come (or is that go?)</title>
		<link>http://www.udidahan.com/2005/05/05/biztalks-as-fast-as-they-come-or-is-that-go/</link>
		<comments>http://www.udidahan.com/2005/05/05/biztalks-as-fast-as-they-come-or-is-that-go/#comments</comments>
		<pubDate>Thu, 05 May 2005 22:19:18 +0000</pubDate>
		<dc:creator>thesoftwaresimplist</dc:creator>
				<category><![CDATA[BizTalk]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/191</guid>
		<description><![CDATA[Aaron Skonnard is blogging quite a bit about BizTalk these days. <a href="http://pluralsight.com/blogs/aaron/archive/2005/04/25/7717.aspx">An earlier post </a>that caught my eye quoted Mike Woods, the Sr. Technical Product Manager on the BizTalk team:

"... Finally on performance; if you're truly seeing 1 transaction per second then something isn't right. The SOAP adapter and heavy use of orchestration will knock your transaction rates down. Depending on what you're doing you should be able to get that up over a hundred Tx/sec. on a well tuned BizTalk server farm."

Isn't one of the major selling points of BizTalk the whole webservices thing (SOAP) and the ability to express complex workflow (orchestration)? If it can't do these things at a high transaction rate, then why do I need it? If the logic is simple, why don't I just hand code it? I could probably get over 100 Tx/s on a single server, let alone "a well tuned ... server farm".]]></description>
			<content:encoded><![CDATA[<p>Aaron Skonnard is blogging quite a bit about BizTalk these days. <a href="http://pluralsight.com/blogs/aaron/archive/2005/04/25/7717.aspx">An earlier post </a>that caught my eye quoted Mike Woods, the Sr. Technical Product Manager on the BizTalk team:</p>
<p>&#8220;&#8230; Finally on performance; if you&#8217;re truly seeing 1 transaction per second then something isn&#8217;t right. The SOAP adapter and heavy use of orchestration will knock your transaction rates down. Depending on what you&#8217;re doing you should be able to get that up over a hundred Tx/sec. on a well tuned BizTalk server farm.&#8221;</p>
<p>Isn&#8217;t one of the major selling points of BizTalk the whole webservices thing (SOAP) and the ability to express complex workflow (orchestration)? If it can&#8217;t do these things at a high transaction rate, then why do I need it? If the logic is simple, why don&#8217;t I just hand code it? I could probably get over 100 Tx/s on a single server, let alone &#8220;a well tuned &#8230; server farm&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.udidahan.com/2005/05/05/biztalks-as-fast-as-they-come-or-is-that-go/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
