Tag: Web Services

Oracle Policy Automation and Siebel Innovation Pack 16 #6

Oracle Policy Automation and Siebel Innovation Pack 16The final post in this series looks at some of the “extras” that facilitate the integration of Oracle Policy Automation and Siebel Innovation Pack 16. By “extras” I mean other Web Services provided by Oracle Policy Automation, which will need to be taken into consideration when designing how these two applications can best work together but that are not directly related to the subject of getting the two applications to integrate using Applets, Integration Components, Workflow Processes and so on. Some of the content that follows is license-dependent, but should be of interest to any Oracle Policy Automation person.

Overview

Given that there are a number of different services to review, this post therefore is necessarily a mixture of many things. To summarise, there are

  • Administrative Services : The REST API of Oracle Policy Automation allows the creation of users of all the main types (integration users as well as normal ones) and also for the automation of deployment, and retrieval of associated information.
  • Execution Services : Assess, Interview and Answer (and the Server service, although it does not really need to be covered here).
  • Batch Execution Service : The REST API for Batch Execution allows for batched execution of goal determination

Together these are referred to as the Determinations API. The API is version specific in the sense that features are constantly being added (for example, integration user management is new to release 18A) so make sure you are using the correct WSDL file. For specific Oracle Policy Automation rulebases you can download the WSDL easily and that is shown in the videos below.

Assess Service

The Assess Web Service is probably the most famous service from a Siebel developer perspective, since it allows Siebel Enterprise to call Oracle Policy Automation and obtain an XML response (in the manner of a typical SOAP Web Service). It is often used therefore when no user interface is required.

The above video provides a short overview of how to derive the necessary information from Oracle Policy Automation and to use it in standard Web Service fashion. Developers should note that the post-processing of the Response will most likely occur in a Siebel Workflow Process or Script, in order to parse the response and deal with it.

As such, accessing an Oracle Policy Automation rulebase with Assess can be done very simply indeed. If the Oracle Policy Automation rulebase you are working with has a Connection in it (to Siebel or anything else) then you may also wish to use the Answer Service (see below).

Interview Service

The Interview Web Service was heavily used in the Oracle Policy Automation and Siebel Innovation Pack 15 integration, in order to mimic the behavior of the standard Interview using the Siebel Open UI framework. This Service is best suited to applications needed to provide the Interview User Interface in another technology (a Java application, a Silverlight Client, a Visual Studio application or whatever). It has a number of specifics and developers must manage session control, as the short video below illustrates.

Answer Service

The Answer service is reserved for Projects where there is a Connection object in Oracle Policy Automation, and as such provides a SOAP-based tool to pass data sets to the Project and receive the response. Amongst other things, therefore, it can be used to test the behaviour of an Oracle Policy Automation project when the external application (for example Siebel Enterprise) is not available.

REST API Services

As outlined above, there are in fact two REST API areas of interest : the administrative platform and the Batch Assessment service. Both require OAuth2 authentication and session management.

What’s Left – Oracle Policy Automation and Siebel Innovation Pack 16

So what is there still to do, for the Siebel Developer who has followed all the different posts and videos in this series? Well of course it is not possible to show everything, so here are the main points that you will now need to finish on your own : but most of them are entirely non-specific to Oracle Policy Automation and Siebel Innovation Pack 16.

There are of course many different things that you might want to do with Oracle Policy Automation and Siebel Innovation Pack 16, so at the OPA Hub Website we are always happy to hear from our readers with comments and questions : all you have to do is post at the bottom of the article. We obviously cannot run your project from here (but if you want us to, just get in touch!)  but you should feel free to contact us with questions, ideas for articles or anything else that is Oracle Policy Automation-related.

As Siebel Developers will know, Siebel Enterprise is now in version 17 and the next big thing, Siebel 18, is expected soon. The good news is that almost all of the steps shown here are completely identical in the newer version, since the changes are architectural rather than functional for the most part. If you come across anything completely different then, again, just let us know. We do plan on providing an update to this post series as and when the Siebel 18 is made generally available.

Finally

The OPA Hub hopes you all enjoyed the different posts in this series. For your bookmarks, here are the other posts in the series:

Oracle Policy Automation & Siebel #1

Oracle Policy Automation and Siebel Innovation Pack 16 #1

Oracle Policy Automation and Siebel Innovation Pack 16 : Tutorial Part OneFor 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 OPA Assess Method in Oracle Policy Automation Determinations #2

The OPA Assess Method in Oracle Policy Automation Determinations #2

