Here are some suggested configurations for calling InRule from BizTalk.
Calling InRule from within a BizTalk Orchestration using Message Assignment
For low-load scenarios, InRule can be invoked directly from a BizTalk orchestration using the Message Assignment shape. This approach is not recommended for the following scenarios:
- Orchestrations that will experience high sustained loads
- Rule applications that have a runtime of greater than 500 ms per request
Calling InRule using a send-receive port and the irAdapter for BizTalk Server
For higher load scenarios, the irAdapter for BizTalk Server can be used with a send-receive port. The adapter allows for more flexible hosting options to be used with BizTalk that control load
Calling InRule using a send-receive port and a custom BizTalk adpater
In high-load scenarios where specialized calls must be made to irSDK, a custom BizTalk adapter can be used with a send-receive port. Like the irAdapter, this scenario allows for more flexible hosting and throttling options with built-in BizTalk configuration settings. Please contact InRule support for sample code to create a custom BizTalk adapter with irSDK.
Hosting irAdapter and other custom adapters
The suggested configuration for hosting BizTalk adapaters with InRule is as follows:
- Host irAdapter or the custom adapter in a separate BizTalk Host instance
- Configure the MaxWorkThreads for the separate host instance to either four threads or one thread per processing core, whichever is greater. Please see the following link for more information https://msdn.microsoft.com/en-us/library/aa561380.aspx