Friday, 1 July 2016

Introduction to BizTalk Server Architecture | BizTalk Server


In this article I would brief about BizTalk Server Architecture.

BizTalk Server is Microsoft's central platform for Enterprise Application Integration (EAI) and Business Process Management (BPM) and embodies the integration and automation capabilities of XML and Web Services technologies.

Architecture
The BizTalk Server run-time is built on a publish/subscribe architecture, sometimes called "content-based publish/subscribe". Messages are published into BizTalk, transformed to the desired format, and then routed to one or more subscribers. BizTalk makes processing safe by serialization (called dehydration in BizTalk’s terminology) placing messages into a database while waiting for external events, thus preventing data loss. This architecture binds BizTalk with Microsoft SQL Server. Processing flow can be tracked by administrators using an Administration Console. BizTalk supports the transaction flow through the whole line from one customer to another. BizTalk orchestrations also implement long-running transactions. 

Publish-Subscribe model is an asynchronous programming technique that makes it easier to share information between entities that send information (publishers) and entities that receive information (subscribers). The main advantages of publish-subscribe model includes scalability (the ability to take advantage of available, changing, resources) and flexibility (works as the basis for many other programming approaches). BizTalk publishes messages to a common area and processes that are interested in consuming the published messages subscribe to them (orchestrations, receive or send ports, or directly bound ports). 

Publish-Subscribe model wouldn't work if all subscribers receive all messages. When a subscriber registers its interest, the registration includes filters to select messages of interest. 


In general, there are two types of filters -topic based filters that BizTalk represents as Receive Ports or Send Ports, and content based filters which filter messages based on their content -

BizTalk provides several means of filtering based on content The subscription includes both types of filters, 
  • The topic filter is based on the ReceivePortID 
  • The content filter is based on an attribute called MessageType 
A Receive Port is logical representation of a means to receive a message using a specific protocol or location. For example, BizTalk can receive messages in files, from Message Queues, or via HTTP (among the methods - there are others). The specific protocols and locations are referred to as Receive Locations. There can be several Receive Locations per Receive Port making it possible to accept messages from a variety of locations and treat them the same way in BizTalk. 

The MessageType is a representation of a message's type and this should be unique. BizTalk represents all messages in XML. One important aspect of all XML documents is its namespace and another important aspect of all XML documents is the name of the document's root node. The combination of the message's namespace and name of the root node are represented as: 

The hash symbol (#) separates the namespace from the name of the root node. 
Publishers
Mainly two, they are receive locations and orchestrations. 

Subscribers
Mainly three, they are send ports, send port groups, and orchestrations. 


Conclusion
BizTalk Server is a message-based system and its uses publish-subscribe model. All the messages that enter the BizTalk are converted to XML format which is uniquely identified by its MessageType.

The video demonstration is available on the Youtube, here is the embedded video.

2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete

Note: only a member of this blog may post a comment.