Recently I have met some developers who were new to BizTalk. They were having very vague idea about BizTalk host, host group and host instance. We all learnt this by experience but for a beginner, understanding the host model in BizTalk might take some time. So let me post an article which explains these for beginners.
Host:
The BizTalk host is a logical, process boundary for BizTalk artifacts like Adapters, Orchestrations, Send Ports, Receive Locations and Pipelines.
- BizTalk Host is not a physical entity; it’s a logical boundary
- We assign the host to Adapters and Orchestrations, Transport Types and its corresponding handlers to Send Ports and Receive Locations.
Ok, so what is the actual use of the BizTalk Host? These separate process boundaries (Host) enable us to create security boundaries and facilitate management.
Let's say that your company where the BizTalk application is going to be deployed is
· Having different set of security policies for sending and receiving message from their stakeholders – by using different security certificates for receiving and sending any messages or by using different policies in their firewall.
· Having different security access rights to receive/process/send – this can be achieved by providing different windows group to a host, which controls the access to the host and its associated host instance(s) to database and other resources
· Having different set of throttling configurations for send and receive messages
· More receive intensive where your messaging system receives more messages, then you can isolate the receive locations in a separate host.
Microsoft’s recommendation for the HOST model is to have separate Receiving, Sending and orchestration hosts both logically and physically. This model has been proved to be the most optimal configuration for achieving the highest throughput.
Based on the physical configuration and type of adapter hosted within, there are two types of hosts:
1. In-process hosts.
2. Isolated hosts.
In-Process host:
The logical process boundary which gets executed and managed within the runtime process of BizTalk Server engine.
Isolated host:
The logical process boundary which gets executed and managed from outside the runtime process of BizTalk Server engine. In most of the cases, they run under IIS process boundary. Hence the adapters such as HTTP and SOAP (The adapters that runs outside of the normal BizTalk Server runtime process) are managed under isolated host.
Since the Isolated host exist outside the BizTalk environment, the BizTalk Administrator tool is not designed to show the status of the host (like Started/Stopped)
Host Group:
Host group is nothing but a Windows-group which will be assigned to the host to control its associated host instance(s) access to the database and other resources.
When you initially configure the host, you will provide a Windows group which will be used to control access of the host and its associated host instance(s) to database and other resources
Make sure that the Windows-group which will be assigned to the host has got the “Login access” to the BizTalk-SQL databases like:
- BizTalkMgmtDb
- BizTalkMsgBoxDb
- BAMPrimaryImport
- BizTalkDTADb
- BizTalkRulesEngineDb
A host group requires the following privileges:
- It must be a member of the BTS_HOST_USERS SQL Server role in the following databases:
- Configuration
- MessageBox
- Rule Engine
- Tracking
- BAM Primary Import
-
- It must be a member of the BTS_<<in-process host name>>_USERS SQL Server role for the MessageBox database
- It must be a member of the BAM_EVENT_WRITER SQL Server role in the BAM Primary Import database.
If you use the Configuration Wizard to create hosts, and if you specify a local Windows group for the hosts, the Configuration Wizard automatically creates two Windows groups. The default names of these groups are the BizTalk Application Users group and the BizTalk Isolated Host Users group.
Host Instance:
A host instance is a run-time instance of host in a server. Host instance runs within the security boundaries of the host and executes message processing on each machine belonging to the host.
The host instance executes in the associated server inheriting the logical boundary defined in the host.
When you create a host instance of a host associated with the host group, the host instance inherits the database privileges of the host group.
0 comments:
Post a Comment