Click here to load reader
View
112
Download
1
Tags:
Embed Size (px)
Siebel 8.0 Essentials
Siebel Business Rules
1 of 28
Module 41: Siebel Business Rules
Module Objectives To know the process of automating business decisions and logic in
Siebel applications using Haley Authority To describe Siebel Business Rules architecture To understand how to create business rules and deploy them
Siebel Business Rules
3 of 28
Implementing Business Logic in Siebel Applications Can often be done using declarative configuration such as:
Properties in business components and fields Siebel workflows Siebel state models Occasionally requires custom scripting
Custom scripting can result in:
Business logic that is distributed throughout the application Difficult to understand the complete set of implemented logic Business logic that is represented in multiple ways with different syntax Difficult to modify to meet new requirements The need to compile and deploy a new Siebel repository file (SRF)
Siebel Business Rules
4 of 28
Business Challenge
Companies want a more unified way to implement business logic Centralized store of business rules or logic that can be easily modified to incorporate changing business processes Reviewable by non-implementers such as business analysts Deployable without recompiling the SRF file Allows updating of business logic at run time
Siebel Business Rules
5 of 28
Solution: Siebel Business Rules Provides the ability for companies to create and enforce rules that
capture their business policies Rules are expressed in natural English rather than a script or SQL statements Rules can be specified and reviewed by business experts Rules are centrally developed and administered Rules are enforced globally throughout the Siebel application
Uses client-side configuration rather than repository-based
configuration and compilation Allows rules to be created, updated, and deployed during run time
Groups of rules, or modules, for different purposes and applications can be developed and deployed separately: Versioned objects help to easily revert to previous versions. Access levels to modules can be used to define who may modify particular rules and modules
Siebel Business Rules
6 of 28
Examples of Uses of Siebel Business Rules Perform validation of data Provide default values for fields in records Provide default child records
Update records Implement dynamic read-only/required behavior Compute values of parameters to be used in decision steps in workflow
process and UI tasks Perform business calculations Determine if a warranty applies Determine if a customer is eligible for a discount or offer and explain why
Siebel Business Rules
7 of 28
Siebel Business Rule Is the familiar connotation for well-defined business processes. Logical statements constructed that capture and implement business
processes in Siebel applications. Is a conditional or qualified statement about business entities and characteristics that apply in a business environment Is written using the rules of English grammar Are created using HaleyAuthority Are executed in the Siebel client using a run-time inference engine
Siebel Business Rules
8 of 28
Concepts Are nouns that represent the entities and their characteristics
Are used to build rule statements Play roles in relations May include nouns or noun phrasings, including adjectives Correspond to business components and fields in the Siebel data model
Siebel Business Rules
9 of 28
HaleyAuthority To implement natural language business rules to automate decisions
declaratively Is a separate third-party application used to examine and develop Siebel business rules Is installed as part of a Siebel Tools installation Is invoked from the Siebel Tools program group Imports relevant object definitions from the Siebel development
repository Generates the corresponding Haley concepts Is used to author the rule statements based on the generated concepts Stores concepts and statements in a separate database referred to as a knowledge base Deploys rules to a set of tables in the Siebel run-time client
Siebel Business Rules
10 of 28
Run-Time Inference Engine Is a third-party rules engine used to evaluate and execute business
rules at run time Is installed automatically in the Siebel client during a standard client installation Is accessed by calling the Business Rules Service business service Serves as the interface to the inference engine Can be invoked using:
Runtime events Siebel workflows Siebel Task-based UI Business services
The same business logic (rule module) can be reused in any of these
contexts. Allows you to simulate rules execution before deployment
Siebel Business Rules
11 of 28
Exploring Rules Use HaleyAuthority to examine rules
Click the Modules & Statements tab to display rule statements
Siebel Business Rules
12 of 28
Structure of Rules Rules are written using English grammar (natural English) A given rule can be expressed in several ways Common practice is to create statements followed by qualifiers that
determine if the statement applies If: statement applies when at least one if qualifier is true Unless: statement does not apply when unless qualifier is true Only if: statement applies when all only if qualifiers are true
Siebel Business Rules
13 of 28
Rule Statements A statement can be either a:
Statement of fact Example: An expense report is a valid expense report Statement of action Set Reimbursable Flag of an expense item to false Siebel-specific actions consist of three action types
Actions: Produce output or modify data in the Siebel application Set a field value, invalidate with reason Invalidate with reason raises an error but does not stop evaluation of rules Functions: Return a value from the Siebel application Get profile attribute, get active view name Predicates: Return a Boolean value User in task mode, currency is equal to
Siebel Business Rules
14 of 28
Concepts Concepts are generated
automatically using the Siebel Object Importer in HaleyAuthority Entities correspond to Siebel objects Values correspond to single-value fields of objects Click the Concepts tab in
HaleyAuthority to display the concepts Entity: Describes entities (things) in the business model Value: Describes characteristics of
entities in the business model Rules developers must not: Modify the underlying concepts Create additional concepts manually
Siebel Business Rules
15 of 28
Entities Expand Entity to display the entities
Represent the business components imported from the Siebel repository
Expense and Expense Item are Business Components imported for these rules
Siebel Business Rules
16 of 28
Value Expand Value and its children types to display the values Represent business component fields imported from the Siebel
repository Are grouped by the type of the field
Siebel Business Rules
17 of 28
Phrasings Consist of short expressions that capture a relationship between
concepts Typically represent the relationship between a business component and one of its fields or a child business component Are used to build rule statements
Siebel Business Rules
18 of 28
Developing Rules 1. Create a New Knowledge Base 2. Import Siebel Object Definitions 3. Create a Rule Module 4. Deploy the Rule Module
Siebel Business Rules
19 of 28
1. Create a New Knowledge Base Start HaleyAuthority from the Siebel Tools program group Select the ODBC connection string for the new knowledge base
Siebel Business Rules
20 of 28
2. Import Siebel Object Definitions Invoke the Siebel object importer
In HaleyAuthority, select File > Import > Siebel Object Provide the connection information for:
Master repository data source (source of object definitions) Run-time data source (environment where rules will be run)
Siebel Business Rules
21 of 28
2. Import Siebel Object Definitions On the first import for a new knowledge base the following occurs
immediately: Object definitions relating to currency and currency code are imported Concepts to support Siebel currency calculation procedures are created Siebel-specific actions, functions, and predicates are created After currency-related concepts are created:\
Select Import Siebel Objects Specify the Siebel Business Object Select the business component and, possibly, child business components For each selected business component, select one or more fields
Inspect the concepts and the phrasings created Verify that the entities and values corresponding to the objects and
fields have been created
Siebel Business Rules
22 of 28
3. Create a Rule Module A module is a collection of rule statements that are deployed together Suggestion:
Create a rule module to contain only the statements that need to be evaluated as a set by the rules engine Name the rule module to indicate how the module will be invoked A module can be divided into submodules to improve readability Click the Modules & Statement tab Add a new module (and submodules if desired) Add one or more statements
Use the Edit Statement dialog box to enter the statement
Siebel Business Rules
23 of 28
4. Deploy the Rule Module Invoke the Siebel Deployer
In HaleyAuthority select Tools > Siebel Deplo