B Oracle RTD Web Services and Clients

Java Required Files (JRF) consists of those components not included in the WebLogic server installation that provide common functionality for Oracle business applications and application frameworks. From 11g Release 1 onwards, the Oracle RTD web services which a customer application may call are based on the JRF technology stack. These web services are protected by web security policies.

This appendix lists the Oracle RTD web services and the clients that can access them, together with all the supported technology stack and security policy options.

This appendix contains the following topics:

Note:

In this appendix, the following abbreviations are used, that are specific to Oracle RTD and Oracle RTD applications:
  • WB = WorkBench

  • DS = Decision Server

  • LS = Learning Server

  • DC = Decision Center

  • ILS = Inline Service

  • Admin = Administration Web Service

  • RTD ADF ERE = External Rules Editor as an ADF component

  • RTD DC ERE = External Rules Editor in Decision Center

B.1 Oracle RTD Web Services

This section contains the following topics:

B.1.1 Overview of Oracle RTD Web Services

The Oracle RTD web services are:

  • RTIS (also known as SDClient)

    Represents the interface with Decision Services

    Satisfies all requests for Integration Point calls

  • WorkBench

    Supports the deployment of Inline Services by Decision Studio

    Provides a web interface used by Decision Center for displaying the structure and decisioning history of Inline Services

    Provides services to fetch and update the rules of an Inline Service

  • Batch

    Satisfies requests to perform batch jobs

  • Administration Web Service

    Provides Oracle RTD administrative services to BIAdministrators

  • External Choice

    Fetches the list of Oracle RTD external choice entities

Table B-1 shows a list of all available Oracle RTD web services, their technology stacks, endpoint addresses, and the types of security policy that they support.

Table B-1 Oracle RTD Web Services

Web Service Name Tech Stack Endpoint Address Used For/By Security Policy

RTIS

JRF

http://<server>:<port>/rtis/sdwpFoot 1 

Integration point calls

username_token

RTIS

JRF

http://<server>:<port>/ws/rtis

Integration point calls

username_token

WB

JAX-WS

http://<server>:<port>/ui/workbench2

Decision Center

Web container security

WB

JRF

http://<server>:<port>/ws/workbench

ILS Deployment, ADF External Rule Editor

username_token

WB

JRF

http://<server>:<port>/ws/workbench2

ILS Deployment, ADF External Rule Editor

SAML or username_token_with_message_protection

Batch

JRF

http://<server>:<port>/ws/batch

Batch

username_token

Batch

JRF

http://<server>:<port>/ws/batch2

Batch

SAML or username_token_with_message_protection

Admin

JRF

http://<server>:<port>/ws/AdministrationClient

Administrative services

username_token

Admin

JRF

http://<server>:<port>/ws/AdministrationClient2

Administrative services

SAML or username_token_with_message_protection

ExternalChoice

JRF

http://<server>:<port>/ws/externalchoice

External Choices

username_token

ExternalChoice

JRF

http://<server>:<port>/ws/externalchoice2

External Choices

SAML or username_token_with_message_protection


Footnote 1 The rtis/sdwp endpoint is provided for backwards compatibility with Oracle RTD Version 3.0.

Note:

The Security Policy names in this and subsequent tables are generic, rather than full, names. For example, the full name for the generic security policy username_token, as displayed in Fusion Middleware Control, is oracle/wss_username_token_service_policy.

Figure B-1 shows Oracle RTD clients connecting to the Oracle RTD web services, together with the Oracle RTD servers and the main Oracle RTD elements they interface with. For more information on Oracle RTD clients, see Section B.2, "Oracle RTD Clients."

Developers who use a web service client other than those provided by Oracle RTD can change the policies on the web service endpoints, but they are responsible for ensuring that their web service client can support the policies.

Figure B-1 Oracle RTD Client - Web Services Overview

Surrounding text describes Figure B-1 .

B.1.2 Administration Web Service

The Administration Web Service enables BIAdministrators to run the following administrative Inline Service operations:

  • Clear All Operational Data

  • Clear Choice History

  • Clear Model

  • Clear Statistics

  • Clear Study

  • Delete Service

  • Unlock Service

Note:

The Administration Web Service operations, apart from Clear Model, perform the same operations as equivalent InlineServiceManager JMX MBeans, which are available through Enterprise Manager. For more details of the MBeans, see the section "About OracleRTD > InlineServiceManager > [InlineService.DeploymentState]" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.

