BizTalk Gurus
Sign in
|
Join
|
Help
Home
Blogs
Media
Forums
Stephen W. Thomas BizTalk MVP
»
Convoy Subscription Viewer for BizTalk Server 2004
Convoy Subscription Viewer for BizTalk Server 2004
Stephen W. Thomas BizTalk MVP
Home
Contact
Syndication
RSS for Posts
Atom
Recent Posts
Got a Great BizTalk Tip or Trick and You Could Win Richard Seroter’s SOA Patterns Book
Latest Windows Application Server Enhancement (Dublin) Videos On Channel 9
Windows Application Server Enhancements known as Dublin Presentation in Sweden
Designing Services for Management & Scale with Dublin Video Online
Setting Up Continuous Integration, Automated Unit Tests, and MSI Packaging in BizTalk 2009
Tags
biztalk
biztalk 2004
biztalk 2006
BizTalk 2009
biztalk errors
convoy
debatching
deployment
Dublin
flat files
labs
maps
messaging
nack
orchestration
Oslo
performance
pipelines
promoted properties
rules engine
schema
testing
untyped messages
video
Workflow 4
View more
Archives
October 2009 (1)
June 2009 (1)
May 2009 (1)
April 2009 (5)
February 2009 (1)
January 2009 (1)
December 2008 (1)
November 2008 (4)
October 2008 (3)
September 2008 (1)
May 2008 (1)
April 2008 (2)
March 2008 (3)
February 2008 (3)
January 2008 (1)
December 2007 (3)
November 2007 (4)
October 2007 (2)
September 2007 (2)
July 2007 (1)
May 2007 (2)
April 2007 (1)
December 2006 (3)
November 2006 (2)
October 2006 (2)
September 2006 (5)
August 2006 (5)
July 2006 (5)
April 2006 (4)
March 2006 (4)
February 2006 (1)
January 2006 (2)
December 2005 (3)
November 2005 (3)
October 2005 (5)
September 2005 (9)
August 2005 (9)
July 2005 (7)
June 2005 (7)
May 2005 (1)
April 2005 (6)
March 2005 (3)
February 2005 (4)
January 2005 (3)
December 2004 (2)
November 2004 (3)
October 2004 (8)
September 2004 (5)
August 2004 (7)
July 2004 (4)
I have talked a lot in the past about Convoys.
But, under the covers what really makes Convoy message processing different?
What makes a Convoy a Convoy?
To sum it all up into one sentence: Convoys require database level message-to-Orchestration correlation independent of any running Orchestration instances.
Is this confusing?
Yes.
But trust me, more detailed information is coming soon on this topic.
For now, I want to briefly go over the basic internals of how Convoys work in BizTalk Server 2004.
When you deploy an Orchestration:
The presence of a Convoy is detected at the time a BizTalk 2004 Orchestration is enlisted.
At this point, an entry is inserted into the ConvoySets table inside the Message Box that lists the properties used in the Convoy Set.
This is limited to only three properties because each property is listed in a column inside the table.
The subscriptions that can activate this Convoy are marked with the uidConvoySetID for that Convoy Set.
When a message arrives:
Every time a new message arrives into BizTalk it is checked to see if it is part of a Convoy or if it should start a Convoy.
If it should start a Convoy, an entry is inserted into the ConvoySetInstances table that routed messages to the correct instance.
If it is part of an existing Convoy (i.e. it has the sample Convoy properties of an existing Convoy set), it is routed to the Service Instance listed inside the table.
Otherwise, it just follows the normal subscription process.
Convoy Virtual Subscription:
This database level message routing creates a type of virtual subscription on top of the standard subscriptions inside the message box.
This is set up internally using a series of tables.
I have put together a simple SQL query to view all Orchestrations that belong to a Convoy and what the Convoy virtual subscription properties are for those instances.
I have not tested this code under all Convoy scenarios so please use caution when running the query and it may yield unexpected results.
Note that for this viewer to return any data you must have running Orchestration instances that are part of a Convoy.
DOWNLOAD:
Sample Convoy Virtual Subscription Viewer
CRITICAL:
This application and included SQL will query critical BizTalk SQL Tables.
This should not be run on production servers.
Review all code prior to execution and use extreme caution when viewing any BizTalk related database tables.
Use this code at your own risk.
This sample is also an excellent example of why I am a BizTalk Developer rather then a .net Developer :).
Here are some of my samples that use Convoys that can be used with this viewer.
DOWNLOAD:
Concurrent Receive Convoys
(post date 11/5/2004)
DOWNLOAD
:
Sequential Receive Convoys
(post date 8/23/2004)
Posted
Fri, Feb 11 2005 2:05 AM
by
Stephen W. Thomas
Filed under:
biztalk 2004
,
convoy
Add a Comment
Name:
(optional )
Website:
(optional )
Comments
(required )
Remember Me?
Spam Control: Type the word BIZTALK here: