Learn ODM

Learning ODM is easy and to make it easier I am trying to come with common questionnaire and answer the same.

1. What is BRMS ?

BRMS stands for Business Rule Management Systems and is a system for managing and storing business rules independently from the application source code and where business owns/had privilege to author/change decision logic with minimal or no IT intervention.

2. What is ODM?

ODM stands for Operational Decision Management and is basically a technology/tool/framework which facilitates the maintenance of day to day business operation logic/rules with more flexibility and robustness. With ODM business decisions are managed separately from business applications and application code.

3. What is a Business Rule ?

Business Rule is a statement of a business policy that describes/controls it and also which business users can author/maintain and applications can invoke the same for execution.

4.Different Licenses of ODM ?

Currently ODM is offered in three different licenses (8.9 version considered).

1. ODM Standard : All rules related features are included.
2. ODM Express : Similar to standard with license restrictions.
3. ODM Advanced : ODM Standard + DSI (Decision Server Insights) features are included.

5.Different ODM user roles?

Majorly we divide the ODM users are Business Users and Technical Users.

Business Users:
1. Business Analyst : Who interacts b/w business users and technical users and make the communication b/w them easy and documents them in the format easily accessible by all.
2.Policy Manager : Owner of the business policy
3. Rule Author : Domain expert who will is authoring/maintaining the rules

Technical Users:
1. Architect : Who designs the solution,orchestration of rules and optimization of rules execution.
2. Developer : Who develops, deploy and test rules.
3. Administrator : Who owns the installation and configuration of product.

6. What is ABRD?

ABRD stands for Agile Business Rule Development and it is an iterative approach to implement the decision management incrementally.

Different phases in ABRD are as below:

1.  Business Modeling
2.  Requirement Gathering
3.  Analysis & Design
4. Implementation
5. Test
6. Deployment

    7. Different Rule Artifacts ?

-Action rules
-Decision tables
-Decision trees
-Technical rules

8.What are Ruleset Parameters?

They are the interface between the ruleset and the calling application. Objects can be of three types IN, OUT and IN_OUT. So any parameter which has to interact with outside world has to be defined here.

9. What is Orchestration ?

Orchestration is an activity where we logically organize rules into rule packages and graphically outline the flow/sequence of rule execution with a ruleflow.

10. What are Ruleset variables?

Ruleset variables are the variables defined in variable set which can be accessed internally throughout the rule projects but only restriction is it cannot be shared with calling application.

11. Different Rule engine types?

We have two rule engines to execute the rules in project. – Classic Rule Engine – Decision Engine Classic Rule Engine is deprecated in higher versions of ODM and will be removed subsequently.

12. What is Synchronization and different commands associated with it?

Synchronization is a process in which we will be ensuring the rule artifacts present in rule designer and decision center (Enterprise/Business) are updated as per the latest business policy.

Different commands are:
•Publish -> Sends artifacts from Designer to Decision Center
•Update -> Receives artifacts from Decision Center into Designer
•Override and Publish -> Resolves conflict by replacing the Decision Center artifact with the Designer version
•Override and update -> Resolves conflict by replacing the Designer artifact with the Decision Center version

13. What is a Rule Engine and different execution modes?

Rule Engine is a Java Object which executes rules. – Application Object references are added to the rule engine – Engine process the rules against the objects provided and executes when appropriate.
Different execution modes are : Fastpath (Default), Reteplus and Sequential.

14. What is B2X mapping and different types associated with it?

BOM-2-XOM (B2X) mapping is the association of every element in the BOM to the corresponding XOM member which is very much required to execute the rules at run-time.

Different types of B2X are:
1. Default Mapping: With fully qualified name
2. IRL Mapping: By use of IRL functions
3. Extender Mapping: By making use of Java extender class with static element

Rule engine at run-time searches for mapping in this order: IRL Mapping -> Extender Mapping -> Default Implicit Mapping

15. What is Verbalization and associated concepts around it ?

Verbalization is a process of attaching meaningful terms/phrases to the BOM elements which are client specific/significant , which are easily understood by every stakeholder of the rule project.

– We can have multiple verbalization on the same BOM element which provides more flexibility to author the rules
– Without verbalization, we cannot access those elements during rule authoring
– Default verbalization is provided by the tool

16. What are different ruleflow elements?

Different ruleflow elements are as below:
– Start Node: One ruleflow should have only one start node
– End Node: One ruleflow can have one or more end nodes
– Rule Tasks: Set of rules, usually corresponds to a rule package
– Action Tasks: Where BAL or IRL can be written directly in ruleflow
– Subflow Tasks: Acts as reference to another ruleflow
-Transitions: Helps to connect various ruleflow elements

17. What are initial and final actions, why are they used?

Initial and final actions are the BAL statements/IRL code used for pre-processing or post processing of a request effectively.
These actions can be set at ruleflow level (Start/End Nodes) or at rule package level (Task level). This action statements helps to initialize or set values to variables which plays a defining role in the rules.

18. Different Runtime rule selection options available?

Rule selection scope helps to generate the list of rules to be considered for each task and different options are as below:
1. Dynamic BAL : Each time the task is executed
2. Static BAL : First time when the task is executed
3. IRL: Rule filter in IRL language

19. What is Rule Overriding?

Rule overriding is a rule property set to override certain rules during execution. This is usually used to override general rules so that more specific rules are used during the execution.

20. Advantages of Decision Tables and performance considerations around it?

Decision Tables are very helpful to group large set of business rules with a uniform/similar structure.

Major advantages are :
1. Pre-conditions can be written which is applicable to entire DT
2. Gaps, Overlaps. Errors are detected and noted early.
3. Can be locked to ensure data is not manipulated.

Performance Considerations:
1. Keep the DT as simple as possible
2. Keep the rows less than thousand
3. Add max of 20 columns


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s