JBoss BRMS Primer - Looking at a Business Rules Management System

Post on 13-Jan-2015

955 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

This was a guest lecture given at the Radboud University Nijmegen in the Netherlands on 17 Dec 2013 for students taking a business rules course for their Masters in Information Technology.

Transcript

1

JBoss BRMS PrimerLooking at a Business Rules Mangement System

December 17, 2013

Eric D. SchabellJBoss Technology Evangelist

2

Agenda

● The Basics– what is a BRMS, CEP,

BPMS?

● The Concepts– what is inference?

– what is a rule?– how does engine work?

● Demo● Questions

3

What is a BRMS?

4

The BRMS Solution

FINANCIAL SERVICES COMPANY

Product Request

5

FINANCIAL SERVICES COMPANY

Product Request

Example

Problems:1. Business rules are hidden

in applications

6

FINANCIAL SERVICES COMPANY

Product Request

Example

Problems:1. Business rules are hidden

in applications

2. It takes too long to change business rules

7

FINANCIAL SERVICES COMPANY

Problems:1. Business rules are hidden

in applications

2. It takes too long to change business rules

3. People interpret rules inconsistently

Product Request

Example

8

Rule Repository

The BRMS Solution

1. Separate the business rulesfrom the applications

9

Rule Repository

AHA!

The BRMS Solution

1. Separate the business rulesfrom the applications

2. Express rules in terms that the business can readily understand - visibility

10

Rule Repository

AHA!

The BRMS Solution

1. Separate the business rulesfrom the applications

2. Express rules in terms that the business can readily understand - visibility

3. Empower business and IT experts to collaborate - agility

11

Rule Repository

1. Separate the business rulesfrom the applications

2. Express rules in terms that the business can readily understand - visibility

3. Empower business and IT experts to collaborate - agility

4. Support all the rules - consistency

AHA!

The BRMS Solution

12

What is CEP?

13

Problems:

Hard to derive business relevant data from available information

Important patterns go undetected

Business fails to respond to changes in its environment

Example: Multiple Customer Touch Points

14

Complex Event Processing

Detect events of significance to a business by recognizing time-based patterns in one or more real-time data feeds...

“Weather delay in London”

Business Rules

15

What is a BPMS?

16

A Business Process

Catalog

Orders

Shipping

Financials

Inventory

Packaged Apps (e.g. SAP)

An activity or set of activities that will accomplish a specific organizational goal...

17

The BPMS Solution

Catalog Shipping

1. Automate interactions with LoB Systems...

Packaged Apps

18

Catalog Shipping

1. Automate interactions with LoB Systems...

2. Drive the business process from a model...

Packaged Apps

The BPMS Solution

19

Catalog Shipping

1. Automate interactions with LoB Systems...

2. Drive the business process from a model...

3. Manage user participation...

Packaged Apps

The BPMS Solution

20

Catalog Shipping

1. Automate interactions with LoB Systems...

2. Drive the business process from a model...

3. Manage user participation...

4. Provide visibilityinto process execution data

Packaged Apps

The BPMS Solution

21

The Concepts

22

JBoss BRMSWhat is inferencing?

● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing)

23

JBoss BRMSWhat is inferencing?

● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing)

24

JBoss BRMSWhat is inferencing?

● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing)

25

JBoss BRMSWhat is inferencing?

● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing)

26

JBoss BRMSWhat is inferencing?

● We want to take all of our data (facts) and combine it with our knowledge (rules) and come up with some conclusions (inferencing)

27

JBoss BRMSWhat is a rule?

● In short, a rule is an premise and conclusion– If it is raining, then the ground must be wet

● A rule is made of conditions and actions. When all the conditions are met, a rule may “fire”.

● The conditions are collectively referred to as the LHS (left hand side) and the actions are referred to as the RHS (right hand side, or consequence).

● A rule operates on facts (data). In our case, these facts are instances of objects in our application.

28

JBoss BRMSInference Engine

● The brain of a Production Rule System is an Inference Engine which matches facts against Production Rules.

● When matches are found, the rules actions are fired.● Actions most often change the state of the facts, or perform

some external action on the application.

29

Conceptual example

KnowledgeBase

