Welcome to the OPA Hub!


Category Archives: Getting Started

Back to OPA Basics : Oracle Policy Modeling Features

Back to OPA Basics : Oracle Policy Modeling Features

Welcome to another in our periodic back to OPA basics series. At the moment I am watching a lot of new starters join a set of experienced developers. And funnily enough, both groups sometimes are stuck in their routine. For the new people, they fall back on what they know from other rules engines. For the more experienced people, that are familiar with Oracle Policy Modeling, they repeat what they learned long ago and do not necessarily see anything that has been added to the application in the intervening time since they first started using it.

So here are my top five cool time savers and useful things you can find in Oracle Policy Modeling today.

  • The Rule Assistant

I still find it strange that many people don’t use the Assistant in Word. If there was ever a tool to avoid having to remember the arcane spelling and phraseology of an Oracle Policy Automation attribute, this is it!

Back to OPA Basics - Rule Assistant

  • The Convert to Test Case Export

Watching people filling in every cell in their Test Case spreadsheet, when they probably have already saved many of the initial scenarios as debug sessions, I think they should remember the fact that they can move a unit test into a Test Case, and vice-versa.

Back to OPA Basics - Export as Test Case

  • The Find Unused Attribute Filter

I tend to use this one when the Rule Assistant has not been used very much, so we are looking for duplicate / mispelled attributes in our Project (see Rule Assistant, above).

Back to OPA Basics - Unused Attributes

  • The Inclusion Report

OK, so I’m probably cheating as far as this one is concerned, but it is a real time saver. In 19A, the introduction of the Inclusion Report has saved me time already. Great for beginning an impact assessment when some sort of surgery is required on Project structure. Find out more here.

Back to OPA Basics - Inclusion Report

  • The Export Entity Data Model Option

This is a tiny little option hidden away in the toolbar but I’m often asked by non-OPA people for the data model and I find this export really simple and quick to use.

Tiny Button - Export Data Model

Well, that’s our top five for now. What other tricks do you use to get the most out of Oracle Policy Modeling?

Let us know in the comments!

 

Rule Design – How Far Do You Go?

Rule Design – How Far Do You Go?

The topic of genericization in rule design came up the other day. I should explain first what was meant, and the easiest way to do that is with an example.

Suppose an OPA Customer conceives a rule that looks a little bit like this

Rule Design OPA 12Some time later, the same customer finds that there are several similar rules, such as the next one below.

An attempt is made to streamline the rules into a more appropriate structure first of all. So a rule might be rewritten to take into account not just a boolean conclusion but something more interesting, such as return codes.

Rule Design OPA 12Shortly after that, as the realization dawns that there are thousands of rules like this, a further effort occurs to streamline the concept even further as shown in the example below.

Rule Design OPA 12Here we can see the rules are broken down in the manner of with input arguments that may be numbers, Booleans and so on. The exact components of each validation are detailed. This is further extended and generalized, broken across Excel and Word (to cope with grouping operators like either) and what have you.

And so the usage of the validations becomes something a little like this (I am exaggerating for effect). Further tables are created to schematize which rules are used in which business context. We shorten the attribute names, create legends, standardize the text used.

Rule Design OPA 12

We are so far away from anything resembling natural language that we might as well be using the Microsoft Win32 API. We have delivered our Rule Design but have we best served the customer? Of course the context is key (the audience for the rule design documents, the purpose of the rules – Web Service or Interview, to mention only a couple of criteria) but the presence of different teams and different competing teams – internal or external – seems to lead to black box designs that only serve to frustrate the customer.

Oracle Policy Modeler Articles

Back to Basics 2 – Oracle Policy Modeler Articles

Back to Basics 2 – Oracle Policy Modeler Articles

Articles are a thorny point, since not all languages have the same concept. But the chances are that if you are working in a latin-based or greek-based language then you will have the concept of “the”, “le” or “la”, or “der”, “die”, “das” and so on. Writers who jump into Oracle Policy Modeler, especially those from other less natural-language focussed tools, tend to write rules that don’t have any articles, or that use the indefinite article. So what should we look out for in the area of Oracle Policy Modeler Articles?

