Upload
hacong
View
231
Download
2
Embed Size (px)
Citation preview
<Insert Picture Here><Insert Picture Here>
Oracle Policy Automation 10.4Features and Benefits
June 2012 – v1.03
Key Themes and New Features of OPA 10.4
�Policy Analytics
– What-if Analysis in Excel – New!
– Batch Processing – New!
– Coverage Reporting – New!
�Collaboration and Testing
– Modules – New!
– Bulk Test Case Generation – New!
– Translated Help – New!
� Integration and Deployment
2
� Integration and Deployment
– Inferred Entity Instances – New!
– Interview Portlet – New!
– Database Connectivity – New!
OPA 10.4 Summary – What’s New for You?
Policy and Interview Modelers
� Write rules that infer entity instances
� Flag a relationship as silent or invisible for
decision reporting
� Filter the instances shown when
populating relationships in interviews
Interactive Interview Users
� Use checkboxes for yes/no questions
� Why reports start unexpanded to make
them easier to navigate
� See individuals identified in relationships
to make decision reports easier to
Policy Testers
� Find policy documents or rules that need
more test cases, using new coverage
reporting tools
� Bulk import existing case data scenarios
into regression test scripts populating relationships in interviews
� When debugging, easily see which
conditions were relevant to decision
� Simplify some rules by chaining operators
with booleans expressions
� Support for Microsoft Office 64-bit
� Simpler entity and identity modeling
� Translated help for some languages
� Easily find files in large projects
to make decision reports easier to
understand
� View years stored as numbers without
decimal formatting
into regression test scripts
� Reorder outcomes in test scripts to make
them easier to find
� Analyze results of regression tests using
command-line tools
System Integrators
� Deliver interviews via Java portal servers
� Deploy high performance batch policy
execution, direct-to-database
� Augment CSV files more quickly
� Safely update shared policy modules in a
Policy Analysts
� Use coverage analysis to find rules that
aren’t used by any case data
3
Policy Architects
� Define modules to combine policies from
separate teams or organisations
� Safely update shared policy modules in a
production environment
� Allow policy modelers to specify new
records to create, with rules
� Efficiently pre-load reference data into
every rulebase session
aren’t used by any case data
� Perform what-if analysis directly in Excel
to compare outcomes across changed
policy versions
� Enrich business intelligence data-marts
using policy models
Policy AnalyticsBusiness Optimization and Insight Enabled by Policy Models
� Get new legislation right first time
� Model impact of policy changes
What-if Analysis
Policy Analytics
� Model impact of policy changes
� Easily share analysis and results
� Understand which policies
are being used in practice
� High volume policy processing
� Use existing data sources
4
Coverage Reporting
Batch Processing
are being used in practice
� Ensure all policies are tested
before deployment
� Use existing data sources
� Leverage typical BI tools
What-if Analysis in Excel – New for OPA 10.4
2. Create or
What-if analysis Excel workbook
� Understand policy scenario impact
� Use real or generated data
� Compare and share the results
� Designed for business users 2. Create or import test
data
3. Run current scenario
1. Define a new policy scenario
4. Analyze in
Oracle Policy
Modeling project Enrich workbook
with results of
� Designed for business users
5
4. Analyze in Excel
with results of policies
Use Excel features to calculate, pivot, chart, etc.
5. Send to a Friend!
What if Analysis in Excel – Walkthrough
• Define first version of policy model to analyze
• Add what-if analysis workbook to project
• And columns for data and results
6
• Enter data to be analyzed, with row identifiers
• Use any standard Excel feature to create the data
• E.g. drag-and-drop, calculations, import from external source
What if Analysis in Excel – Walkthrough
Outcome columns are left empty
IDs must be unique User-
entered
7
entered data
For more information: See Conduct what-if analysis using an Excel workbook in Oracle Policy Modeling User Guide
What if Analysis in Excel – Walkthrough
• Analyze!
• The current policy
model is used to
8
model is used to
populate all
outcomes
What if Analysis in Excel – Walkthrough
• Chart, pivot, sort or export data as desired
• Copy result columns and compare side-by-
side when the policy is changed
9
What if Analysis in Excel – Walkthrough
• Additional entities are modeled by adding worksheets
• Relationships are formed by simply matching identifiers
Relationship
10
Batch Processor – New for OPA 10.4
�Conduct policy impact analysis with real case data
�Achieve high throughput application processing:
e.g. periodic benefit payment calculations a,be.g. periodic benefit payment calculations
�Easily integrate OPA with legacy systems
Database
Input CSV files
Output
How:
• Database or CSV for input and output
• Multi-process batch engine*
• Also
a,b
11
Policy Model OPA Batch
Processor
Output CSV files
• Also‒ Convert data to test cases
‒ Save policy coverage reports
• Replaces previous “data source connector” Coverage report
Test script
*For 10.4.0 multi-process support is enabled only for CSV
Batch Processor – Database Connectivity
� File-based mapping of OPA data model onto database schema
� Base-level attributes are read from database
� Output written to database or CSV files
� Invoked as Java command-line application:� Invoked as Java command-line application:java -jar "c:\program files\Oracle\Policy Modeling\bin\determinations-batch.jar”
Databases supported:
• Oracle 10g, 11g
• Microsoft SQL Server 2008
12
• Microsoft SQL Server 2008
Example config.xml for database batch processing
Batch Processor – Enhanced CSV Processing
� New zero-config mode simplifies integration
� Now optimized for multiple processors / cores
� Cross-platform: Identical Java and .NET versions
• Zero-config mode: No configuration file is needed!– CSV file names and column names match OPA public names
– Outcome column names are in parentheses
– Identifier columns called #, referenced for relationships
• Sample of performance:– 2 million cases, 4 million rows totals, 104MB, 3 CSV files
– 1 processor (2 cores), 2GB RAM, Windows 7 virtualized
Example contents of csv folder
C:\> C:\Program Files (x86)\Oracle\Policy Modeling\bin\Determinations
.Batch.exe –-csv c:\elig\csv –-rulebase c:\elig\eligibility.zip
Starting batch process
Finishing batch processor. Cases processed: 59999. Time taken: 0:00:19
C:\>
Example batch processor output
13
– 1 processor (2 cores), 2GB RAM, Windows 7 virtualized
– Duration: 20 minutes
For more information: See CSV input for the Batch Processor in the Oracle Policy Automation Developer Help
Database Batch Processing Performance on Low-end Server
� Linear scaling as size increases
� Tuning database improves speed
Sample ResultsSample Results
• One million records with two million
random many-to-many relationships
• Processing speed:
– 2K / min: no index on join table
– 8K / min: join table indexed
– 20K / min: SGA size increased to 900MB
– M
14
– M
• Oracle database 10g
– Analysis shows throughput bound by I/O
– A purpose-built database server will
achieve dramatically faster performance
Test Hardware: Dell 2850 with 1 dual-core Xeon processor, 10GB RAM, single vanilla HDD
Coverage Reporting – New for OPA 10.4
�Analyze documents or goals to find gaps in test coverage
�Run real data through policy models to find unused parts
Test scripts
Generate
15
Database
CSV files
Analyze against policies
Generate coverage
report
Coverage By Document
� Find documents, sections and policies that are either:
a) Not fully tested by any test scripts in the project, or
b) Not fully exercised during batch processing of case data
• By default, the coverage report is organized by document • By default, the coverage report is organized by document
• Within documents, results are grouped by policy headings
• Results are in the context of selected goals only
16
Coverage By Goal
� Drill down by goal to find unused logic
Note:
• Individual policies can contribute to more • Individual policies can contribute to more
than one goal
• So a policy might be “covered” due to its
relevance in reaching a decision for a
different goal
� Identify unexercised conditions - available both by document and by goal
17
� Identify unexercised conditions - available both by document and by goal
• Important concept: A condition is covered only if both (a) relevant in at least one case when
true and (b) relevant in at least one case when false
• Relevance has the same definition as in OPA decision reports
Modules – New for OPA 10.4
�Easily combine policies from different geographies or subject areas
�Allow small, productive teams to work to a common goal
�Limit access to sensitive rules�Limit access to sensitive rules
�Share rules across departments or projects, and update them centrally
Team 1
Build and Team 3
18
OPA Project 2
OPA Module Project
Team 2
Add module reference
Build and send module
Team 3
OPA Project 3
Get project and build as modulePolicy
model file
SourceControl
Check-inAdd module reference
Defining and Using Modules
• Put public names on the base-level attributes and top-level goals that
should be visible to consumers of the module
• Build Module!• Build Module!
19
• In the consuming project,
add a module link:
Modules – Live Update
�Shared modules can be updated centrally
�This is done live – like rulebase hotswapping – no down-time
� If the signature of the module changes, then the in-place upgrade will � If the signature of the module changes, then the in-place upgrade will
log an error• E.g. if some previously public goals are no longer available in the module
20
Policy Model 1
Policy Model 2
Shared Module
Policy Model 1
Policy Model 2
Updated Module
Bulk Test Case Generation – New for OPA 10.4
� Convert existing case data to test cases
� Improve speed of test case design with Excel
• Convert what-if analysis workbooks to OPA test cases• Convert what-if analysis workbooks to OPA test cases
• Use batch processor parameter to create test cases
instead of generating outcomes
• Reminder: expected outcomes for generated test
cases can be populated automatically
21
For More Information
See these topics in the Oracle Policy Modeling User Guide:
• Create test scripts from existing data
• Conduct what-if analysis using an Excel workbook
Translated Policy Modeling User Guide – New for OPA 10.4
� Read the Policy Modeling User Guide in one of 6 available languages
• In-line examples have also been localized in most cases
• User Guide from OPM Help menu always shows English version, if installed
22
Inferred Entity Instances – New for OPA 10.4
� Create new benefit plans, tax years,
opportunities, service requests, order
lines etc. using only rules
� Lowers the cost of application integration
Example of simple rule form:
� Lowers the cost of application integration
� Less scripting needed
� Fewer trips back and forth to the policy model
� More autonomy for business users
• Previously required Java or .NET custom
coding
� Audit trail for why instances were created
Example of table form:
Example of non-literal entity identifers:
23
� Audit trail for why instances were created
� Reason why each created entity instance
exists now appears in decision reports For More Information:
See Write a rule to infer an entity instance in the Oracle Policy Modeling Help
Inferred Entity Instances – General Usage
• Entity instances are created via (inferred) relationships
• Each inferred entity instance must be uniquely identified, either:
– Using a fixed value– Using a fixed value
– Using an attribute value
• Important!
relationship text
instance identifier
24
• Important!
– Each relationship must only have a single rule
– All attributes on the inferred entity must also be inferred
– For each entity type, either none must be inferred, or all must be inferred
Inferred Entity Instances – Table Rule Form
• Use a table rule to provide
multiple reasons / identifiers for
inferred entity instancesinferred entity instances
• Note that an otherwise row is not
required
– If no conditions match, no entities
are created
• In this example, one entity
25
• In this example, one entity
instance is created for each
benefit for which the person is
eligible
Inferred Entity Instances – Identification
• It is OK for an entity to exist for more than one reason!
– Same instance identifier on different attribute values
– Same instance identifier through different relationships
• In this example, the single instance of the tax year with
identifier “2002” may be inferred due to either:
– A deduction with a deduction_year of 2002, or
– An allowance with an allowance_year of 2002
26
• Also note that there is probably more than one
deduction or allowance for each year. This is also OK.
Setting Attributes on Inferred Entity Instances
• In this example, discount and total value are set for each inferred instance
27
• This and other inferred entity instances sample projects can be found in this folder:
– <Program Files>\Oracle Policy Modeling\examples\InferredEntityInstances
OPA Interview Portlet – New for OPA 10.4
�Deploy full featured OPA interview experience on the corporate portal:
� Inherit the configured look and feel
� Leverage the user authentication modelLeverage the user authentication model
�Employee or customer-facing
�Uses same screen template and plug-in
approach as OPA Web Determinations
�Support for these J2EE portal servers that
are JSR286 compliant:
� Oracle WebCenter 11g
28
� Oracle WebCenter 11g
� JBoss Enterprise Portal
OPA Interview Portlet – Remoting Support
�Create mash-up portals using portlets from many producers
�Use multiple tiers to limit access to sensitive logic and data
�Achieve flexible scalability
Portal Server 1 Portal Server 2
OPA Interview Portlet
WSRP
Portlet 2OPA Interview
Portlet Portlet 3
29
• Standard WSRP2 support allows OPA interview portlet to be
produced on a secondary server
• Parameterized configuration of locale, user-id, case-id, M
OPA Interview Portlet – Customization
� Extract authentication information as needed– PortletRequest and PortletResponse objects
� Customisable layout and appearance� Customisable layout and appearance– Same Velocity template approach as for Web Determinations
– Inherit styles from the portal page, or customize via appearance.properties
– Portlet Velocity templates have access to URL rewriters for loading custom
resources such as images and static HTML
� Extensible parameter passing
30
� Extensible parameter passing– Parameters added in portlet.xml are accessible in event handlers
For more information: See Customize the Interview Portlet in the Oracle Policy Automation Developer Help
Other New Features in OPA 10.4
Policy Authoring
• Sorted file list in project explorer
• Microsoft Office 64-bit support
• Simplified entity modeling
Debugging and Testing
• Rule debugger view shows relevance
• Reorder test script outcomes
• Command-line automation enhancements• Simplified entity modeling
• Operators on boolean expressions
• Mark relationships as silent or invisible
Policy Execution
• Enhanced relationship decision reports
• Command-line automation enhancements
Interviews
• Editable language list for interviews
• Relationship filters in interviews
• Display numbers without formatting
31
• Enhanced relationship decision reports
• Rulebase listeners
• Policy model version information
• Display numbers without formatting
• Checkboxes in interviews
• Set decision report expansion level
• Warning for unsubmitted interview data
Sorted File List in Project Explorer
• It is now easier to find files in large Policy
Modeling projectsModeling projects
• Project Explorer now sorts alphabetically
• By default:
– This behavior applies to all new projects
– Upgraded projects retain previous (no sorting)
behavior
32
• This can be easily changed in the Project
Properties for an open project
Microsoft Office 64-bit Support
Many organizations are upgrading end-of-life
Windows XP desktops to 64-bit Microsoft
Windows 7 with 64-bit Microsoft Office
Oracle Policy Modeling now supports
• Microsoft Word 64-bit
• Microsoft Excel 64-bit
Simply install Oracle Policy Modeling on a
system on which Microsoft Office 64-bit
33
system on which Microsoft Office 64-bit
has already been installed
Note: Files must still be maintained in the .doc or .xls format. The .docx and .xlsx
formats are not yet supported. When files are added through Oracle Policy
Modeling the correct format is automatically used.
Simplified Entity Modeling
Easier to
� Create new entities with one simple step
� An identity attribute is automatically created
� Substitution is automatically enabled� Substitution is automatically enabled
� Consistent interface for editing containment and
reference relationships
• Default relationship name “all instances of
<new entity name> [for <containing entity>]”
– Automatically updated if entity name changes,
unless text of relationship has been changed
34
unless text of relationship has been changed
For More Information
– See Define an entity in Oracle Policy Modeling User Guide
Operators on Boolean Expressions
• Logical operators can now be applied directly to true or false expressions
• This can make some rules more succinct to express, by avoiding the need
for an intermediate attributefor an intermediate attribute
• Example logical operators:
– known, currently known, [currently] unknown, [not] certain, not true
35
Logical operator
Text attribute
Boolean expression
Mark Relationships as Invisible
• A relationship can now be marked
as invisible
• Invisible relationships are hidden in
the decision report, along with the the decision report, along with the
members of that relationship
36
Mark Inferred Relationships as Silent
• An inferred relationship can now be
marked as silent
• Silent relationships hide the reason for
membership in an inferred relationshipmembership in an inferred relationship
• Also applies to inferred entity instances
• Note: Ignored for top-level decision nodes
37
Enhanced Relationship Decision Reports
� More easily understand decision
reports that include relationships
� See to which entity instance a
relationship member refersrelationship member refers
• Identifying attribute values now
substitute into relationship text
– Allow substitution must be turned on
– Relationship text must include identifying
attribute text
• Shows in the debugger, as well as in
Note: Identifying attribute value not yet set for person 2
38
• Shows in the debugger, as well as in
interviews and decision reports
• Particularly helpful when combined
with new silent and invisible options on
relationships
Rulebase Listeners
� Preload data into new sessions
� Install a formatter or an inferencing listener
Steps to use:
• Can be written in Java, .NET or both
• .NET version needed for the Oracle Policy Modeling Test Script Editor to be able to use it
Steps to use:1. Write a class that implements the RulebaseListener interface
• initialize() – called when a rulebase is loaded
• sessionCreated() – called for new rulebase sessions
2. Place the .jar files and/or .NET DLLs needed by the implemented
class into the include/lib folder for the project
3. Define an include/rulebase-listeners.xml file
• Reference the .NET and/or Java implementations
• Include any property values that the listener needs
4. Add to the include folder any data files that the listener
<listeners><listener>
<handler platform="java" class="…"/><handler platform="dotnet" class="…"/>
<property name="codes" value=”medical.csv”/><property name="property2" value=”abc”/>…
Structure of rulebase-listeners.xml
39
4. Add to the include folder any data files that the listener
will use – e.g. csv file containing data to load
For More InformationSee the ReferenceData example and Use a rulebase listener to
initialize sessions in the Oracle Policy Automation Developer Help
… </listener>…
</listeners>
Policy Model Version Information
�Easily verify that the correct version has been deployed
�Find out how long since available versions were built
�Adopt user-defined versioning numbering to indicate compatibility�Adopt user-defined versioning numbering to indicate compatibility
Set using command-line build option
– See Command-line Automation Enhancements slide in this presentation
Available through OPA Determinations Server ListRulebases operation:
40
Available through OPA Determinations Server ListRulebases operation:
<typ:rulebase-version>10.4.0.123</typ:rulebase-version>
<typ:build-time>2012-02-28T04:45:20Z</typ:build-time>
<typ:policy-modeling-version>10.4.0.127</typ:policy-modeling-version>
Rule Debugger View Shows Relevance
• The Show rule debugging option has been enhanced to make it easier to
understand why a rule is reaching a result:
1. The full text of the currently
selected rule is shown
2. The determined value of each
rule condition is shown
41
3. Conditions are grayed out if they
are not relevant to the decision
being reached
Reorder Test Script Outcomes
�More easily find outcomes if a test
script contains many of them
Define the order in which outcomes
are listed:
• Right click on an outcome
• Choose Move Up or Move Down
42
Command-line Automation Enhancements
Improved support for continuous integration and automated deployment scripts:
� Build policy modeling projects as modules
� Set policy model version number
� Generate test coverage data
Examples
• Set version number and build as module option on command-line compiler
C:\Oracle.Policy.Modeling.CommandLineCompiler.exe –n 2.0.13 -m C:\Eligibility\Eligibility.xprj
43
• Generate coverage data file for all test scripts in a project
See Also: Command line tools in the Oracle Policy Modeling User Guide
C:\Oracle.Policy.Modeling.RegressionTesterCmdLine.exe –project C:\Eligibility\Eligibility.xprj –-coverage c:\eligibility.coverage
Editable Language List for Interviews
� Provide any language name to users for them to choose from
� Override default language names for usability purposes
� Map any locale identifier to a custom language name (e.g. Creole)� Map any locale identifier to a custom language name (e.g. Creole)
• Full list of default localized language names are now included in the
Web Determinations appearance.properties file
• Simply change the language name to override the default…
#########################################
# Locale listings for localising your language selection
locale-af-ZA =Afrikaans (Suid Afrika)
44
locale-af-ZA =Afrikaans (Suid Afrika)
locale-sq-AL =shqipe (Shqipëria)
locale-ar-DZ = <=>?@Aا)?CاDEAا(
locale-ar-BH = <=>?@Aا)HI?JKAا(
locale-ar-EG = <=>?@Aا)?MN(
…
Snippet from web-determinations\WEB-INF\classes\configuration\appearance.properties
Example of a custom locale name in use
Relationship Filtering
� Exclude family members that could not logically be part of a
relationship (such as infants being parents etc.)
• In interviews, the available members of a relationship can now be • In interviews, the available members of a relationship can now be
filtered to only those that meet selected criteria
• The instance to which the relationship is being defined is by default
automatically excluded
45
� Display years correctly, even when stored as numbers
� Prevent IDs or other numbers from using locale formatting
Display Numbers Without Formatting
• Number attributes now provide an Unformatted option
• This prevents numbers being shown with thousand separators, and
with locale specific decimal points
46
with locale specific decimal points
• It affects the appearance of numbers in
– OPA Web Determinations Screens and Decision Reports
– Oracle Policy Modeling Debugger
CONFIDENTIAL (300330243)
�Simplify interview appearance for Yes/No questions
Checkboxes in Interviews
• When defining the screen, use the new Checkbox option when
selecting Input Type for boolean attributes:
47
• Results are never Uncertain (always either True or False) once
screen has been submitted
CONFIDENTIAL (300330243)
Set Decision Report Expansion Level
� Interview users can now more easily
understand reasons for a decision
• Decision reports in Web Determinations now • Decision reports in Web Determinations now
default to show only one level below root
• User can drill down for details as needed
• This default can be modified in
appearance.properties
• Use value of 0 to get pre-10.4 behavior
# the default depth to which decision
48
# the default depth to which decision reports are expanded by default
# use 0 to expand all branches
decision-report-default-depth =2
The new property in appearance.properties
� Prevent users from inadvertently
losing data on unsubmitted screens
Warning when leaving OPA Web Determinations screens
• User changes values on screen
• User attempts to leave screen
without submitting those values:
– E.g. Clicks any navigation links, such
as Summary, Data Review, Save
– Navigates Back, or closes the browser
window
49
window
• Browser warning is displayed
CONFIDENTIAL (300330243)
Learn More, Stay ConnectedH
DiscussOPA forum on OTN
https://forums.oracle.com/forums/forum.jspa?forumID=828
Watch youtube.com/OraclePAVideos
Learnoracle.com
Search: Oracle Policy Automation
Main OTN site for OPA:
50
Main OTN site for OPA:
http://www.oracle.com/technetwork/apps-
tech/policy-automation/overview/index.html