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.
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.
See Also
For more information see:
- How to: Transform a Message and Route to a Service Endpoint Using a Request-Response Message Exchange Pattern
- Using MongoDB for Message Body Tracking in the ESB Toolkit for BizTalk 2013