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.
| Cid | Company |
| 1 | Starbucks |
| 2 | Ford |
| 3 | Walmart |
| 4 | Samsung |
| 5 | Nestlé |
| 6 | Michelin |
| 7 | Procter & Gamble |
| 8 | Qualcomm |
|
| Bid | Buyer | Sid | Supplier | Item |
| 1 | Starbucks | 5 | Nestlé | Coffee Products |
| 2 | Ford | 6 | Michelin | Performance Tires |
| 3 | Walmart | 7 | Procter & Gamble | Consumer Goods |
| 4 | Samsung | 8 | Qualcomm | Mobile 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.