Orchestration PerformanceRecommendations for Optimizing Orchestration PerformanceThis includes information about persistence points, nesting orchestrations, inline sends and messaging only patterns, and design patterns. Persistence Points
|
It is better to use the Call Orchestration shape rather than asynchronous mechanisms (Direct Bound Ports, Self-Correlating Ports, and the Start Orchestration shape). The use of the Call Orchestration shape has some disadvantages since it introduces a strong dependency between parent and child orchestrations and enables only synchronous calls between these components; however, it is best strategy for maximizing scalability and performance. In fact, the use of mechanisms such as Direct Bound Ports, Self-Correlating Ports and the Start Orchestration shape allows for loosely decoupled caller orchestrations from caller orchestrations, and also allows implement asynchronous communication patterns between them. However, all these techniques require multiple roundtrips to the MessageBox database to persist and rehydrate the internal state of the caller orchestration and to exchange messages between these components. Consequently, the use of asynchronous patterns improves the flexibility of a BizTalk application, but can significantly increase the contention on the MessageBox, and can reduce the overall throughput and speed of the application. For more information, see the following resources: |
Whenever possible, minimize the use of orchestrations and privilege messaging-only patterns to increase the overall throughput and reduce the latency of the business processes. If there is no need to run long-running transactions or to invoke several systems for each request, you could consider eliminating orchestrations and moving business logic to Receive and Send ports. In this case, implement custom pipelines and reuse the helper classes invoked inside orchestrations. To achieve better performance in low latency scenarios, adopt one of the following approaches:
| |
|
The Orchestration Designer allows developers to implement a wide range of enterprise integration patterns (such as Aggregator, Exception Handling and Compensation, Message Broker, Scatter and Gather, Sequential and Parallel Convoy). Those patterns can eventually be combined to realize complex Enterprise Application Integration (EAI), Service Oriented Architecture (SOA), and Business Process Management (BPM) solutions with BizTalk Server. For more information, see the following resources:
|