MSMQ Adapter if available now (alternative to MSMQT Adapter)

BTW, MSMQ adapter for BizTalk 2004, that I referred to before, is now available for download at https://www.microsoft.com/downloads/details.aspx?FamilyID=cba87d07-7f50-4d7b-a888-388d123f736e&DisplayLang=en

That's the same adapter, I previously referred to as "MSMQ/C". This is a pretty good alternative to MSMQT adapter shipped in-box. Here are just few thinmgs that differs between MSMQ/T and MSMQ Adapters:

If you want to... MSMQ/T Adapter (in-box) MSMQ Adapter (new)
Run other applications that use MSMQ API (or simply use MSMQ API at all.) Only if you install Windows message queuing (MSMQ) side by side with MSMQT. Automatically granted, in fact, MSMQ Adapter itself is using Windows MSMQ API.
     
Deliver messages reliably and in order to the BizTalk application (orchestration). Example, when you may need it: financial applications, where customer orders must be executed in the same order as they are received. That's what MSMQ/T is for. In fact, that's the only way to reliably do that in BizTalk 2004, short of implementing your own application level protocol. No, you cannot use MSMQ Adapter for that in BizTalk 2004.
     
Reliably push as many messages onto the BizTalk machine as possible (but not yet into BizTalk per se). Example, when you need it: sending messages from an unreliable machine that may go down for a significant period of time. Tough, MSMQ/T submits messages directly into BizTalk, hence it gets messages from the network only as fast as BizTalk can consume them. Perfect. Messages are accumulated on the local disk of BizTalk machine in MSMQ queue with usual MSMQ throughput (huge one). Then BizTalk picks it up from the local queue at its own pace.
     
Pass huge messages (see BizTalk docs for the exact numbers) Good. MSMQ/T has everything streamed, so for large messages there is no single moment in time when the whole message must be in memory. As a result, MSMQ/T messages by design should be only limited by the size of your database. Keep in mind, however, that it is only supported to a certain limit stated in the documentation. Also, if your database has 2Gb of a disk space, it may be not quite a bright idea to fill it with 1Gb blobs. You still can pass pretty large messages, however, MQRTLARGE.DLL that is utilized by MSMQ Adapter, accumulates the whole message in memory, effectively limiting the size of a message you can pass through.
     

Comments

  • Anonymous
    February 21, 2005
    The comment has been removed
  • Anonymous
    February 22, 2005
    If you send messages to two independent orchestration instances, processes or servers, there is, of course, no guarantee that these instances, processes, or servers will perform processing in any order, unless you ensure it somehow manually using communications between them.

    In-order delivery (and processing) is assured when you deliver to the same instance of an orchestration or to the same send port. In this case, messages are actually executed (or sent outside, if transport supports that) in the same order as they were sent to BizTalk.
  • Anonymous
    February 27, 2005
    Is it possible to install BizTalk 2004 in a way where you on have one IP address and only the MSMQ Adapter running on MSMQ stack?
  • Anonymous
    February 27, 2005
    Sure, just install BizTalk, do NOT add MSMQT adapter, install MSMQ adapter, and you will only have MSMQ adapter running on all addresses, you have on the machine (one, if you have only one).

    Of course, I answered a different question -- "Can I have only MSMQ adapter?" Your question taken literally describes the situation which is always true -- MSMQT adapter does not use Windows MSMQ stack at all, it has a separate codebase.
  • Anonymous
    March 01, 2005
    The comment has been removed
  • Anonymous
    March 01, 2005
    Yes, you can configure it all right, just don't add in the Admin.

    The reason is that if you do, it becomes part of the BizTalk start-up process and grabs the port for itself. That's where all this side-by-side stuff becomes necessary. If you don't add it, it is never activated.