Basic  Idea #2

Articles don’t matter.

Yes they do. Very much so. And perhaps the most insidious problems occur when there is no defined strategy at all, and everyone does what they feel like. For example, consider the following rule.

Oracle Policy Modeler Articles

Notice the lack of article. This rule will validate and work, despite it being a long way from natural language. However, what usually happens next is the entity model becomes more complex. So the designer adds an entity. Either “the customer” or “a customer”.

opa-12-customer-entity-bad

Notice how the original attributes, customer status and customer is always right, have remained attached to Global rather than the new Entity, since they didn’t contain the exact text “a customer”.

opa-12-entity-debug

Now in the Debugger we can see the side effect in the language generation.  A customer looks weird. The customer would have been far more readable. And in the Interview debugging session, it looks pretty nasty too.

opa-12-interview-customer-bad

And of course at the same time, our Interview does not really work because the attribute is not applied to each customer, just to Global.

opa-12-interview-customer-bad-2

 

If we had adopted a common sense approach and created all of our attributes with the more natural “the customer…” we would have had less issues with matching attributes to Entities and better natural language generation, and last but not least it would have been far more normal to read in Word. Oracle Policy Modeler needs to have definite articles both for Entity names and attribute definitions. 

  • Customer is right – not natural language
  • A customer is right – which customer?
  • The customer is right – natural, specific to one customer

 

 

Back to Basics 1 – Text in Oracle Policy Modeler

Back to Basics 1 – Text in Oracle Policy Modeler

As the supermarkets are busy selling back to school themed items (actually they already seem to have moved on to Christmas!), I thought it would be appropriate to go over some basic but very key  Oracle Policy Modeler points that are not always made very clear to would-be Policy Modelers before they actually start writing. Over the next few days I hope to put some of these common traps in the refuse bin.

Basic  Idea #1

You can write using any verbs you like.

No you cannot. And although the thought of truly natural language might be a great idea, in practice we need constraints. And that is especially true when we work as a team. Just as developers have coding styles, writers of blog posts have writing styles, so Policy Modelers need writing styles too. The predefined list of verbs in your Oracle Policy Modeler can be found on the Project Tab, in the Language Pane – in version 12. In version 10 it is in the main menu under File, if my memory serves me well.

Oracle Policy Modeler - Verb List

What verbs can I use?

As the screenshot shows, the Custom Verbs… button – which you need to click to see the dialog box displayed here – lets you review both the standard (in English that means 392 verbs) and custom verbs if you have added any using the Add… button, which you can also see in the popup dialog on the right. Of course adding verbs sounds great, and can provide for a richer, domain-specific vocabulary, for example if you need to use the verb to allocate repeatedly in your world, then you will probably need to add it. But remember that this verb is added to the Project you are working on, so if there are multiple projects you will need to manage the addition of the verb to each of them.

PS : My Getting Started with Oracle Policy Automation book is now available in PDF!

Perfect Holiday Reading

Perfect Holiday Reading

A kind owner of my book Getting Started with Oracle Policy Automation sent in the lovely photo below. Peace, quiet and OPA. What more could you want for a holiday read. Besides, looks like the other two passengers have things under control.

OPA Holidays

I’d like to thank Jason for the permission to use his photo and wish him, and all the other kind readers of this blog and the book, a very pleasant vacation. I will be working (already) on a much-expanded Second Edition of the book, which I am planning to submit for publication some time towards the end of the year, probably just before the Christmas Holidays here in Europe. There is a lot to cover and I will be working with my usual team of supporting helpers.

Getting Started With Oracle Policy Automation Book Now Available

Hi There!


This content is accessible only to logged in users of the OPA Hub Website.

To Register takes only 10 seconds and uses LinkedIn for authentication.

Once registered you can change your OPA Hub password and manage it independently of LinkedIn.

We recommend you keep different passwords for all your sites.

To register, click the Log in link in the menu at the top of your page.

Thanks, the OPA Hub Website.