Biztalk Server 2006 Message-Delivery Patterns

The combination of publication and subscription used to move messages between subsystems in Biztalk Server 2006.

The combination of publication and subscription used to move messages between subsystems in Biztalk Server 2006. For example, receive ports receive messages, process them and publish (save) them to the MessageBox. BizTalk Server routes these messages to subscribing orchestrations or send ports for further processing and either republish them to the MessageBox or send them to external system.

Publishers include:

  1. Receive ports that publish messages which arrive in corresponding receive locations.
  2. Orchestrations publish messages when sending messages or starting another orchestration asynchronously.
  3. Solicit/response sends ports publish messages when they receive a response from the target application or transport.

In BizTalk Server, there are two main types of subscriptions:

  1. Activation
    A subscribed message should activate, or create, a new instance of the subscriber when it is received. Activation subscription includes send ports with filters or send ports that are bound to orchestrations, and orchestration receive shapes that have their Activate property set to true.

  2. Instance.
    An instance subscription indicates that messages that fulfill the subscription should be routed to an already-running instance of the subscriber. Orchestrations with correlated receives and request/response-style receive ports waiting for a response from BizTalk Server are good examples of Instance subscription.

The difference between the two types of subscription at the information level is that an instance subscription includes the unique instance ID, stored in the subscription table in the master MessageBox database. When an orchestration instance or receive port completes processing, instance subscriptions are removed from the MessageBox while activation subscriptions remain active as long as the orchestration or send port is enlisted.