Oracle Policy Automation and Siebel Innovation Pack 16 #1
For some considerable time now, the good people at Oracle have made available a White Paper describing an alternative integration to Oracle Policy Automation and Innovation Pack 16 integration (as opposed to the Siebel Innovation Pack 15 approach involving a good deal of HTML and so forth, and not supporting some of the new screen layout features and dynamic elements of Oracle Policy Automation).
The white paper is clear enough on the concepts, and some of the screenshots are excellent 😉 but I am often asked about the details of the setup and implementation. In fact it is something I have to do quite often anyway. So I thought I would publish here some content that shows how Oracle Policy Automation and Innovation Pack 16 can work together.
This content is obviously a mixture of technical and functional, and by definition quite “Siebel-oriented” but I figured it would be of interest here as well, since we all might find ourselves in projects where the two behemoths meet. And I suppose that even someone who just wants to figure out how Oracle Policy Automation connects to “something” might find it interesting as well.
A word of warning : these videos were recorded “live” without editing – or at least without much editing – so there are “troubleshooting” sequences where I do something wrong and then go off and fix it : I figure that keeping that stuff in makes for a bit of “reality TV” so you can maybe gain time yourselves when you get into similar problems. Oracle Policy Automation and Siebel Innovation Pack 16 integration sometimes takes a bit of getting used to.
Finally, in case you were wondering, this is also the foundation for the Oracle Policy Automation and Siebel 16 Workshop that I run from time to time. So, to keep the post from becoming too long, I am going to publish this in several parts. The first part (this post) looks at the various options, the different functional scenarios and the technical approaches that we might encounter in Oracle Policy Automation and Siebel 16 environments. The next post will continue the process.
Welcome to the Videos

What will you need : an Introduction and some Prerequisites

Getting Oracle Policy Automation and Siebel 16 Connected : Part One – Design Time

