BizTalk Business Rule Engine—Database Facts

Building on Johann Cooper’s BRE database facts pattern, this demo uses a simple Company table—a natural follow-on from the Person table in the original article—to demonstrate how database facts can be grouped and resolved inside the BizTalk Business Rules Engine.

(For the original explanation of database fact grouping in the BRE, see Johann Cooper’s article: “Using the BizTalk Business Rules Engine to query SQL data.”)

No additional business rules are applied. The demo focuses purely on database fact resolution and the performance of technologies invoking the BRE.

CidCompany
1Starbucks
2Ford
3Walmart
4Samsung
5Nestlé
6Michelin
7Procter & Gamble
8Qualcomm
BidBuyerSidSupplierItem
1Starbucks5NestléCoffee Products
2Ford6MichelinPerformance Tires
3Walmart7Procter & GambleConsumer Goods
4Samsung8QualcommMobile Processors

Reference data shown to illustrate the database facts resolved during rule execution.

Looking ahead

While this demo uses the BizTalk Business Rules Engine, it is not about BizTalk as a long-term platform. With BizTalk approaching end of support, the database-fact pattern demonstrated here remains relevant beyond BizTalk itself.

The BRE can continue to run on-premises without BizTalk, be invoked directly by nServiceBus frameworks, or be replaced by Azure-based rules engine capabilities, which adopt the same fact-driven decision pattern and support .NET and XML facts, while externalising database access rather than querying databases directly.

This demo is therefore less about BizTalk specifically, and more about validating which technologies can execute rules and resolve database facts efficiently as the platform landscape evolves.