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
https://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
https://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
https://support.microsoft.com/default.aspx?scid=kb;EN-US;938986
More Info:
MQSeries Adapter
https://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
https://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
https://support.microsoft.com/default.aspx?scid=kb;EN-US;950048
More Info:
BizTalk Adapter for WebSphere MQ
https://msdn.microsoft.com/en-us/library/aa772116.aspx
Comments
- Anonymous
January 05, 2009
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