Download presentation
Presentation is loading. Please wait.
Published byApril Parker Modified over 8 years ago
1
Welcome to the Twin Cities BizTalk User Group July 2006
2
Implementing a BizTalk Rule Engine Solution. Tips, Tricks & Best Practices Balaji Thiagarajan ITRGroup, Inc www.itrgroupinc.com
3
This event is sponsored by ITR Group, Inc
4
Introduce you to the group
5
About me Working on BizTalk since the BizTalk 2000 days MCP in BizTalk since August 2002 Worked for Microsoft Consulting Services, India. Currently working as a BizTalk Consultant for ITRGroup, Inc.
6
Agenda Overview of BizTalk Rules Engine(BRE) Features Building Rules Architecture Rules & Orchestration Q & A
7
BRE Overview What are Rules? Rules are –Declarative statements for capturing changing business policies –Represented as: IF THEN –Logically grouped into policies Rules allow users to –Define & own business policies without coding –Change business policies in real time without rebuilding/redeploying applications
8
BRE Overview BizTalk Rules in a Nutshell Lightweight.Net engine –Host-agnostic for in-process scenarios –Integrated with BizTalk Server Powerful Framework & Tools –Supports Developers, IT Admin and IW –Complete API for design & execution Rich Modeling Capabilities –Data Sources:.Net Objects, XML, DB –Logical expressions Enterprise-Ready –Security, Performance, Versioning
9
BRE Overview Rules Tools - Development Business Rule Composer –Bind Vocabularies –Build & test policies –Deploy Policies Visual Studio.NET –OD – Integrate policies & processes –Build supporting code Fact Retrievers – long term facts Custom operations
10
BRE Overview Rules Tools – Admin/Management Rule Engine Deployment Wizard –Deploy policies –Export/Import policies & vocabularies HAT –Tracking configuration –Policy execution monitoring
11
Demo #1 Automated Loan Processing
12
Agenda Overview of BizTalk Rules Engine(BRE) Features Building Rules Architecture Rules & Orchestration Q & A
13
Features Design Time Rich built-in library that includes: –Temporal, relational predicates –Support for ranges and regular expressions –Arithmetic operations –Engine execution control functions Support for complex logical expressions(AND / OR / NOT) User-defined predicates/functions/actions Policy testing
14
Features Run Time Application integration via Policy object Support for long-term (semi-static) & short-term (dynamic) facts Performance optimizations Forward Chaining Inference Mechanism –Finds all true statements given knowledge base and a new set of facts Execution tracking
15
Agenda Overview of BizTalk Rules Engine(BRE) Features Building Rules Architecture Rules & Orchestration Q & A
16
Building Rules.Net Objects Drag and drop public members –Actions –Predicates –Arguments Assert.Net Instances IF MyClass.A = 5 THEN MyClass.B() MyClass Engine Assert
17
Building Rules Data Connection Perform dynamic queries on a DB DataConnection(“DataSetName”,”TableName”, SqlConnection,SqlTransaction)
18
Building Rules Data Connection - Retrieve IF Table.CustType = “Residential” AND Table.Balance > 1000 THEN …. SELECT * FROM Table WHERE CustType = “Residential” and Balance > 1000 TDR Engine TDR
19
Building Rules Data Connection - Update IF Table.CustType = “Residential” AND Table.Balance > 1000 THEN Table.Status = “Over Limit” SELECT * FROM Table WHERE CustType = “Residential” and Balance > 1000 TDR Engine TDR Call DC.Update() and commit the SQL Transaction Modify
20
Building Rules TypedDataTable Wrapper class on ADO.NET DataTable Rules built against DB tables, using “Database binding type” field Asserts individual TypedDataRows Note: If you assert a DataTable – without the TypedDataTable wrapper – it is treated as a standard.NET object
21
Demo #2 Automated Loan Processing with DB
22
Building Rules TypedXmlDocument
23
Building Rules TypedXmlDocument
24
Building Rules TypedXmlDocument IF orderline.quantity > 5 THEN orderline.discount = 10
25
Building Rules TypedXmlDocument Objects are created based on XPath selectors; Xpath Field represents object “property” Other points –Adding nodes –XPath editing
26
Building Rules Forward Chaining Policy Rule 1 If A.amount > $0 Then B.total + A.amount Rule 2 If B.total > $50 & < $100 Then B.discount = 10% Rule 3 If B.total >= $100 Then B.discount = 15% A.Amount = $25 B.Total = $80 Rule Engine Agenda B.Total = B.total + A.amount B.Discount = 10%
27
Building Rules Forward Chaining Policy Rule 1 If A.amount > $0 Then B.total + A.amount Rule 2 If B.total > $50 & < $100 Then B.discount = 10% Rule 3 If B.total >= $100 Then B.discount = 15% A.Amount = $25 B.Total = $80 $105 Rule Engine Agenda B.Total = B.total + A.amount B.Discount = 10% B.Discount = 15%
28
Building Rules Engine Control Functions Assert –Add facts to working memory Retracts –Remove facts from working memory RetractByType –Remove all instances of the specified type Update –Instruct engine to reevaluate relevant facts/conditions
29
Building Rules Engine Control Functions CreateObject –Exposed as constructors in Composer Halt –Stop engine processing Clear –Clear facts from memory –Clear actions from agenda Executor –Handle to the rule engine instance
30
Agenda Overview of BizTalk Rules Engine(BRE) Features Building Rules Architecture Rules & Orchestration Q & A
31
Architecture Schematic
32
Architecture Policy Instantiation – Get RE Instance
33
Architecture Policy Instantiation – Execute Engine
34
Architecture Policy Instantiation – Get RE Instance
35
Demo #3 Policy Testing
36
Agenda Overview of BizTalk Rules Engine(BRE) Features Building Rules Architecture Rules & Orchestration Q & A
37
Rules and Orchestration Patterns Illustrated
38
Rules and Orchestration Patterns Illustrated
39
Q & A
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.