The callers must have the BIAdministrator application role with the appropriate administrative action or actions among the permission grants. For details, see the section "Resource Types and Actions for Oracle RTD" in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.

Note:

Oracle strongly recommends that all administrative operations, whether performed through Enterprise Manager or through the Administration Web Service, be run only when Oracle RTD has stopped accepting any new requests, and when the Inline Service and batch have completed their processing.

The Administration Web Service WSDL can be obtained from a running WebLogic server by using the following URL, modified appropriately for the user environment, in an Internet browser:

http://localhost:7001/ws/AdministrationClient?WSDL

The following provides details of each of the Administrative Web Service operation calls (and includes for reference the equivalent JMX MBeans that can be invoked through Enterprise Manager):

Note:

Each API will only return successful messages in the web service tools provided by WebLogic. The Administration web service itself will only throw exceptions in case of errors. Otherwise, it can be assumed to have worked successfully.
  • void clearAllOperationalData(String serviceName, DeploymentState deploymentState)

    The operation clears all operational data for the given Inline Service and deployment state.

    If successful, a message appears indicating that all operational data, the statistics, the choice history, and the study for the specified Inline Service have been cleared.

    Equivalent InlineServiceManager MBean: deleteAllOperationalData

  • void clearChoiceHistory(String serviceName, DeploymentState deploymentState)

    The operation clears the choice history for the given Inline Service and deployment state.

    Equivalent InlineServiceManager MBean: deleteChoiceHistory

  • void clearModel(String serviceName, DeploymentState deploymentState, String modelName)

    The operation clears the model data for the given Inline Service name, deployment state, and model name.

    If successful, a message appears indicating that the model for the specified Inline Service has been cleared.

    Equivalent InlineServiceManager MBean: No equivalent

  • void clearStatistics(String serviceName, DeploymentState deploymentState)

    The operation clears the statistics for the given Inline Service name and deployment state.

    If successful, a message appears indicating that the statistics for the specified Inline Service have been cleared.

    Equivalent InlineServiceManager MBean: deleteStatistics

  • void clearStudy(String serviceName, DeploymentState deploymentState)

    The operation clears the study for the given Inline Service and deployment state.

    If successful, a message appears indicating that the study for the specified Inline Service has been cleared.

    Equivalent InlineServiceManager MBean: deleteStudy

  • void deleteService(String serviceName, DeploymentState deploymentState)

    The operation deletes the Inline Service with the given Inline Service name and deployment state.

    If successful, a message appears indicating that the specified Inline Service has been deleted.

    Equivalent InlineServiceManager MBean: removeService

  • void unlockService(String serviceName, DeploymentState deploymentState)

    The operation unlocks the Inline Service with the given Inline Service name and deployment state.

    If successful, a message appears indicating that the specified Inline Service has been unlocked.

    Equivalent InlineServiceManager MBean: unlockService

If invalid credentials are presented, such as when the caller does not have the BIAdministrator application role, the error message is of the following type:

Caller is not authorized to execute action for Inline Service <ils_name>

Deployment State

The deployment state parameter defines the deployment state of the Inline Service that will be targeted by the listed Administration operations. The deployment state will have one of three possible values: Development, QA, and Production.

Administration Client API Example Usage

try {
  webServiceClient.clearStudy("CrossSell", DeploymentState.DEVELOPMENT);
} catch(Exception e) {
  System.out.println("Clear study failed!");
}

B.2 Oracle RTD Clients

Table B-2 shows the Oracle RTD clients, the technology stacks on which they depend, the web services they use, and the security policies that they support.

When a client uses one of the security policies allowed for that client, the appropriate endpoint will be called.

Table B-2 Oracle RTD Clients

Client Name Tech Stack Web Service Security Policy

Java Smart Client

JRF

RTIS

username_token, username_token_with_message_protection, SAML

Java Smart Client

HTTP Client

RTIS

username_token

Batch Client

JRF

Batch

username_token, username_token_with_message_protection, SAML

Batch Client

JAX-WS

Batch

username_token

Load Generator

HTTP Client, JAX-WS WB Client

RTIS, WB

username_token

Decision Studio

HTTP Client, JAX-WS WB Client

RTIS, WB

username_token

RTD ADF ERE

JRF

WB (JRF)

username_token_with_message_protection, SAML

RTD ADF ERE

SAAJ

WB (JRF)

username_token

RTD DC ERE

Javascript

WB (JAX-WS)

None

Customer generated WS Client

JRF

RTIS

username_token_with_message_protection, SAML

Customer generated WS Client