Following from the first part of this tutorial about Oracle Policy Automation and the Determinations API, you finished the previous post with your system all ready to go for the initial use of the Web Service and the two methods. Firstly, you will use the ListGoals method to practice but also to learn an important step, then the Assess Method (Oracle Documentation). In the setup of the previous part, we deliberately ensured that anonymous access would not be possible. As a result, you will need to do some extra work before you can try out your Web Service.

Viewing the ListGoals Request

If you open the ListGoals folder in the SOAP UI interface and examine Request 1, you will see something very similar to the following:

The OPA Assess Method in Oracle Policy Automation Determinations - ListGoals

 

Notice that in the example, I have edited the “show-version” tag to read “true” instead of the “?” which was previously present. Many times in the following examples you will need to either edit such elements, or remove them completely if the information is not mandatory. Clicking the green triangle present in the top left hand corner of the window does not, however, get us any kind of useful response. Rather we have an error, telling us that the request we sent did not contain information sufficient to authenticate our request.

Adding the Header information for the SOAP Request

The following screenshot shows the editing you will need to do in your request (on the left hand pane) in order to proceed any further. The header information will be needed in any request you make (ListGoals or Assess methods) in this environment at the current time.

The OPA Assess Method in Oracle Policy Automation Determinations : Authentication

Once you have made these changes, save the header somewhere useful since you will need it all the time in the following examples.

Click the green triangle again. If you are still getting error messages in the right hand side pane, remember that the OPA Hub User you are authenticating with, must have permission to use the Determinations API. Check that by logging in to the Oracle Policy Automation Hub as a Hub Administrator, and viewing the details of the user in question. For ease of viewing, I have highlighted the setting that needs to be checked in order for the user to be allowed to perform the steps you are trying to do:

Viewing the Results

Hopefully, your next attempt at clicking the green triangle is more successful. Here is an example of the result you might have, if you are usin the same Project as I demonstrated in the first part of this post.

The OPA Assess Method in Oracle Policy Automation Determinations : ListGoals Response

The following annotations might be useful

  1. Notice the version information. If you set the request “show-version” to false, this section will not appear.
  2. The global entity is clearly marked.
  3. Notice this attribute does not have a readable Id. If you have forgotten to add names to your important attributes, you will see auto-generated Ids like this one. This should be your cue to go back to your Project, add a name, upload and deploy your new version.
  4. This entity has a name.
  5. The entity name, text and type are all clearly visible.

TIP : You will probably want to go back and add names for all of the attributes (race date, imminent race, and so on) and deploy that version.

What have you obtained?

The output has listed the top-level goals for the Project. In our case, there are Global and entity-level goals that can be inferred by providing the right information to perform an assessment. The ListGoals lists, as it’s name suggests, the goals you can obtain outcomes for.

Armed with this information you are ready to go further. Let’s suppose you are interested in the goal called “h_status” in my example. We can attempt to obtain some output.

Assess Method Initial Call

Our first call will be made using a very cut-down version of the complete request. Since our Project contains no Properties, no Change Points and since we are going to ask for the same level of information about all of our attributes and get a level pf outcome information that is the same, no matter whether we are receiving (whether the outcome is uncertain or certain), the request can be cut down to look like this;

The OPA Assess Method in Oracle Policy Automation Determinations : Assess Request 1

Notice the outcome section where we have asked for the values of the horse and the horse status, and the global attribute race_date which we have entered as our request input. The result, assuming you have been using the same Project, would be something like the response below.

The OPA Assess Method in Oracle Policy Automation Determinations : Assess Response 1

In this output, the following areas are highlighted :

  1. The race date is reiterated
  2. The entity instances of the horse entity are shown, each with the name and the status
  3. The attributes are inferred as you would expect

Outcome Styles and Assess Method

In this first request, you set outcome style to “value-only”. Two other choices are possible at this juncture.  Change the outcome style for the horse status to “base-attributes”, as in the example shown below.

The OPA Assess Method in Oracle Policy Automation Determinations : Assess Request 2

Upon executing the request, you will notice that the outcome has more detail. This information is very useful, since it highlights the base attributes that are needed to infer the horse status. In this case specifically, the date of the race.

The OPA Assess Method in Oracle Policy Automation Determinations : Assess Response 2

Finally, change the outcome style of the same attribute to “decision-report”. Now the output will include the tree of decisions that lead to the output:

The OPA Assess Method in Oracle Policy Automation Determinations : Assess Response 2

So far so good  – Assess Method

So it is clear that the outcome style can not only assist us in understanding which attributes are needed as input (base attributes) but also in understanding the decision that was made (decision report). In the next part of this series we will investigate other tags in the request and response.

Worldwide
Logo by Southpaw Projects LLC