oracle policy automation 10 · pdf fileoracle policy automation 10.4 ... • microsoft sql...

50
<Insert Picture Here> <Insert Picture Here> Oracle Policy Automation 10.4 Features and Benefits June 2012 – v1.03

Upload: hacong

Post on 31-Mar-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

<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