JAX-WS, AXIS, JAX-RPC, .NET

RTIS

username_token

RTD PHP Client

PHP Soap

RTIS

username_token

RTD PHP Client

NuSoap

RTIS

username_token

.Net Client

.Net

RTIS

username_token


In each of the scenarios described in this section, the Oracle RTD server is assumed to be installed on an Oracle Fusion Middleware BI Shiphome.

Scenario 1: List of All Oracle RTD Clients that can run on an Oracle Fusion Middleware Supported Application Server

Table B-3 Clients Running on an Application Server Supported by Oracle Fusion Middleware

Client Name Tech Stack upon which the client is dependent Security Policy

Java Smart Client

JRF

username_token_with_message_protection, SAML

Batch Client

JRF

username_token_with_message_protection, SAML

Load Generator

HTTP Client, JAX-WS WB Client

username_token

Decision Studio

HTTP Client, JAX-WS WB Client

username_token

RTD ADF ERE

JRF

username_token_with_message_protection, SAML

Customer generated WS Client

JRF

username_token_with_message_protection, SAML


Scenario 2: List of All Oracle RTD Clients that can run on a non-Fusion JDK 1.6 and JDK 1.5

Table B-4 Clients Running on a non-Fusion JDK 1.6 and JDK 1.5

Client Name Tech Stack upon which the client is dependent Security Policy

Java Smart Client

HTTP Client

username_token

Batch Client

JAX-WS

username_token

Load Generator

HTTP Client

username_token

Decision Studio

JAX-WS WB Client

username_token

RTD ADF ERE

(ADF JSF Libraries need to be with Oracle RTD client code)

SAAJ

username_token

Customer generated WS Client

JRF (1.6 only)

username_token_with_message_protection, SAML

(For SAML:

User is responsible for generating SAML token and injecting it into the SOAP header

Both client application and Oracle RTD must point to same OID/OVD)

Customer generated WS Client

JAX-WS, AXIS, JAX-RPC, .NET

username_token


Scenario 3: Clients are running on a non-Oracle Fusion Middleware Supported JDK 1.4

Only RTD Java Client is supported on JDK 1.4.

Decision Studio, Load Generator, Batch, and Command line deployer will not be supported on JDK 1.4.

Scenario 4: PHP Client is running on a non-Oracle Fusion Middleware Supported Server

Oracle RTD only supports a PHP front-end application integrated with Oracle RTD Decision Server for decisioning.

Decision Studio, Load Generator, and Batch clients need to run in a Java environment.

Table B-5 PHP Clients Running on a non-Oracle Fusion Middleware Supported Server

Client Application Stack Client Type Tech Stack Security Policy

PHP V5

PHP Client

PHP Soap

username_token

PHP V5

PHP Client

NuSoap

username_token


Scenario 5: .NET Client is running on a non-Oracle Fusion Middleware Supported Server

Oracle RTD only supports a .NET front-end application integrated with Oracle RTD Decision Server for decisioning.

Decision Studio, Load Generator, and Batch clients need to run in a Java environment.

Table B-6 .NET Clients Running on a non-Oracle Fusion Middleware Supported Server

Client Application Stack Client Type Tech Stack Security Policy

.Net

.Net Client

 

username_token


B.3 Web Service Security

Security for Oracle RTD web services is implemented through Oracle Web Services Manager (OWSM). When Oracle RTD is deployed, the Oracle RTD web services are registered with OWSM. By default, they will have the endpoint addresses, ports, and security policies listed in Table B-1, with environment-specific server and port values.

By default, the Oracle RTD web services have all security options switched on. Users can decide to switch off options based on the specific security context in which their application that calls Oracle RTD operates. They can choose which security policies to associate with web services, including policies which do not enforce authentication or authorization.

For Oracle RTD Decision Server authentication to be switched off on a web service, perform the following steps:

  1. Log in to Fusion Middleware Control, as described in Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions.

  2. In the Target Navigation Pane, under Application Deployments, right-click the OracleRTD server entry, then select Web Services.

  3. In the Web Service Details area, click the Web Services Endpoint tab.

  4. Click the Endpoint name for the Web Service.

  5. In the Policies tab, select the policy and click Attach/Detach.

  6. Select the policy in the Attached Policies area, click Detach, then click OK.

    Repeat steps 3 to 6 for each web service whose policy you want to detach.

  7. Restart Oracle RTD.

For more information about configuring and changing web service security, see Oracle Fusion Middleware Security and Administrator's Guide for Web Services.