At its core it is an event-processing engine that is based on pub/sub conventional patterns.
Wikipedia define pub/sub as:
"Publish/subscribe (or pub/sub) is a messaging paradigm where senders (publishers) of messages are not programmed to send their messages to specific receivers (subscribers). Rather, published messages are characterized into classes, without knowledge of what (if any) subscribers there may be. Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what (if any) publishers there are. This decoupling of publishers and subscribers can allow for greater scalability and a more dynamic network topology."
Common flow in BizTalk is once a message is received by an adapter, is run through pre-processing in a pipeline, before being data transformed in maps, then being published to the messagebox.
* IMPORTANT NOTE: Once a message has entered the messagebox it is immutable (which means CANNOT be changed).
Because of the the nature of pub/sub patterns a bit a latency is introduced, which BizTalk makes up for with its star abilities (durability, reliability and scalability).
The most dynamic use for BizTalk is in SOA or Service bus architecture. In this architecture itinerary services was introduced, which basically applied a message with a purpose concept.
It is the data processed through the BizTalk messaging engine (IE. XML document, Word Document, Flat file etc.). The message basically contains two critical parts message type and context. The message type defines it within the bus and is typically a XML namespace and root node. The message context is a set of name/value pairs.
How does a message get to and from BizTalk?
BizTalk uses receive locations which are defined as endpoints, which use a particular adapter which knows how to receive that specific message. These receive locations have a particular receive pipeline associated with them, which can be used to modify the message before it becomes immutable. Now, a receive port is defined as containing more than one receive location, which apply XSLT maps to the message prior to being published to the messagebox.
BizTalk used send ports and orchestrations (Two real type of subscribers within BizTalk), send ports provide a means of transporting messages from the bus and an orchestration provides an executable business process, which uses the message to complete workflow operations.
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.
Maheshkumar S Tiwari edited Revision 13. Comment: minor edit
Steef-Jan Wiggers edited Revision 11. Comment: Minor edit
Steef-Jan Wiggers edited Revision 10. Comment: Added tags
Steef-Jan Wiggers edited Revision 9. Comment: Minor edit, fixed typos
Carsten Siemens edited Revision 7. Comment: Fixed misspellings
Carsten Siemens edited Revision 6. Comment: fixed typo
Greg Leonardo edited Revision 3. Comment: I will dive further into the architecture in future articles.
What about orchestrations, they fit in BizTalk architecture too.
following link shows the biztalk Architecture poster, which is Easy to analyze.
www.microsoft.com/.../technical-posters.aspx
I think it's also important to note that EVERYTHING in BizTalk is Publish-Subscribe. There is no way around it; it is the core of the product. Even an orchestration calling a send port goes through the message box.
great article!
Great article
Great Article....Simple and Easy to understand!!!!!!
Nice Article