Oracle Policy Automation is well known for providing interactive decision-making interviews. But frequently customers want to automate decisions as part of other processes, too. For example, OPA web services can calculate monthly payment amounts, and automate periodic financial account compliance checks.
Recently, we made two changes to Oracle Policy Automation to make large scale automated assessments more efficient, and more economical at high volume:
The decision-making engine inside Oracle Policy Automation is seriously fast. However, the OPA answer and assess SOAP services only process one case at a time. Each assessment can include multiple decisions, for example which children in a household are eligible for a childcare rebate, and in each case, how much. But if you have millions of households to assess, this can add up to a lot of unnecessary overhead: to set up each web service call, and to wait for each response to be returned from OPA.
Figure 1 - Assess and answer service calling pattern
The batch assess service provides an alternative:
Figure 2 - Batch assess service calling pattern
The chart below shows an example of throughput with the batch assess service, for different numbers of cases passed in a single batch REST API call.
The batch assess service is a REST-style API, which means it is completely self-describing, and it uses JSON as the data representation format.
On OPA cloud sites that have purchased OPA Enterprise Assessment API Cloud Service, policy models deployed with the "Web services" channel automatically provide the batch REST API endpoint.
A key design goal for OPA is to make it easy to reuse OPA policy models wherever they are needed across an organization, to ensure consistent decisions are always made.
And OPA customers don't only need fast batch processing, but also high volume continuous processing. For example, in an IoT scenario where a car is constantly providing diagnostic data over the Internet to your company, you might want to use OPA to decide whether to contact the customer about the vehicle's condition. In this case, there might be millions of checks per day happening that are all calling into OPA, and you want to decide what to do in realtime.
So, as part of introducing cost-effective pricing for batch assessments, we decided to also support high volume continuous assessments with that same pricing model.
This is where the Oracle Policy Automation Enterprise Assessment API Cloud Service comes in, which first became available in June 2017. This service is sold in bundles of 1M monthly assessments. Although purchasing OPA Enterprise Assessment API is the only way to get access to the batch assess service for an OPA site, you can consume those 1 million assessments in many ways:
If you need more than 1 million assessments per month, just buy another bundle.
If you're an existing OPA cloud service user, you might be wondering "what happens if I add 1M monthly assessments to my existing site?". The answer is simple:
In other words, once you buy OPA Enterprise Assessment API each call to the assess and answer service is treated as one assessment, instead of as an individual tier 3 session. Keep in mind, though, that unlike tier 3 sessions, monthly assessments are not pooled from month-to-month.
By the way, there are no pre-requisites for purchasing OPA Enterprise Assessment API: you can use it with or without tier 3 sessions, OPA agents, or OPA mobile.
The batch assess service available with Oracle Policy Automation May 2017 provides an efficient way to incorporate high volume decision making into your batch and continuous enterprise processes, with an efficient JSON-based API. If you are planning to make millions of OPA API calls, including to the assess and answer web services, talk to Oracle about adding Oracle Policy Automation Enterprise Assessment API to your service, since it provides a cost effective option for incorporating OPA decision making across your organization. For more information on how to get started with the batch assess service in particluar, check out the product documentation.