doag sig day - siebel business rules
TRANSCRIPT
DOAG SIG Day - Siebel Business RulesAlexander Heinze
Principal Sales Consultant
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remain at the sole discretion of Oracle.
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
What are Business Rules?
• Wikipedia: “Business rules or business rulesets describe the operations, definitions and constraints that apply to an organization in achieving its goals.”
• Business perspective:– A directive intended to influence or guide business’s behavior in the
application
– Guidance that there is an obligation concerning conduct, action, practice, or procedure within a particular activity or sphere.
• IT perspective:– A statement that defines or constrains some aspect of the business
– It is intended to assert business structure or to control or influence the behavior of the business.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
What are Business Rules?
• Declarative• Expressed in Natural Language
• Follow an If-Then Syntax
• Atomic – a Single Rule is Either True or False
• Examples:– If the customer has spent more than $1,000.00 in the past year Then the
customer’s status is Premium.
– If the customer has spent more than $5,000.00 in the past year Then the customer’s status is Premium-Super.
– If the customer’s status is not Premium or Premium-Super Then the customer’s status is Regular.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Traditional Sequential Solutions
• Traditionally, business rules like these are recorded by business analysts. Developers than implement a sequential algorithm that sets customer status by using code, script, or another sequential approach.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Business Rules Approach
• Business Rules are stored in their business analyst, If-Then, natural language representation.
• During execution, the Business Rules Engine uses an algorithm known as RETE to determine the rules that apply and the order they need to run in.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Application ServersSiebel Application Servers
Business Rules Approach
DatabaseDatabase
Haley Haley
Inference Inference
EngineEngine
EAIEAI
Web Web
ServerServer
Object ManagerObject Manager
Data LayerData Layer
Rules AdminRules Admin
Bus LogicBus Logic
LayerLayerProxy Proxy
ServiceService
Haley Knowledge BaseHaley Knowledge Base
Rules Authoring
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Benefits of Business Rules
• Increased Quality– Business Spec to Implementation translation errors removed
– Becomes rare to break existing logic by making a change!
• Increase Agility– Time to market/deployment is significantly reduced
– Business specification is the implementation
– Elimination of key time consuming operations
• Where does this change need to be made?• What has been broken by making this change?
• Increase Transparency & Traceability– Reduce “black-box” behavior of business applications– Retain link between application logic and business policies
– Business can see and understand the current logic
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Usage Scenarios
• Dynamic business processesBusiness processes are frequently dynamic; that is, their requirements and parameters can change. For example, insurance application approval, credit card approval, and insurance claim processing prerequisites can change over time.
• Complex business processesBusiness processes frequently contain branches that depend on results of previous steps. By processing data with rules in order to provide input to branching logic, changes to the business logic can be made declaratively instead of relying on entirely scripted solutions.
• Field validationsBesides easier implementation and maintenance during the life of a Siebel release, basic field validations that are implemented with a rules engine are more easily and directly maintained across a Siebel upgrade than scripts used to do validations.
• Auto-populating field valuesYou can declaratively populate fields that depend on other field values, instead of doing such populating with scripting.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Sample Scenario
• Siebel customer has concept of “Pods” for Service Request types– Pods are assigned based on the Service Request’s area/sub-
area/geo/topic.– Pods are dynamic!
– Sudden increase in volume of types of SR’s drive the creation of new Pods to manage the situation.
• Siebel customer wants to assign SR Priority from Profitability and potentially Customer Status.
– Profitability is tracked as Low, Medium or High
– Customer Status is currently tracked, not yet used for Priority.
Skip
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
SRSR’’s entered and Rules s entered and Rules determine Pod and Prioritydetermine Pod and Priority SRSR’’s Managed and Resolveds Managed and Resolved
Trend Analysis Trend Analysis –– Product/Geo/TopicProduct/Geo/TopicNew Business RulesNew Business Rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario
SRSR’’s entered and Rules s entered and Rules determine Pod and Prioritydetermine Pod and Priority SRSR’’s Managed and Resolveds Managed and Resolved
Trend Analysis Trend Analysis –– Product/Geo/TopicProduct/Geo/TopicNew Business RulesNew Business Rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Scenario Summary
• Siebel Business Rules support custom logic on any Siebel data• Logic can be rapidly changed, tested, and deployed
• Changes to SRF, Database, not required.
• Complex scripting is avoided.
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Skip
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Terminology
Rete is several or many times faster than any known, alternative algorithm.
Efficient pattern matching algorithm for implementing rule-based systems used by the Business Rules Engine
Efficiency is asymptotically independent of the number of rules.
Rete Algorithm
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Terminology
Link concepts
• Entities to Entities (Account_Opportunity)• Entities to Values (Account_Name)
Relations
The Business Rules Engine Object Model – types are:
• Entity – maps to Siebel BC• Value – maps to BC field
Concepts
A logical grouping of Rules statementsModules
DB to hold rules metadataKnowledge Base (KB )
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Terminology (cont)
Natural language syntax created for Concepts and Relations.
Account Concept:
• “Account”
• “Accounts”• “Account’s”
Account_Name Relation:
• “an Account’s Name is”
• “an Account has a Name”• “the Name of the Account is”
Account_Opportunity Relation:
• “an Account has Opportunities associated to it”
Phrasing is the core of natural language syntax that is used to define Rule Statements.
Phrasings
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Terminology (cont)
Used in the “then” clause of the rule definitions
Performs callbacks to the Siebel application
Actions
validateValidate the input:
set – currency – field – valueset – currency – field – value –literalset – field - value
Set a field in Siebel BC:
raise – error - textPass back an error text to UI:
invalidate – with - reasonInvalidates the input:
add – currency – literaladd – currency – valueadd - value
Returns list of values:
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Terminology (cont)
Special type of Function that returns True or False
Predicate
Procedural relation that returns values:• large number of standard functions
• Siebel specific e.g. GetProfileAttr
Functions
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Mapping
RelationsBC and Field BC and Field
relationshipsrelationships
RelationsBC relationshipsBC relationships
Concept (Value)FieldsFields
Business Rules EngineBusiness Rules EngineSiebel MetadataSiebel Metadata
Concept (Entity)Business ComponentBusiness Component
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Value Prop Across Modules and Industries
• Data quality rulesSiebel UAN/UCMSiebel UAN/UCM
• Loyalty promotions managementSiebel MarketingSiebel Marketing
• Partner entitlement rulesSiebel PRMSiebel PRM
• Service and order management rules
• Product eligibility and compatibilitySiebel PharmaceuticalsSiebel Pharmaceuticals
• Quote and order approval
• Product eligibility and compatibilitySiebel ISS/Communications*Siebel ISS/Communications*
• Automated response to customers
• Validation of warranty claimsSiebel AutomotiveSiebel Automotive
• Eligibility determination for case processingSiebel Public Sector Siebel Public Sector
• Insurance approval rules
• Claim processing
• Research distribution rulesSiebel Financial ServicesSiebel Financial Services
• Declarative Data validation rules
• Personalization
• Assignment manager
• Workflow branching rules
Siebel TechnologySiebel Technology
Business RequirementBusiness RequirementApplication groupApplication group
• SR escalation based on contracts
• Validation of warranty claimsSiebel Field ServiceSiebel Field Service
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Why? Rules Engine Supports Specialized Applications
Rules provide a declarative alternative to writing code for creating and managing custom applications
Script Implementation Rules implementation
Your Height
Height Preferred Plus Preferred Standard5'7" 176 192 2255'8" 182 197 2305'9" 188 203 2355'10" 193 209 2425'11" 199 215 2516'0" 205 221 2566'1" 211 227 2636'2" 216 234 271
Maximum Weight
Height and Weight GuidelinesUnderwriting
CriteriaPreferred Plus Preferred Standard
History of Cancer Depending on company, only available on certain types of
skin cancer.
Only available on certain types of skin cancer.
Available depending on type and duration of cancer.
Aviation Commercial airline pilots accepted. Private pilots - may qualify with aviation exclusion.
Commercial airline pilots accepted. Private pilots- flat
extra may apply depending on experience.
Commercial airline pilots accepted. Private pilots- flat
extra may apply depending on experience.
Hazardous Activities (i.e. Skydiving, Hanggliding, Rock climbing, Scuba diving etc)
Available only if no flat extra premium would be required.
Available; however, may have flat extra.
Available; however, may have flat extra.
Medical Guidelines
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
20-50% of customer scripts canpotentially be replaced by Rules*
• * Data based on analysis of 10 real customer repositories
Reasons for Writing Business Component Scripts
31%
10%
7%
50%
2%
Auto-propagation offield values
Dynamically read-onlybusiness component
Dynamically requiredfields
Dynamically read-onlyfields
Other
Why? Rules Engine Can Reduce Scripting
• Rules engine will reduce configuration costs by 5-15% by reducing scripting (saving of 80K-240K for $1.6M project)
• Customers can rely on a Business analyst instead of a more expensive consultant or developer
• Reduce expensive production downtime for updating business logic. No srf compile necessary.
• Reduce upgrade costs by replacing scripts with declarative rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Architecture Overview Basic
Infe
renc
e E
ngin
e
Siebel Object ModelSiebel Object Model
• Integrate with industry leading Business Rules Management vendor. Haley Systems.
• HaleyAuthority the authoring tool for rules. Natural English language editor
• Plug-in to HaleyAuthority to import Siebel metadata definitions
• Integrated via Proxy BS
• Haley Inference engine for runtime integration with Siebel
EAIEAI
Siebel Application Server
Business Business Logic Logic LayerLayer
Data LayerData Layer
EAIEAI
UI LayerUI Layer
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Application ServersSiebel Application Servers
Architecture Overview Detailed
Import Wizard Import Wizard
PlugPlug--inin
Master RepositoryMaster RepositoryRuntimeRuntime TablesTables
Haley Haley
Inference Inference
EngineEngine
Rules InvocationRules Invocation
1.1. Runtime EventsRuntime Events
2.2. ScriptScript
3.3. WF/Task UIWF/Task UI
EAIEAI
Web Web
ServerServer
Object ManagerObject Manager
Data LayerData Layer
Rules AdminRules Admin
Bus LogicBus Logic
LayerLayerProxy Proxy
ServiceService
DeployDeploy
ment ment
PlugPlug--inin
Haley Knowledge BaseHaley Knowledge Base
Master RepositoryMaster Repository
HaleyAuthority
MS SQL Server/Oracle/DB2/Access
Unicode Support
Supported on all Siebel Server
platforms (AIX, Windows etc)
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Object Importer
• Plug-In to the Siebel Metadata objects
• Invoked via File->Import->Siebel Object
• Allows importing of Siebel business objects, business components, and fields into the Haley Knowledge base to be represented as Haley metadata allowing an analyst or developer to create business rules.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Authoring
• Leverage HaleyAuthority to define rules statements
– Identify business outcomes, or actions to be taken. Write this as an English statement.
– Compose if-then-else constructs via definitions of rules statements
• Apply appropriate applicability conditions
– if conditions – at least one must be true (“or”)
– only if conditions – all must be true (“and”)
– Unless conditions – must all be false (“not”)
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Authoring
• Identify under what conditions does some conclusion hold
• Determine if there are exceptions when the conclusion does not hold.
• Define Modules to organize rules statements that contain similar decisions.
• Modules that makes decisions• Modules that specify actions
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Test Harness
• Plug-In to simulate your rules in the standalone HaleyAuthority tool.
• HaleyAuthority has its own “Test’s and Case’s” tab you can choose when testing rules
• Can create standalone test case that run individually
• Can create regression tests where can run many test cases at once
• Manually provide examples and the facts that the rules will use.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Deployment Plug-in
• Siebel Plug-in within HaleyAuthority that allows Rule Modules and Statements to be compiled into and deployed to the Siebel runtime environment.
• Explicitly choose the rule Modules that you wish to deploy to the runtime environment
• Has ability to synch Siebel metadata definitions to Haley
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Rules Administration
• New Screen Business Rule Administration
– Rule Module List View
• Assign the appropriate business object and the relationships your rule modules require when invoked at runtime
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Rules Invocation
• Runtime Events
• Task UI/Workflow• Programmatic
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Summary
• Siebel Business Rules will makes a business more agile in changing business logic without requiring a new srf
• Reduces downtime costs by allowing dynamic deployment• Reduces maintenance cost since logic stored in single location• Empowers the business analyst to write business logic in natural
English language• Incorporates powerful simulation features to test rules before
deploying to an environment• Tightly integrated plug-ins for importing and deployment that insulate
a analyst/developer from the object model mappings between Siebel and Haley.
• Flexible integration within Siebel as a business service to allow invocation from any application touch point whether it’s a runtime event, a workflow or task ui, and from scripting.
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Pro’s and Con’s
• Upsides– Overall, you can use Siebel Business Rules to
• validate• raise an error message• set a business component field value• set a User Profile Attribute
– Potentially very powerful, reduces scripting needs– Easy to change without re-compiling– Easier for BA / Customer to design & maintain
• Possible Downsides– Not simple – will require thorough training, not just on how to use it, but to decide
when (or if) it should be used (i.e. during Design)– Complementary skills areas are necessary – Task UI, Workflow, Business Services,
Runtime Events, Scripting, etc.– First time use on a project will be a steep learning curve
Topics Covered
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel Business Rules
• The Business of Business Rules
• Scenario
• Business Rules Concepts
• Siebel Business Rules
• Summary
• Demo
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Create a new knowledge base
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Start the Siebel Object Import Wizard
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Connect to Master Repository
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Select Runtime Database
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Choose Business Object
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Select (child) BusComps
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Select BusComp Fields needed for rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Create new module to hold the rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Define rule applicability ( if, only if, unless)
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Define submodules and applicability
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Add rule statements to submodule
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Rule examples – „invalidate“
• Check for a value’s existence – whether it is filled in or not
– if an opportunity's account is unknown then invalidate the opportunity with “…”
• Work with simple numbers (less than/greater than)
– if an opportunity's primary revenue win probability is less than 70 then invalidate the opportunity with “…“
• Work with currency values
– if an opportunity's primary revenue amount is less than 1 in "USD" then invalidate the opportunity with “…”
• Work with dates (special keyword: “Today”)
– if an opportunity's primary revenue close date occurs before today then invalidate the opportunity with “…"
• Check for sub records
– if an opportunity does not have an opportunity product then invalidate the opportunity with “…"
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Deploy module to Siebel
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Siebel runtime – Register new Rule Module
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Register all BusComps and activate Module
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Define action set...
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
...and associate it to a runtime event
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Test Rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Rule example: Set field values based on rules
Copyright ©2008, Oracle. All rights reserved. Oracle Confidential
Rule example: Override rules
Siebel Business RulesSiebel Architecture Technology Overview