ESB Toolkit Tip #3: Use Messaging Services instead of Orchestration Services when exposing Web Services with the ESB Toolkit

When exposing Web Services with the ESB Toolkit try to minimize the use of Orchestration Itinerary Services to increase overall throughput and reduce the latency of business processes. If there is no need to run long running transactions, then consider eliminating Orchestration Services and moving business logic to Messaging Services to reduce the total amount of roundtrips to the Message Box database and decrease the latency due to database access. Using Messaging Services it is possible to transform a message multiple times and route the message to its endpoints with only a single persistence to the Message Box database. In pipelines, the ESB Dispatcher and ESB Dispatcher Disassemble pipeline components provided by BizTalk ESB Toolkit act as message interceptors and execute messaging-based itinerary services, whether it is a routing, transformation, or a custom service.

 

Itinerary Message Flow

A typical message flow through an ESB-based Web Service might look like the diagram below.

Itinerary Message Flow

 

 

 

 

 

 

 

 

 


 
If the Web Service has multiple actions/methods you can also use Messaging Services! In that case, each message type has its own itinerary. Use business rules in the On-Ramp to select the appropriate itinerary.

 

Itinerary

The Routing and Transformation Services in the Itinerary below are all Messaging Services. With the Container property is the exact execution location defined.

RequestResponse Webservice

 

 

 

 

 

 

 

 

 

See Also

For more information see:

About the author

Tomasso Groenendijk lives in Netherlands and is a senior integration consultant at Motion10. He has over 15 years’ experience in software development and software design. Tomasso is specialized in application integration with a strong interest in the Windows Azure cloud platform. In 2014, 2015 and 2016 Tomasso was awarded with the Microsoft Azure MVP award. He is an active contributor to the integration community through his work on his blog, MSDN samples, TechNet Wiki and also speaking on events.

 
 
 
MVP profile Tomasso Groenendijk
 
 
Sentinet Product Specialist
 
 
BizTalk360 Product Specialist

Month List