21
Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent BizTalk Consultant 1 ©2009 S. Cavanagh, B. Thiagarajan Twin Cities Connected Systems User Group

Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

Embed Size (px)

Citation preview

Page 1: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 1

Business Rules Execution via Managed Stored ProceduresA Data-centric Approach

Steve Cavanagh, Software Architect, Ramsey CountyBalaji Thiagarajan, Independent BizTalk Consultant

Twin Cities Connected Systems User Group

Page 2: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 2

AGENDA

Tonight’s presentation is intended to be conversational. Please ask questions.

Steve and Balaji

• Introduction

• Business Problem

• Solution Overview

• Mini Demo of System

• Code: Managed Stored Procedure & Rules Service

• Code: Rules

• Q & A

Page 3: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 3

Tonight’s food provided by

Page 4: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 4

Business ProblemCreate a new health care claiming system to replace a legacy system that is comprised of:

• A hodgepodge of technologies: VB6, Cobol, Access

• Business rules embedded in both stored procedures and VB6 code

• Difficult to troubleshoot

• Does not contain a good audit trail

• Valuable business information is not readily accessible

Page 5: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 5

GoalsCreate a health care claiming system that is:

• Accurate

• Auditable

• Flexible

• Maintainable

• Informative

Page 6: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 6

Claiming Solution

Page 7: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 7

Proof of Concept

An essential aspect to the project.

Steve Reed from Microsoft collaborated on design and provided technical assistance.

Page 8: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 8

AGENDA

• Introduction

• Business Problem

• Solution Overview

• Mini Demo of System

• Code: Managed Stored Procedure & Rules Service

• Code: Rules

• Q & A

Page 9: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 9

Managed Stored Procedure/Function

Page 10: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 10

Rules Engine Server

Page 11: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 11

Rules Engine Service

Page 12: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 12

Enable CLR

Page 13: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 13

Managed Function Installation

Page 14: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 14

Rules

• Overview• Static Support – Registry Key• Vocabulary Upgrader • Unit Testing - BizUnit

Page 15: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 15

Overview of Rules

• Set of simple rules using Xml facts and Database calls using static method helper components.

• The helper components do not implement IFactCreator.• Enterprise Library 3.1 was used for Logging, Error

Handling, Caching and DB Calls.

Page 16: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 16

Static Support - Registry Key

Page 17: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 17

Vocabulary Upgrader

• Problem: Upgrading to a new version of vocabulary will not automatically upgrade the vocabulary references in Rules.

• Result: Multiple versions of vocabulary references present in a single version of rule.

• Solution: Vocabulary Upgrader is now integrated with the Acumen Rule Manager previously available as a stand alone application.

Page 18: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 18

Page 19: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 19

Unit Testing

• Used BizUnit framework to develop Test Scripts.• Used NUnit to run the tests.• BizUnit.BizTalkSteps.FactBasedRuleEngineStep – new on

latest BizUnit release, not much documentation.

Page 20: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 20

Q & A

• How has Ramsey County benefitted from this new system?– Found $100,000.00 in claims that were “missed” by

the old system.– Changes to rules are easier to implement and verify.

Page 21: Business Rules Execution via Managed Stored Procedures A Data-centric Approach Steve Cavanagh, Software Architect, Ramsey County Balaji Thiagarajan, Independent

©2009 S. Cavanagh, B. Thiagarajan 21

Thank you for attending

Steve [email protected]

Balaji [email protected]