220 likes | 490 Views
Using the Microsoft business rules engine. Ed Jones MCT, MCPD, MCTS. Overview. What to Expect Today’s Demo BizTalk in a Flash The case for business rules engines Overview of the Microsoft Business Rules Engine BRE Concepts How to make a rule How to call a rule. What to expect.
E N D
Using the Microsoft business rules engine Ed JonesMCT, MCPD, MCTS
Overview • What to Expect • Today’s Demo • BizTalk in a Flash • The case for business rules engines • Overview 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 it No previous BRE experience required!
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.
BizTalk Server Capabilities • Messaging • Orchestration • B2B Integrations • Business Rules Engine • RFID & Sensor Platform • Business Activity Monitoring • Tools & Application Life cycle Management • Scale-Out Configuration • Virtualization • Windows Azure • IaaS • PaaS
Why use a Business Rules engine? Lower human error in decision making Rules can be applied more consistently People have trouble memorizing complex rules Saves time Separation of Concerns Systems are insulated from rules changes Centralize 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 actions • Actions: • 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 fact • Vocabularies: • Business or user-friendly terminology applied to Facts
How to implement a Rule 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. Construct the Rule using the Business Rule Composer 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. Deploy the rule through the Composer or using the BRE Deployment Utility
How to use a rule Create a reference to Microsoft.RulesEngine Initialize any facts and add them to an object array Create a Policy objects Apply the facts Execute the policy Make use of the results
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.
Thank You! Email: ed.jones@rbaconsulting.com LinkedIn: http://www.linkedin.com/in/edjjones/ Twitter: @TalentedMonkey Blog: http://talentedmonkeys.wordpress.com