We're developing a WPF business application for internal users, but this problem could apply to WinForms easily as well. We want to leverage a business rules engine to make modifying the rules in the future easier as well as to possibly let the business folks to do it themselves at some point.
BizTalk (we're using 2010) exposes its Business Rules Engine and, while complex, this looks to be a potentially worthwhile solution especially if we look to using it for future applications as well. We've loaded up a virtual server with the developer edition to try it out, as well as its own SQL Server instance to run off of.
Everything I've read (example and example) seems to show adding the BRE assemblies to the application project as references and then using the provided classes to call and execute policies. But they also suggest that these assemblies require a license and we can't exactly license BizTalk for each of the dozens of possible end users that will use this WPF app.
Am I wrong about the licensing issue? Is it okay (and normal) to deploy the BRE assemblies with your app to all client machines in order for them to communicate with the BizTalk server where the policies exist? Should I look into exposing the BRE API via a Web Service or something? Are there any implementations out there already for doing that? Exposing the API like that seems like no small undertaking... or is it?