I had the pleasure of presenting on BizTalk 2004 at the Heartland Developer’s Conference 2004. The whole conference was a lot of fun, and as Kent Tegels has noted, Joe Olsen did a great job in organizing the logistics for this event – you wouldn’t have known it was the first-of-a-kind (save for Joe’s mea culpa on caffeine…)
I had a chance to talk to Sam Gentile about the work he has been doing at Addesso. This was enlightening, since in my non-BizTalk-work-life I do quite a bit mobile work in the field-force-automation space (using ruggedized Pocket PC devices – great fun!)
As to the presentation itself – one of the topics I discussed was BizTalk 2004’s scaling model, and the power of having being able to create multiple host instances for a single logical host definition that contains your orchestrations. This gives you a “competing consumer” effect – multiple processes on multiple servers, all pulling from a common work queue. In my talk, I suggested that this idea wasn’t new and related it back to a 1998 article in Enterprise Developer’s magazine. In that article, an architect from Merrill Lynch was discussing the scaling difficulties in using NT4/MTS – the load balancing options weren’t pretty. He proposed a pattern he dubbed “Auctioning” where clients would submit work to an MSMQ queue, and multiple servers (all running common server-side components) would pull work from that queue. The benefits he articulated relate quite closely to what you will find in the parallel aspects of BizTalk 2004.
Check out this graphic from the article – it should look a little familiar to BizTalk folks.
Below is my paraphrase of the article’s main points, recast with BizTalk terms (and exactly relevant to BizTalk, I believe…)
You can find the whole presentation (which also discussed BizTalk compared with traditional application servers) right here.
Scott Colestock lives, writes, and works as an independent consultant in the Twin Cities (Minneapolis, Minnesota) area.