StatelessKnowledge

Session

Rule package(artifacts)

Agenda

30

Example: real BPM

KnowledgeBase

StatefulKnowledge

Session

ProcessDefinition

ProcessInstance

31

Agenda

RuleRule

RuleRule

Rule

FactFact

FactFact

Fact

WorkingMemory3. Assert Facts

RuleBase

FactFact

FactFact

Fact

RuleRule

RuleRule

Rule2. C

reate

4. F

ire A

ll Rule

s

(5) activation-> consequence

1.Parse DRLActivation

Rule Fact

Activation

RuleFact

Fact

JBoss BRMSHow it Works

32

The Architecture

33

JBoss BRMS Vs BPM Suite

JBoss BRMS 6.0JBoss BRMS 6.0

JBoss BPM Suite 6.0Target - Realtime Decision Management

Target:Process AutomationService Enabled OrchestrationIntelligent Business Operations

34

JBoss BRMS - Components

35

JBoss BPM Suite – Components

36

37

Repository

Businessrule definitions

Business data

Client applications

Business analysts

Developers

Rules engine

Event processor

Real-time data & event feedsAuthoring tools

for business users

Authoring tools for developers

Components

38

Repository

Businessrule definitions

Business data

Client applications

Business analysts

Developers

Rules engine

Event processor

Real-time data & event feedsAuthoring tools

for business users

Authoring tools for developers

Drools 6.0

UberFire

New in 6.0

Technology Preview

39

BRMS Components

Repository

BusinessRule Definitions

Business Data

Enterprise Applications

Developers

Business ProcessManager

Rule Engine

Event Processor

Business Users

Web Services

Java

Business Events

Authoring Tools for Business

Users

Authoring Tools for Developers

Operations

Business Central

Business Analysts

40

BRMS Components

Repository

BusinessRule Definitions

Business Data

Enterprise Applications

Developers

Business ProcessManager

Rule Engine

Event Processor

Business Users

Web Services

Java

Business Events

Authoring Tools for Business

Users

Authoring Tools for Developers

Operations

Business Central

Business Analysts

41

BRMS Components

Repository

BusinessRule Definitions

Business Data

Enterprise Applications

Business Analysts

Business ProcessManager

Rule Engine

Event Processor

Business Users

Web Services

Java

Business Events

Authoring Tools for Business

Users

Authoring Tools for Developers

Operations

Business Central

Developers

42

43

Repository

Businessrule definitions

Business data

Business analysts

Developers

Event processor

Rules engine

Business Events

Authoring tools for business

users

Authoring tools for developers

Components

Business users

BAM

Business ProcessManager

Enterprise Applications

Business users

Web Services

Java

44

New in 6.0

Repository

BusinessLogicDefinitions

Business Data

Enterprise Applications

Business Analysts

Developers

Business ProcessManager

Rule Engine

Event Processor

Business Users

Web Services

Java

Business Events

Authoring Tools for Business

Users

Authoring Tools for Developers

Business Operations/Analysts

Business Central

Data ModelerForms Designer

jBPM 6.0

45

Business Resource Optimizer

46

Core Services: Business Resource Optimizer (TP)

47

Core Services: Business Resource Optimizer (TP)

48

Demo

49

Eric D. SchabellJBoss Technology Evangelist (Integration & BPM)@ericschabell / erics@redhat.com

Questions?

50

`

JBoss BRMS & BPM Suite Articles:

http://schabell.org/search/label/BRMS

http://schabell.org/search/label/BPMS

JBoss BPM Suite Demos:

http://www.schabell.org/2013/10/jboss-bpm-suite-rocking-the-mortgage-demo.html

http://www.schabell.org/2013/11/jboss-bpm-suite-automated-lending-generic-loan-demo.html

http://www.schabell.org/2013/12/bpms-examining-migrated-customer-evaluation-demo.html

https://github.com/eschabell/business-resource-optimizer-demo

https://github.com/eschabell/bpms-customer-evaluation-demo (migration from BRMS 5.3)

JBoss xPaaS Demos:

https://github.com/eschabell/bpms-bam-dashboard

https://github.com/eschabell/openshift-bpm-bam-dashboard

top related