USING THE MICROSOFT BUSINESS RULES ENGINEEd JonesMCT, MCPD, MCTS
OVERVIEW
What to ExpectToday’s DemoBizTalk in a FlashThe case for business rules enginesOverview of the Microsoft Business Rules Engine– BRE Concepts– How to make a rule– How to call a rule
WHAT TO EXPECT
A basic understanding of the Business Rules Engine (BRE) and how to use itNo previous BRE experience required!
P:3
TODAY’S DEMO: WHAT’S FOR DINNER?
I’m hungry!
Let’s build a system that can tell us what to have for dinner based on our mood and how much time we have.
WHAT IS BIZTALK?
BIZTALK SERVER CAPABILITIES
MessagingOrchestrationB2B IntegrationsBusiness Rules EngineRFID & Sensor PlatformBusiness Activity MonitoringTools & Application Life cycle ManagementScale-Out ConfigurationVirtualizationWindows Azure– IaaS– PaaS
P:8
BIZTALK RUNTIME ARCHITECTURE
IMPLEMENTING BUSINESS RULES
WHY USE A BUSINESS RULES ENGINE?
Lower human error in decision makingRules can be applied more consistentlyPeople have trouble memorizing complex rulesSaves timeSeparation of ConcernsSystems are insulated from rules changesCentralize rules to ease maintenance
BRE CONCEPTS
Policy:– A collection of business rules that are to be executed
as a unit.– Policies can be versioned so that multiple versions of
the same policy can exist in the engine simultaneously.Rules:– The actual representation of the business rules within a
policy. – They are essentially statements that are evaluated and
if true, cause some action to happen.– A rule is made up of Facts, Conditions, and Actions
BRE CONCEPTS
Fact:– Some piece of information that a rule may evaluate or act upon.Conditions:– A set of predicates, simple or complex, used to define when a
rule may “fire”, or attempt to apply its actionsActions:– Change a value or call a function– Assertion: apply a new fact– Retraction: remove a fact from memory– Update: forces a fact to be re-evaluated, as well as all rules that
use the factVocabularies:– Business or user-friendly terminology applied to Facts
P:12
HOW TO IMPLEMENT A RULE
1. Build the items that the rule will evaluate or act upon (the facts). These can be objects, XML documents, database queries, etc. If they are . objects, they must be in the GAC.
2. Construct the Rule using the Business Rule Composer
3. Test the rule in the Business Rule Composer. If there are .NET objects to be included in the facts, you will need to build FactCreators.
4. Deploy the rule through the Composer or using the BRE Deployment Utility
THE BUSINESS RULE COMPOSER
P:14
HOW TO USE A RULE
Create a reference to Microsoft.RulesEngineInitialize any facts and add them to an object arrayCreate a Policy objectsApply the factsExecute the policyMake use of the results
P:15
DEMO: WHAT’S FOR DINNER?
THE “WHAT’S FOR DINNER” RULE SCENARIO
Whenever I’m happy, I want to grill a steak.Steaks can be grilled very quickly.Whenever I’m sad, I want comfort food, like Fried Chicken.Fried Chicken takes a long time to cook.When I’m ambivalent or don’t care, I’ll eat Pizza.Pizza can be picked up or delivered quickly.Pizza’s always good.
P:17
Email: [email protected]: http://www.linkedin.com/in/edjjones/ Twitter: @TalentedMonkeyBlog: http://talentedmonkeys.wordpress.com
THANK YOU!