Snap Shot of BizTalk 2006 Solutions For MQSeries


I wanted to create a  snap shot of BizTalk 2006 solutions for MQSeries.  The two options we have can be confusing, so hopefully the information below will add some clarity.


 


BizTalk WebSphere MQ Adapters


BizTalk Server 2006 we only use:


1)      MQSeries Server Adapter


2)      MQSeries Client Adapter


                                   Base Client – Transactions not supported


                                    Extended Client – Transactions Supported


 


MQSeries Server Adapter


The BizTalk MQS Server Adapter is comprised of two major parts.  It has a .Net based adapter that runs in a BizTalk Host and a COM+ MQSAgent which must run on the Windows WebSphere MQ Server.  MQSconfigWiz.exe sets up the COM+ MQSAgent application on the Windows WebSphere MQServer.


 


How it works


The adapter communicates with the MQSAgent COM+ application. The MQSAgent COM+ application, in turn, communicates with MQSeries Server for Windows. You can install the agent on the same computer as the adapter if you install MQSeries Server for Windows on the computer.  The send part of the adapter sends the message to the MQSAgent.   MQSAgent then, using MQPut, sends the message to the MQSeries Queue Manager.


The receive part of the adapter polls the MQSAgent to see if there are messages. When there is a message, the MQSAgent performs an MQGet to retrieve the message. MQSAgent includes a hard-coded three-second wait for retrieving the message from the Queue Manager.


 


Advantages of the MQSeries Adapter are:


          Full MQM (Queue Manager) functionality and performance.


          Disconnect processing at the Windows MQM (Queue Manager)  infrastructure boundary


          Enterprise level scalability


          Supports Transactional scenarios


          Guarantees once and only once delivery of messages


Since transactions are supported, MSDTC configuration is critical for functionality.  Here are some rules of thumb:


          If MQSAgent is on a Windows 2000 Server, ensure “No Authentication Required” is selected in the MSDTC Security Configuration dialog box.


          Ensure Firewall are not blocking RPC ports


          Enable support for XA transactions


The article below may help answer questions about MSDTC and Windows 2003.


899191  New functionality in the Distributed Transaction Coordinator service in Windows Server 2003 Service Pack 1 and in Windows XP Service Pack 2


http://support.microsoft.com/default.aspx?scid=kb;EN-US;899191


Requriements:


          Windows 2003 Server and licenses


          IBM WebSphere MQ Server for Windows


     Recommended Versions


o   WebSphere MQ 5.3 + Fix Pack12


o   WebSphere MQ 6.0 + Fix Pack 2 (ver 6.0.2.1)


 


 


Hotfixes:


          941494  FIX: When you use BizTalk Adapter for MQSeries in BizTalk Server 2006 or in BizTalk Server 2004, the BizTalk application may slow down, and the BizTalk application may eventually stop responding


http://support.microsoft.com/default.aspx?scid=kb;EN-US;941494


 


          938986  BizTalk Server 2004 or BizTalk Server 2006 does not immediately handle some messages when you use BizTalk Adapter for MQSeries 2.0 to receive messages from an IBM MQSeries server


http://support.microsoft.com/default.aspx?scid=kb;EN-US;938986


 


More Info:


MQSeries Adapter


http://msdn.microsoft.com/en-us/library/aa547973.aspx


 


 


BizTalk MQS Client Adapter


The BizTalk MQS Client BizTalk Adapter(MQSC)  allows connectivity to MQ Series Server without MQSeries Server for Windows. There are two versions of this adapter:


Base: Non-Transactional Client BizTalk Adapter for WebSphere MQ (MQSC)


Extended: Transactional Client-Based BizTalk Adapter for WebSphere MQ (MQSC)


 


The Base: Non-Transactional Client BizTalk Adapter for WebSphere MQ (MQSC) is Free and it DOES NOT support transactions.  It does guarantee “at least once” message delivery via MQGET(). When using this base client you can have duplicate messages under failure conditions in either BizTalk Server or in MQSeries queues.


 


The Extended: Transactional Client-Based BizTalk Adapter for WebSphere MQ (MQSC) can requires an IBM license and it DOES support transactions via MSDTC on Windows.


How it works


When receiving messages the adapter starts an MSDTC transaction and performs an MQGet with SYNCPOINT so that MQSeries participates in the transaction. The adapter passes this same transaction context to BizTalk Server so that BizTalk Server participates in the same transaction when the adapter submits the message to it. After the message has been submitted, the adapter commits the transaction. When sending messages from BizTalk Server to MQSeries, the adapter starts the transaction and performs an MQPut operation with the SYNCPOINT option. BizTalk Server uses this same transaction to remove the message from the BizTalk Server MessageBox database, after which the adapter commits the transaction.


 


Advantages of the MQS Client Adapter are:


          Does not require a Windows 2003 Server


          Uses IBM Client MQI API


          Provides direct access to non-windows MQM(Queue Manager)


          Free non-transactional client (Base)


          Licensed transactional client (Extended)


 


Hotfixes:


          932523  FIX: The messages in an IBM WebSphere MQ queue are not deleted after the BizTalk Adapter for WebSphere MQ that is included in Host Integration Server 2006 processes the messages


 http://support.microsoft.com/default.aspx?scid=kb;EN-US;932523


 


          950048  FIX: The MQSeries Client Adapter (MQSC Adapter) fails when you try to send or receive a message that is larger than 4 MB in BizTalk Server 2006 R2 or in BizTalk Server 2006


http://support.microsoft.com/default.aspx?scid=kb;EN-US;950048


 


 


More Info:


BizTalk Adapter for WebSphere MQ

http://msdn.microsoft.com/en-us/library/aa772116.aspx


Comments (1)

  1. onefatninja says:

    Hi AnzioB,

    I use BizTalk 2006 with Windows 2003.

    I would like to use the MQ Adapter in my biztalk application to connect to an MQ Server using MQ.  

    I would like to put messages to a remote MQ Server and to get messages from a remote mq server.

    Do I need to buy the MQ Server License in this case?

    Or can I use the BizTalk MQS Client Adapter?

    Thanks

Skip to main content