Sending a message directly to BizTalk or through MSMQ?

This is the first time I use BizTalk for cross-machine, asynchronous and reliable communications.
I would like to know if there is a way to directly send messages from one computer to the BizTalk queue, or do I need to use local MSMQ, which in turn sends messages to BizTalk?

In C #, is there a binding that is used to send messages to BizTalk queues?
For MSMQ, I know there is NetMsmqBinding.

Greetings

Update:

Since I introduced a bit of confusion, I will try to explain a little and please correct me if I am wrong.
As far as I know, ESBs implement the concept of queues or message channels that can be used for reliable asynchronous communication (short message transfer). Now it’s hard for me to put BizTalk in this concept. There are dozens of interpretations of the concept of ESB and as many opinions if BizTalk is an ESB, such as Sonic or TIBCO ...
Now, as far as I know, for example, in TIBCO, which implements the JMS API, there are no queues or queues on the local client machine (for example, MSMQ), but they are present and configured on the TIBCO ESB, and from the client application I use the JMS API to send messages in these lines.
Therefore, when I want to communicate through BizTalk with applications on different computers, and I want to use messaging, will I use MSMQ on the local machine, and MSMQ will transfer these messages to BizTalk and other applications downstream?
Also, where should I configure the connection between local MSMQ and BizTalk? Should I configure BizTalk to listen to the specified MSMQ for new messages or is there some kind of configuration that needs to be done on MSMQ itself?

+4
source share
3 answers

BizTalk communicates with the outside world through artifacts called adapters that can provide the endpoint visible to the outside world over a wide range of messaging protocols.

There is an MSMQ adapter that appears to be able to read and publish to the queue on the local computer or the remote computer. I never used it, so I came from the position of reading docs on this adapter and found out how I am going. I found that the BizTalk documentation is particularly difficult to navigate, especially since many of the links to Microsoft have now gone - it took a little time to find these pages that I mentioned. Let me know if you find something that can be said that it is not obvious, because I am sure that there are useful resources that I could never find.

To configure BizTalk to listen on a queue:

  • Creating a Unidirectional Receive Port
  • Create a one-way receive location associated with this port
  • Set the type of receive transport to "MSMQ"
  • Click configure
  • Specify the credentials to use and the name of the queue (including the name of the machine, which means that it works equally well on remote queues)
  • Matching Other Properties to Your Script

That should be all that is needed. Then the publication in this queue should cause a message to be received on this port, which is immediately stored in the message window database. You will need to do some processing using pipelines and / or cards to do something useful with the message.

However, you are in no way limited to MSMQ. A fairly complete list is available , and BizTalk does not limit you to any particular messaging protocol. You can also implement custom adapters with whatever behavior you need. To better answer your question, it would be useful to know what your current requirements are - for example, what is used for the client application?

+5
source

BizTalk disengages from the concept of ports - both receive and send. These ports use many different technologies for reading and writing messages, but none of them are directly connected to other BizTalk servers. You will need to use something like MSMQ or even basic web services - it is up to you, but between them you will need some kind of communication protocol.

+1
source

"Also, where do I need to configure the connection between local MSMQ and BizTalk? Should I configure BizTalk to listen to the specified MSMQ for new messages or is there some kind of configuration that needs to be done in MSMQ itself?"

Answer: You need to configure BizTalk to poll the corresponding queue at a certain interval (it can be configured in BizTalk). In MSMQ, you need to grant access rights to the user account that will be used when polling the queue.

0
source

All Articles