Calling BizTalk Server Orchestrations in Different Hosts

Recently there was  a question on this on BizTalk Server DLs. Here’s what got discussed on the e-mail thread. Putting this on the blog so that more people get to see it and can benefit from this discussion.

Question:

What is the impact of configuring the calling and called orchestrations in different hosts?  It sounds like even if they are configured to run in different hosts, the called orchestration will still execute under the calling orchestrations process.  Does this even work if you have orchestrations configured to run on separate machines (by the host instance configuration)?

Response 1:

My understanding is that “Call Orchestration” will always run in the host of the calling orchestration regardless of the bindings….

“Start Orchestration” will respect bindings

Response 2:

That is correct. Also, to your other question – even if the called orchestration is being configured on a different host and machine, do note that the assembly of the called orchestration is still being deployed on the calling host / machine due to project references. Since call orchestration is more like a sub routine call by loading the assembly, this should still work fine even if the called orchestration is configured to run on a separate host altogether.