Next…
In the next post in a couple of days, you will continue to learn about the Connection and test the first two operations using SOAP UI, before you move on to the core of the integration.
The products I am talking here is siebel IP 20 and latest OPA 20A… We are not using interview screens from opa.
So the integration approach is either assess or answer service.We are using private cloud edition.
My first question is do we need to configure connections if we use assess service?
Second would be… How Siebel calls opa for assess service?
Does siebel connector needs to be installed explicitly while installing OPA hub?
Everywhere we have seen opa and siebel integration always with interview screens perspective. Basically want to know what all options are available without screens and steps to achieve that.
Hi Sideeq. Thanks for stopping by the OPA Hub Website. I’ll answer your comments one by one
1) Many of my customers do not use Interviews at all, so you are not alone. It is a very common scenario.
2) Using the Assess Service does not require the Connection.
If you have a project that does not use a Connection data mapping and you want to call it from Siebel :
You can consume the Assess Service in several ways in Siebel; Option One – You download the WSDL for your Project from the Hub, then you import it into Siebel Tools to generate the Integration Objects and Business Service. Now you can use it like any other external Web Service in a Workflow Process for example, using XSLT Service to create your request and send it to Intelligent Advisor / OPA and to receive the response in Siebel. Option Two; you create the XMLHttp request in Script and call the Web Service in your code. Ugly but possible.
3) But, if you already have a Connection set up to Siebel and the Project is mapped to data, you can use the Answer service which is basically the same data transfer service used in mapped Interviews, but without the Interview. There is a good example of this in the following White Paper, right at the end : https://blogs.oracle.com/opa/combining-siebel-ip-2016-and-native-opa-12x-interviews-answer-service
4) In version 12 of Intelligent Advisor / OPA there is no Siebel Connector to install – in fact the Siebel Connector architecture does not apply later than version 10. There is nothing to install, but you must download a WSDL from OPA and build your Workflow Processes / Integration Objects in Siebel to communicate with OPA. You will create multiple Web Services, one for each Integration Scenario (one for Contact BO, one for Account BO etc. according to your needs, to expose different Business Objects to OPA). The process is documented in the link I just gave you, covering the main steps (and on this website of course). They apply to Siebel 17/18/19/20 as well as 16 with some minor changes.
Hope that helps, if not please feel free to comment here.
Thank you Richard, Got answers for what exactly i was expecting.
I can see WSDL for Assess service in opa hub, the same should be used for Answer service as well?
Hi Sideeq.
The WSDL for Answer Service is separate and is only displayed on the WSDL page if the Project is mapped. If the project does not use a Connection you would not see it, like in the example here.
OK, Just to confirm on my understanding with the steps for Answer service from OPA end.
1.Create a connection in opa hub with inbound url available from siebel.
2. Add connection in OPA rulebase and deploy in hub.
3. After this, i should get Answer service WSDL in hub, collect this and provide to siebel team to build Integration objects.
Hi. Pretty much
1) Correct, the URL of the connection in the Hub will point to (for example) eai object manager with various parameters which will correspond to your Siebel Web Service
2) Correct, The connection is selected by the rule designer, and they perform mapping in their OPA project.
3) Correct, you will have access to the Answer WSDL at this point. The Answer web service is actually very generic (the methods like Load, Submit etc are always called in the same way, its just the content of the Load or Save request / response that changes. So the Siebel people can do a dry run with a simple project and they will pretty much understand how it works. The example in the White Paper (you can download the Zip file on the page I linked to) is easy to use.
I would recommend they play around with it, try calling it from Soap UI and so on. As you can see the request is generically formatted
Thank you so much for your time.
Your response is quick, clear and very much descriptive in easy terms where everyone can understand.
No problem Sideeq we try to help. Just one more comment. You could also consider using the Assess REST API if you don’t want to use SOAP. Since you are in Siebel 20, you can import the REST Assess definition (swagger description file) into Siebel Tools just like a WSDL and call OPA REST Assess Service.
Sure Richard, we are trying to see what all best possible options available and will try Rest Assess service as well.
I have one more query, while testing Assess service in SOAP UI, password token obtained from API client is expiring and we would require to add get from hub and update to continue testing.
what is the frequency of this token and how do we automate in usual scenarios to get this token. If you can add light on this, it will be very useful.
Hi There
I’m guessing you need to create an automated token script to automate how to get a token. If you look at the standard Oauth2 screen in Soap UI there is an Automation option https://www.soapui.org/oauth2/reference/access-token-retrieval/
That lets you write a Groovy script.
I must be honest and tell you that most of the time I use Postman (see this series of examples : but the process will be the same. In Postman it is a pre-request or pre-collection script. And Postman uses JavaScript so it was easier to write a script : https://intelligent-advisor.com/main/continuous-development-opa-and-postman-newman-and-jenkins-1/)
If you get Soap UI working, then please report back so we can share it with the community!
Ok we will try but these are with respect to testing in soap UI and Postman.
I want to know whether siebel or any other applications calling OPA should write a script on thier own to get access token from opa hub? or there is some other way?
Ah, I see. My apologies for misunderstanding the question. In a Siebel scenario, then you have many options. But they all basically mean the same thing. To authorise with OPA you will need to call to get the OAuth Token from OPA using Siebel outbound REST or just some script. You can then store the token in a variable or profile attribute or field along with the expiry time. Then you create a “last call made” attribute and each time you prepare to make a call you compare the last made call with the current time. The token will expire after 30 minutes without activity. So you either set up so that you call OPA at least once every 30 minutes or you build into your Workflow or script a check of the “last call made” and call again if it was more than 30 minutes ago. To do the call, you need to outbound to the /auth address of the OPA Hub. This is the same address you used in the Soap UI calls ( see image) . You then obtain a new token, update the profile attribute or whatever you are using to store it in Siebel and make new calls. Does that make sense?
Yes, will propose this thing with siebel team and will check with them.
I guess, similar logic should be followed with other teams as well.
What is the limit of OPA in creating entity instances? How many instances can be created at max in a single call?
Hi Siddeeq.
That’s a complex question. There are policy models in the field with thousands of inferred instances and customers using Batch REST to do millions of assessments. Performance is rarely affected by the rules you write but there are some areas where you need to pay a bit of attention. Reach out to us at richard@theopahub.com by email and we can have a conversation about this – with a little more space to write 🙂
ok sure Richard, we can discuss this in mail.
Hi Richard,
We followed your steps and generated WSDL from opa hub for Assess and Answer service. It worked fantastic in soap ui for testing. we are getting issues while importing into siebel tool due to documentation comments present in wsdl. Is there any way that we can disable those comments of documentation before we generate WSDL or any other way to avoid the error in siebel.
Also to import WSDL in siebel is taking more time than expected, so any methods or best practice you can suggest to speed up the process.
Hi There. Yes this is a common problem in Siebel Tools not just with OPA WSDL files. Siebel Tools locks up with long comments or other irrelevant tags. There are a couple of things you can do. Open the WSDL in Notepad ++ and strip out the annotations using something like the image below (the search string in between the tags is .*?). Use the Find and Replace feature, replace the following string with nothing. Note that regular expressions is checked, as is the . matches NewLine option) .This will typically reduce the file dramatically, I did a simple test it went from 1127 lines to 300. Then as a second step use the Edit > Blank Operations > Remove Blank and Unneccessary EOL to ensure the replace feature didn’t leave any blank lines. Test the file can be imported into Soap UI (to check you have not corrupted it in some way) and then try importing it into Siebel Tools. Cheers
Needed some information on Licensing of OPA private cloud and where can we upload license while we installing OPA or after installation. If you can add light on this, it will be very useful.
Hi Siddeeq. The private Cloud licence details can be found in the online help https://documentation.custhelp.com/euf/assets/devdocs/cloud20b/IntelligentAdvisor/en/Content/Guides/Licensing_Information/Licensing_information_onprem.htm (note, this is the license for 20B, so you may have to go to your own online help page to find the correct version). Have a good day.
but my question is “where do we need to add license after installing opa in order to activate it for an Licensed OPA environment. Do we need add it somewhere specifcally or will it during installation process or by default license is managed?”.
I’ll reach out to you in Linkedin.