Microsoft BizTalk Server 2006 R2 Standard, FR Disk Kit, MVL DVD 5 MLF D75-01322 User Manual

Product codes
D75-01322
Page of 26
16 
 
Creating Scalable Configurations 
It’s possible to install every component of BizTalk Server 2006 R2 on a single machine. Yet it’s not hard 
to imagine situation
s where this isn’t the right solution. Perhaps the number of messages the system 
must handle is too great for one machine, or maybe redundancy is required to make the system more 
reliable. To meet requirements like these, the product can be deployed in a number of ways. 
A fundamental concept for deploying BizTalk Server is the idea of a host. A host can contain various 
things, including orchestrations, adapters, and pipelines. Hosts are just logical constructs, however. To 
use them, a BizTalk administrator must cause actual host instances to be created. Each host instance 
is a Windows process, and as Figure 10 shows, it can contain various things. In the example shown 
here, Machine A is home to two host instances. One contains a receive port, while the other contains 
the  orchestrations  P  and  Q.  Machine  B  runs  just  one  host  instance,  also  containing  the  two 
orchestrations P and Q. Machine C, like machine A, is home to two host instances, but neither of them 
contains  an  orchestration.  Instead,  each  of  these  instances  contains  a  different  send  port.  Finally, 
machine  D  houses  the  MessageBox  databas
e  that’s  used  by  all  of  the  host  instances  in  this 
configuration. 
 
Figure 8: A single BizTalk Server installation can be spread across multiple hosts on multiple 
machines. 
This example illustrates several ways in which hosts might be used. For instance, since both machines 
A  and  B  are  home  to  the  orchestrations  P  and  Q,  BizTalk  Server  2006  R2  can  automatically  load 
balance requests to these orchestrations based on the availability and current load on each machine. 
This allows a BizTalk application to scale up as needed  for high-volume processes. Notice also that 
machine  C  contains  two  different  ways  to  handle  outgoing  messages,  with  each  perhaps  using  a 
different send adapter. And because each host instance is isolated from every other host instance
they’re separate Windows processes—it’s safer to run code that’s not completely trusted, such as a 
new custom adapter, in a separate instance. It’s also worth pointing out that even though this example