Difference between call and start Orchestration

Posted: August 15, 2009 in BizTalk
Tags: ,

BizTalk assigns one thread for every orchestration; even if you are using parallel shape inside your orchestration!

When you use Call Orchestration shape vs Start Orchestration shape?

The way BizTalk handles messages internally is different when it comes to calling or starting orchestrations.

Calling an Orhestration will use the same thread to run another orchestration while using Start Orchestration will create new thread to run the started orchestration.

A Call Orchestration returns the control back to the caller. A Start Ochestration shape starts the orchestration in a non-deterministic way.

As a conclusion, Calling an Orchestration will be synchronous operation where the caller waits for a response, while Start Orchestration is asynchronous operation.

Call Orchestraion

  1. Will reduce latency as call orchestration doesn’t go via messagebox
  2. Possible to pass all types of parameters
  3. Call shape will tightly bound orchestration

Start Orchestration

  1. Allows to execute orchestraions asynchrounsly
  2. Will increase latency as strat orchestration call go via messagebox
  3. Possible to pass all types of parameters. No return param is supported
  4. Start shape will tightly bound orchestration

Short hint: If you call an orchestration from another project you have to set the Type Modifier Property to public. Otherwise the orchestration will not show up in the dialog where to choose the orchestration you call.

Tags: BizTalk | Orchestration

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s