1 Embedding Business Intelligence Objects in ADF Applications

This chapter describes how to add Oracle BI EE objects such as analyses, dashboards, and Scorecard components to Oracle ADF applications. It describes how to prepare the ADF project to accept objects, wiring the objects to ADF, and using Impersonate User to secure the application.

This chapter includes the following sections:

1.1 Overview of Embedding Business Intelligence Objects in Applications

Embedding business intelligence objects allows you to access the Oracle BI Presentation Catalog and choose Oracle BI EE objects, such as analyses and dashboards, to include in ADF pages. In most cases, the objects that you add to ADF pages are created to fit the theme of an ADF page and application. When you add an object to an ADF page, that page contains a reference to the object and does not contain a copy of the object. When the object is modified and saved to the Oracle BI Presentation Catalog, any changes display in the ADF application when the user runs the form.

After the business intelligence object is added to the ADF page, you can wire it to other regions on the ADF page. You can also set any filter or prompt parameters for the object. You can also set up security and change the Presentation Services connection after the application is deployed.

Note that the Business Intelligence Logical SQL View Object allows you to access the Oracle Business Intelligence Server to create ADF applications that bind native ADF components to Oracle BI EE data. For more information about this method of adding business intelligence data to ADF pages, see Chapter 4, "Using the Oracle BI EE Logical SQL View Object".

1.2 Business Intelligence Objects That You Can Add to ADF Pages

The business intelligence objects that you can include in ADF applications are stored in the Oracle BI Presentation Catalog's folders. You can include the following types of business intelligence objects in ADF applications:

  • Analyses (Note that you can expand and browse the folders to view an analysis' subcomponents. The following view types appear in the catalog: table, pivot table, chart, funnel chart, gauge, narrative, ticker and title.)

  • Dashboards (Note that you can browse inside the dashboard folder to find the pages that are associated with the dashboard.)

  • Dashboard Pages (Note that you cannot browse within the dashboard pages to see components. Such as, any analyses embedded in the dashboard.)

  • Scorecard components (Note that you cannot include an entire Scorecard; only its components. These components are: strategy maps, strategy trees, KPI watchlists, cause and effect maps, and custom views.)

1.3 Embedded Business Intelligence Objects Use Cases

Use the following use cases to help you better understand why you would embed business intelligence objects in ADF applications. For specific information about creating the business intelligence objects and adding them to an ADF application, see the procedural topics in this chapter and Oracle Fusion Middleware User's Guide for Oracle Business Intelligence Enterprise Edition and Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

  • Supply chain managers want to view the analysis summarizing the status of orders in different sectors and availability of items in the warehouse along with other transactional data.

  • A marketing manager for an online shopping site wants to see buyers' trend information, such as age group, geographic distribution, and personal interests, in a dashboard to analyze the user data and use it to determine future marketing strategies.

  • A sales manager wants to see the sales analysis for different regions with conditional formatting and take an action if the sales is trending below a minimum threshold. This analysis with an action link can be created in the Oracle BI EE application and embedded into the ADF application.

1.4 Preparing the ADF Project to Accept Business Intelligence Objects

To properly prepare the ADF project for the addition of business intelligence objects, you must add the required MDS libraries (MDS Runtime and MDS Runtime Dependencies) to the ADF project and add the BI ADF Components technology scope to the ADF project.

1.4.1 How to Prepare the ADF Project

Use the following procedures to prepare the ADF project to accept business intelligence content. Before you can perform the following tasks, you must have created an ADF project to which you add business intelligence content.

When you have completed the procedures in this topic, you can create an Oracle BI Enterprise Edition Presentation Services connection to access the catalog from which to select business intelligence objects to embed in your application. For more information, see "Creating an Oracle BI EE Presentation Services Connection".

1.4.1.1 Checking for Installed JDeveloper Extensions

Oracle JDeveloper offers the following Oracle BI EE extensions:

  • Business Intelligence ADF Task Flow

  • Business Intelligence ADF View Regions

  • Business Intelligence Composer

  • Business Intelligence Logical SQL View Objects

  • Business Intelligence Soap Connection

Use this procedure if you are not sure whether you have the required Oracle JDeveloper 11g extensions and Oracle BI EE extensions.

  1. In JDeveloper, click the Help menu and click About. The "About Oracle JDeveloper 11g" dialog displays where you can confirm the release number.

  2. Click the Extensions tab to view a list of the installed extensions. To sort the list, click either the Name or Identifier column heading.

    Note that all Oracle BI EE extensions contain the "bi-" prefix. If no extensions begin with the "bi-" prefix, then you do not have the required extensions.

1.4.1.2 Installing the Required JDeveloper Extensions

Use this procedure to install the required extensions.

  1. From the JDeveloper Help menu, select Check for Updates.

  2. Follow the steps in the wizard to locate, download, and install the Oracle BI EE extensions. If you create a WebCenter Portal application that integrates with Oracle BI EE, then you need to also install the WebCenter Portal framework.

    For a list of the available Oracle BI EE extensions, see "Checking for Installed JDeveloper Extensions".

1.4.1.3 About Oracle BI EE Personalizations in ADF Applications

Personalizations for dashboards, dashboard pages, analyses, and views are saved automatically if the ADF application is configured for personalizations. Personalizations can be stored at the user level or the group level.

Users can personalize the following items when they exist on a dashboard region on an ADF page:

  • Values for dashboard prompts

  • Values for presentation variables (These variables are usually set by a prompt.)

  • Values for column selectors

  • Drills, sorts, and pivot/swap on a view

Users cannot personalize the following business intelligence content types:

  • Dashboard pages

  • Standalone Scorecard components

1.4.1.4 Adding the MDS Libraries and Enabling MDS Customizations

To save the site and user application personalizations such as prompt values, you must add the following libraries to the ADF project and confirm that the MDS customizations have been properly enabled. MDS stores application metadata and also stores and retrieves customizations at various levels within the ADF application.

To add the MDS libraries to the ADF project:

  1. In JDeveloper, go to the Project Pane, right click the project to which you want to add the MDS libraries, and select Project Properties.

  2. Select Libraries and Classpath.

  3. Click the Add Library button, highlight MDS Runtime and MDS Runtime Dependencies, and click OK.

  4. From the left pane of the Project Properties dialog, select ADF View.

  5. Confirm that the following options are selected:

    • Enable User Customizations

    • Across Sessions using MDS

    • Enable Seeded Customizations

  6. In the Project Properties screen, click OK.

1.4.1.5 Adding the ADF Technology Scopes

Perform this procedure to add the proper technology scopes to the ADF project.

Technology scopes are ADF project attributes that are used to identify the different technologies used for the project. Selecting the BI ADF Components technology scope adds the ADF Faces, Java, JSF, and JSP and Servlets technology scopes to the ADF project.

To add the ADF technology scopes to the ADF project:

  1. In JDeveloper, go to the Projects Pane and right-mouse click on the project to which you want to add the technology scopes and select Project Properties.

  2. Select Technology Scope.

  3. In the Available Technologies list, select BI ADF Components and click the Add button. JDeveloper adds the required BI technologies to the Selected Technologies list.

  4. Click OK.

1.5 Creating an Oracle BI EE Presentation Services Connection

Before you can add business intelligence objects to an ADF application, you must configure SSL, export and import a certificate, and create a data connection to Oracle BI EE Presentation Services.

1.5.1 How to Configure SSL and Create an Oracle BI EE Presentation Services Connection

Use the following procedures to configure SSL, export and import the certificate, and create a connection to Oracle BI EE Presentation Services. Before you can perform the following tasks, you must have first created an ADF project and prepared it to accept business intelligence content. For more information about preparing the project, see "Preparing the ADF Project to Accept Business Intelligence Objects".

Note:

If you receive a certificate error when using the application, you may need to import the client certificate into your browser.

1.5.1.1 Configuring SSL

To enable secure communication, you must configure Oracle BI EE Presentation Services to communicate over SSL.

For more information about SSL and how to configure it in Oracle Business Intelligence, see Oracle Fusion Middleware Security Guide for Oracle Business Intelligence Enterprise Edition.

1.5.1.2 Exporting and Importing the Client Certificate

After you configure SSL, you must export the web application client certificate from the key store and import it into JDeveloper.

To export and import the client certificate:

  1. Identify the location of the server key store. This path is usually ORACLE_HOME/oraclebi/wlserver_10.3/server/lib/DemoIdentity.jks

  2. Using the server key store location, run the following command:

    cd %ORACLE_HOME%/oraclebi/wlserver_10.3/server/lib/

    %JAVA_HOME%\bin\keytool -export -alias wlscertgencab -file my.crt -keystore DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase

  3. Import the client certificate into JDeveloper. This step prevents SOAP errors from occurring when you create an Oracle Business Intelligence Presentation Services connection.

    1. Copy the certificate into JDeveloper's JRE. The location is jdev\jdk\jre\lib\security or oracle\jdk\jre\lib\security

    2. Run the following command to import the certificate. Note that the default password for the Java default keystore file $JAVA_HOME/lib/security/cacerts is changeit.

      keytool -v -import -file my.crt -keystore cacerts

  4. Import the client certificate into JDeveloper's JRE. This step prevents errors from occurring when sending SOAP requests for https://server:port/analytics/saw.dll?privateWSDL in SSL mode.

    1. Open JDeveloper and locate the -Djavax.net.ssl.trustStore parameter. For example, -Djavax.net.ssl.trustStore= C:\ADE\jdevmain3\oracle\wlserver_10.3\server\lib\DemoTrust.jks.

      Note that this parameter contains the client trustStore location and stores the key and certificate that the client uses to verify the server's certificate.

    2. Run the following command to import the certificate to this client trustStore:

      %ORACLE_HOME%\oracle\jdk\bin\keytool -import -alias test -file <client_cert_filename> -keystore <keystorefile> -keypass <key_password>

1.5.1.3 Creating a Connection

You can add connections to one or more installations of Presentation Services. Depending upon where you created and saved the connection, the connection name displays either within the Resource Palette's IDE Connections panel or the Application Navigator's Application Resources panel.

When you expand the connection's name, JDeveloper shows the Oracle BI Presentation Catalog's folders and the objects stored in the folders. From the folders, you can drag and drop business intelligence objects from the resource palette to the ADF page.

You must build this connection only one time per catalog; however, after the connection is built, its parameters can be edited at design time within JDeveloper.

Note:

A Presentation Services connection can be added or modified during or after the ADF application is deployed. For more information, see "Adding or Modifying a Presentation Services Connection After Deployment".

To create a connection

  1. In JDeveloper, choose where you want the connection to be used. Use the following substeps to create the connection to be available for any JDeveloper application.

    1. Navigate to the Resource Palette, click the New button.

    2. From the list, select BI Presentation Services. The Create BI Presentation Services Connection wizard displays.

    Note:

    JDeveloper allows you to drag and drop a saved connection from the Resource Palette to the Application Resources pane.
  2. Use the following substeps to create the connection to be available for the current application, only:

    1. Navigate to the Application Navigator tab and then to the Application Resources pane., right click on the Connections folder, and select New Connections and then select BI Presentation Services. The Create BI Presentation Services Connection wizard displays.

    2. Right click on the Connections folder and select New Connections.

    3. Select BI Presentation Services. The Create BI Presentation Services Connection wizard displays.

  3. Enter a unique, descriptive name that identifies the catalog connection. Note that after you finish creating the connection, the name cannot be changed.

  4. Click Next.

  5. Enter the Oracle Business Intelligence Presentation Services location and make selections for the following items.

    • Protocol– Choose http or https from the drop down list.

    • BI Presentation Services Host– Type the location of the server where Oracle Business Intelligence is installed, for example, abc12345.mycompany.com.

    • BI Presentation Services Port– Enter the port number for the host. This number is usually 9704.

    • BI Presentation Services Virtual Directory– Enter analytics in lowercase.

    • WSDL Context– Enter the context to which you want to deploy the WSDL application. Modify this field only if the System Administrator has changed the default context from "analytics-ws" to something else. For example, mycompanyname-ws. The SOAP connection uses the context specified in this field.

    • Static Resources Mode– Specify from where to retrieve static resources.

      Select Auto to direct all requests to Oracle BI Presentation Services rather than to the Oracle BI proxy. Selecting Auto results in a significant increase in performance. Note that Auto mode provides the best performance if Oracle WebLogic Server resides behind Oracle HTTP Server or Apache HTTP Server and you are bypassing Oracle WebLogic Server for serving static files.

      Select Manual to direct requests to another location. If you select Manual, you must specify a URL in the Static Resources Location field.

    • Static Resources Location– (Optional) If you selected Manual in the Static Resources Mode field, then enter the location of the deployed static resources if they are not located within the Oracle BI installation. The URL format must be http://host:port/analytics. Examples of static resources are .css and .javascript. Or, leave this field blank if Oracle BI resides behind a firewall but the ports to the ADF instance are not behind a firewall. For more information about setting up static resources, see "Improving Oracle BI Web Client Performance" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

  6. Click Next.

  7. Specify the user name and password for the Presentation Services connection.

    Note:

    If ADF security is enabled for the application, you must change the user name and password to Impersonate User credentials before you deploy the application. For more information, see "How to Create and Use Impersonate User".

    Note:

    One of the following scenarios must be configured depending on whether you use a shared LDAP or a non-central identity store:
    • Shared LDAP identity store (for example OIM).

      Must be set up between the JDeveloper WebLogic server (if using JDeveloper's integrated Oracle WebLogic Server) or your application's WebLogic Server, and Oracle BI Server.

    • Non-central identity store (for example, a local WebLogic identity store in the BI instance.

      Each user who logs in to your application must have a corresponding identical user set up in the BI Presentation Server with appropriate groups.

  8. If ADF security is enabled for your application and you want to use the Impersonate User credentials, leave this field set to True.

    If ADF security is enabled for your application, and you do not want to use the Impersonate User credentials, set the Perform impersonation when security is enabled field to False to disable the Impersonate User credentials. If you set this field to False, you must also specify the necessary credentials in the User Name and Password fields on this screen (used instead of the SSO user). For more information about credentials, see "Credentials for Connecting to the Oracle BI Presentation Catalog". This setting is not recommended.

    If ADF security is not enabled for your application, you do not have to modify this field. This field is only applied to applications where ADF security is enabled.

  9. Click Next

  10. Click Test Connection to verify that the connection information is correct. If your test connection fails, JDeveloper provides you with error messages that help you troubleshoot the problem.

  11. Click Finish to create the connection.

1.6 Adding Oracle Business Intelligence Objects to ADF Pages

When you drag and drop a business intelligence object that contains filters or parameters to the JSPX page, JDeveloper inserts the <adfbi:content> element. This tag references a biContent element in the page definition file using the following EL expression:

<adfbi:content id="myBIRegion" value="#{bindings.biContent}"/>

At runtime, this element returns the markup for the selected business intelligence component and defines the parameters that the region can accept as input. There is one parameter for each prompt in the underlying analysis, or one parameter for the underlying filter or prompt for the underlying dashboard. The biContent element contains the default values, and you can edit the values of these parameters and replace them with Expression Language (EL) or literals. This allows you to use JDeveloper's Expression Language to wire the parameters to other components on the page.

The biContent element also accepts the setParameters ADF contextual event. You can map the payload for this event to the parameters exposed by the dashboard region in the pagedef file. For example:

<eventMap xmlns="http://xmlns.mycompany.com/adfm/event">
   <event name="setParameters">
    <producer region="doInputs">
     <consumer handler="biExecBinding1">
      <parameters>
       <parameter name="Products.Brand" value="${payLoad.input1}"/>
       <parameter name='Periods."Year"' value="${payLoad.input2}"/>
      </parameters>
     </consumer>
    </producer>
   </event>
</eventMap>

If the dashboard or dashboard page contains analyses that use presentation variables and there are no visible prompts on the dashboard to set these variables, the dashboard designer must add hidden prompts to set the variables. When the dashboard is included on an ADF page, the hidden prompts are available for context passing.

1.6.1 How to Add Business Intelligence Objects to an ADF Page

All business intelligence objects added to the ADF page inherit styles from the current ADF skin.

Before you perform the following tasks, you must have first created an ADF project, prepared it to accept business intelligence content, and created a server connection. For more information about these tasks, see "Preparing the ADF Project to Accept Business Intelligence Objects" and "Creating an Oracle BI EE Presentation Services Connection".

To add business intelligence objects to an ADF page and specify filter or prompt parameters

  1. In JDeveloper, go to the Resource Palette, select the data connection, and browse for the business intelligence content to add to the ADF page.

  2. Drag and drop the item onto the page.

    Note:

    If new or revised business intelligence content was saved to the Oracle BI Presentation Catalog, the JDeveloper catalog connection must be refreshed so that all new and revised business intelligence content is available.
  3. If the item includes prompts or filters, the Parameters screen appears, listing the analysis or dashboard prompts and filters. To specify an override parameter value, place your cursor in the Value field and type the parameter value.

  4. To either build an expression or bind the content item to a managed bean, click the Ellipsis button. The EL window appears. For more information about building EL expressions or using the EL screen for data binding, see Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

  5. Save the JSPX page.

  6. In the Projects area, which is located in the left pane, locate the file name for the page upon which you are working, right-click, and select Run.

    Note that if any type of security was set for the application, you are prompted for a user name and password.

1.7 Passing Business Intelligence Content with the Oracle BI EE Contextual Event Action

The Oracle BI EE ADF Contextual Event action is delivered with Oracle BI EE and uses the Oracle BI EE Action Framework. Before the analysis designer can include this action type, the administrator must enable the ADF Contextual Event action to display in the New Action Link menu within Presentation Services. To enable this action type, the administrator must modify the Oracle BI EE instanceconfig.xml file to include the following parameter:

<ActionLinks>
     <EnableADFContextualEvent>True</EnableADFContextualEvent>
</ActionLinks>

For information about modifying instanceconfig.xml, see "Making Advanced Configuration Changes for Presentation Services" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition.

At design time, the analysis designer determines which column should contain the Oracle BI EE ADF Contextual Event action, and from the New Action Link menu, selects ADF Contextual Event. At runtime, the Oracle BI EE ADF Contextual Event action passes content from the business intelligence object (analysis) to another region on the ADF page or another ADF contextual event on the ADF page.

The Oracle BI EE ADF Contextual Event action takes no parameters and can be conditionally rendered. When the user accesses the ADF page and clicks a data cell containing the Oracle BI EE ADF Contextual Event action or if the cell is tied to a condition and that condition's threshold has been met, the system generates an Oracle BI EE ADF Contextual Event action that has a qualified data reference (QDR) of the cell as its payload.

Suppose that the ADF designer wants to create a business intelligence region on an ADF page that contains functionality that automatically promotes any employee whose three previous employee reviews were rated as "Outstanding". To accomplish this task, the business intelligence content designer would include the Oracle BI EE ADF Contextual Event action on the analysis' Employee Name column and include a label of "Promote".

1.7.1 What Is the Definition of the QDR?

Below is the QDR's definition:

/**
   * String representation of QDR with use of internal Ids
   * <pre>
   *  qdr
   *   : '{"_m":' memberGroups (',"_q":'  qdrQualifier)? '}'
   *  memberGroups
   *   : '[' memberGroup (',' memberGroup)* ']'
   *  qdrQualifier
   *   : '{' ('"_t":[' scalarMember ']') | ('"_p":[' ('true' | 'false') ']') '}'
   *  memberGroup
   *   : '"_g":{' dimensionMembers (',"_l":'  groupQualifier)? '}'
   *  groupQualifier
   *   : '"' ('M' | 'G') '"' 
   *  dimensionMembers
   *   : '"' IDENT '":' ('[]' | arrayMembers | hierarchyLevelsMembers)
   *  hierarchyLevelsMembers
   *   : '{' hierarchyLevelMembers (, hierarchyLevelMembers)* '}' 
   *  hierarchyLevelMembers
   *   : '"' IDENT '":' ('[]' | arrayMembers) 
   *  arrayMembers
   *   : '[' member (',' member)* ']'
   *  member
   *   : scalarMember | arrayMembers | qualifiedMember
   *  scalarMember
   *   : string | number | datetime
   *  datetime
   *   : string 
   *  qualifiedMember
   *   : '{"_v":' scalarMember ',"_s":"' ('A' | 'E' | 'T' | 'P') '"}'
   *  IDENT 
   *   : ('a' .. 'z' | 'A'..'Z' | '0' .. '9')+ 
   *  
   *  _m: member groups
   *  _q: QDR qualifier; _t or _p
   *  _t: target; column identifier
   *  _p: measure target; true or false
   *  _g: member group
   *  _l: member group qualifier; 'M' or 'G'
   *  _v: member value
   *  _s: member special value; 'A', 'E', 'T' or 'P'
   *  
   *  Group Qualifiers:
   *  M - Measure Dimension
   *  G - Selection Group Dimension
   *  For such dimensions, the dimension identifier is irrelevant; we 
      typically make it "_"
   *  For measure dimension, members are measure columns 
   *  For selection group dimension, members are group Id Strings
   *  
   *  Qualified Members: Members that are qualified by a special value 
      qualifier such as:
   *  A - All
   *  E - Every
   *  T - Display Total Id
   *  P - Path to catalog object
   *  
   *  Dimension identifier for hierarchical columns is of the form:
      "dimensionId:hierarchyId"
   *
   *  <b>
   *  Examples:
   *  </b>
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2000 
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2000]}}]}
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2000
   *  Target  Region
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2000]}}], '_q':
       {'_t':['c0']}}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), State Level 
      (id "l1")  CA, WA
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA']}}}]}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), State Level 
      (id "l1") and City Level (id "l2") CA, WA, SJC
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA'], 'l2':['SJC']}}}]}
   *  
   *  Region (id "c0") West, East
   *  Measures Sales (id "c3"), Profit (id "c4")
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'_':['c3','c4']}, '_l':'M'}]}
   *  
   *  Region (id "c0") West, East
   *  Year (id "c1") 2007, MyFavYears
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'c1':[2007,{'_v':
       'MyFavYears', '_s':'P'}]}}]}
   *  
   *  Geog dimension (id "d1"), Default hierarchy (id "h1"), 
       State Level (id "l1") CA, WA and City Level (id "l2") MyFavCities
   *  {'_m':[{'_g':{'d1:h1':{'l1':['CA','WA'], 'l2':[{'_v':'MyFavCities', 
       '_s':'P'}]}}}]}
   *  
   *  Region (id "c0") West, East
   *  Measures Sales (id "c3")
   *  Measure Target
   *  {'_m':[{'_g':{'c0':['West','East']}}, {'_g':{'_':['c3']}, '_l':'M'}], '
        _q':{'_p':true}}
   *  </pre>
   *
   * @param propIdExprMap          Map of column expressions key'ed by column Id
   */

1.7.2 What Is the Signature of the QDR?

Below is the QDR's signature:

public static QDR fromString(String qdrStr) throws BISvsException

1.7.3 How to Detect the Oracle BI EE ADF Contextual Event

Use the following procedure to add event details to the page definition containing the ADF object that will detect the Oracle BI EE ADF contextual event. For more information about page definition files, see Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

1.7.3.1 Detecting the ADF Contextual Event

  1. In JDeveloper, locate and open the <page_name>PageDef.xml file.

  2. Locate the </pageDefinition> tag and after it add the following event details, specifying the event name and consumer handler name:

    <eventMap xmlns="http://xmlns.mycompany.com/adfm/event">
      <event name="Event Name">
       <producer region="*">
        <consumer handler="Handler Name">
         <parameters>
          <parameter name="qdr" value="${payLoad}"/>
         <parameters>
        </consumer>
       </producer>
      </event>
    </eventMap>
    
  3. Locate the </bindings> tag and before it add the following method action details:

    <methodAction id="setOutput" InstanceName="Output.dataProvider"
              DataControl="Output" RequiresUpdateModel="true"
              Action="invokeMethod" MethodName="setOutput"
              IsViewObjectMethod="false"
    
    ReturnName="Output.methodResults.setOutput_Output_dataProvider_setOutput_result">
         <NamedData NDName="output" NDType="java.lang.String"/>
    </methodAction>
    

1.8 Adding or Modifying a Presentation Services Connection After Deployment

Oracle BI EE provides an ADF MBean that allows you to add a new connection to a deployed BI ADF or to the WebCenter Portal: Spaces application. You can also modify a deployed application's existing connection. MBeans are deployed with the application and can be accessed post-deployment using Fusion Middleware Control.

If you did not configure SSL at design time, you can configure it after deployment. For more information, see "How to Configure SSL and Create an Oracle BI EE Presentation Services Connection".

1.8.1 How to Add or Modify a Presentation Services Connection

Use the following procedures to add or modify a Presentation Services connection used by a deployed application.

1.8.1.1 Adding or Modifying a Presentation Services Connection

Use the following procedure to configure the connection after the application was deployed.

  1. Open Fusion Middleware Control and select your WebLogic domain.

  2. If your application is deployed in the BI ADF domain, select the Application Deployments <your domain>tree node.

    If your application is deployed in the WebCenter Portal: Spaces domain, select the Web Center tree node, and then select the WebCenter Spaces tree node, and then the webcenter (WLS_Spaces) tree node.

  3. From the list, select System MBean Browser. The System MBean Browser pane displays within the Fusion Middleware Control page.

  4. In the System MBean Browser pane, navigate to the ADF Connections tree node by following the below path:

    1. Select the Application Defined MBeans tree node.

    2. Select the oracle.adf.share.connections tree node.

    3. Select the Server: <my server name> tree node. For example, Server:DefaultServer or Server:WLS_Spaces.

    4. Select the Application:<your application's name> tree node. For example, Application:Application2 or Application:webcenter.

    5. Select the ADF Connections tree node.

    6. Select the ADF Connections tree node. The corresponding MBean information displays in the Application Defined MBean pane.

  5. In the Application Defined MBean pane, click the Operations tab and then click createConnection/findOrCreateConnection to create a Presentation Services connection.The Operation:createConnection dialog displays.

  6. Specify the required values for the connection. In the connection type Value field, type BISoapConnection. Type a name in the connection name Value field. Click Invoke to create the connection.

  7. In the System MBean Browser pane, click Refresh to refresh the tree so that the new connection displays.

  8. To modify the connection, locate it in the System MBean Browser pane and click it. The connection's information displays in the Application Defined MBean pane.

  9. Click the Attributes tab and enter the BISoap connection information. Click the Apply button to apply your changes.

  10. Click the Operations tab and click save to save the connection.

1.9 Credentials for Connecting to the Oracle BI Presentation Catalog

At design time, you need to specify credentials to connect to the Oracle BI Presentation Catalog. These credentials are used to retrieve the list of business intelligence objects (for example, analyses, dashboards, and scorecard components) from the Oracle BI Presentation Catalog.

This process ensures that the login to the Presentation Server equals the current user of the application and any access checks are performed as the current user, and data is fetched as the current user. If the ADF page contains business intelligence objects to which the user does not have access, the ADF page returns a message stating that the user does not have the proper permissions to access these objects.

1.9.1 How to Create and Use Impersonate User

Use the following procedures to create and use the BIImpersonateUser user to secure an application that uses an Oracle BI EE Presentation Services connection and includes Oracle BI EE objects. ADF security must be enabled for your application before you can apply the impersonate user credentials to the Oracle BI EE Presentation Services connection.

The Impersonate User feature secures applications that contain Oracle BI EE objects when Oracle BI EE and ADF are not sharing an Oracle Internet Directory (OID). Before you begin the process of creating and using Impersonate User, you must confirm that this capability is configured in your environment.

1.9.1.1 Create the BIImpersonateUser

Before you perform this procedure, ensure that either you or the Administrator have created users in your Identity Store and assigned the BIConsumer role to each user in this realm.

Use the following procedure to create the BIImpersonateUser user in your Identity Store.

  1. Open WebLogic Server for your Oracle BI EE instance.

  2. Locate the Domain Structure pane and select Security Realm. The Realms pane displays.

  3. In the Realms pane, select <myrealm>. The Settings dialog displays.

  4. In the Settings dialog, select the Users and Groups tab.

  5. Confirm that the Users tab is displaying and click New.

  6. Specify BIImpersonateUser for the user name and enter a password.

  7. Click OK.

1.9.1.2 Grant Permissions to BIImpersonateUser

User the following procedure to use Fusion Middleware Control to grant permissions to BIImpersonateUser.

  1. Open Fusion Middleware Control for your Oracle BI EE instance.

  2. Locate and select bifoundation_domain. The bifoundation_domain pane displays.

  3. In the bifoundation_domain pane, click the WebLogic Domain list, highlight Security, and then select Application Policies. The Search pane displays.

  4. In the Application Stripe list, select obi.

  5. In the Principal Type list, select User.

  6. Click Create. The Create Application Grant pane displays.

  7. Under Permissions, click Add a new permission and perform the following actions in the Add Permission pane:

    1. In the Permission Class list, select oracle.security.jps.ResourcePermission.

    2. Select Resource Types.

    3. In the Resource Type list, select oracle.bi.user, and click Continue.

    4. In the Resource Name field, depending on whether you want to give permission to impersonate one user or all users, perform an action:

      • For permission to impersonate one user, enter the name of the user.

      • For permission to impersonate all users, enter *.

    5. For Permissions Actions, select impersonate, and then click Select.

  8. Under Grantee, click Add users and perform the following actions in The Add Principal pane:

    1. In the Type list, User.

    2. Click Search Roles.

    3. Select BIImpersonateUser, and click OK.

  9. In the bifoundation_domain pane, click OK.

1.9.1.3 Restart Servers

Use the following procedure if the changes that you made do not display.

  1. Stop and restart the following servers:

    • Oracle BI EE Server

    • Oracle BI EE Presentation Server

    • WebLogic Server

1.10 Deploying Credentials to a Standalone WebLogic Server

For information about manual configuration and packaging recommended for Java EE applications that use OPSS, see Chapter 21 Configuring Java EE Applications to Use OPSS in Oracle Fusion Middleware Application Security Guide.

Credentials packaged at the application level are migrated to the domain level credential store as specified in the listener configured in weblogic-application.xml. For example:

<listener>
  <listener-class>oracle.security.jps.wls.listeners.Jps
   ApplicationLifecycleListener</listener-class>
</listener>

By default in development mode, the credential migration parameter is set to OVERWRITE in weblogic-application.xml. Note that you cannot use OVERWRITE in production mode. The following is an example of how the credential migration parameter it set for development mode:

<application-param>
   <param-name>jps.credstore.migration</param-name>
   <param-value>OVERWRITE</param-value>
</application-param>

1.10.1 Migrating Credentials

Use this procedure to automatically migrate credentials from the application level to the domain level.

For more information about the credential migration parameter, see "Credential Parameter Configuration According to Behavior" in Oracle Fusion Middleware Application Security Guide.

To migrate credentials

Depending upon the mode in which you are working (development mode or production mode), use one of the following options to automatically migrate credentials from the application level to the domain level.

  • While in development mode, confirm that WebLogic Server was started with the migrate overwriting credentials operation, jps.app.credential.overwrite set to true. For example:

    jps.app.credential.overwrite.allowed=true
    
  • While in production mode, open weblogic-application.xml and change the jps.credstore.migration parameter to MERGE. Save the file, repackage the EAR file, and then deploy the file to the standalone WebLogic Server.

    Note that completing this task will migrate the application level credentials to the domain level store only if credentials do not exist in the domain level store. For example, suppose you packaged an application with the following database credentials:

    • User name – User1

    • Password – Pass1

    These credentials (User 1 and Pass1) are migrated because it is the first time credentials are being migrated.

    If the password is changed from Pass1 to Pass2, then Pass1 will not be overwritten with Pass2 because jps.credstore.migration parameter is set to MERGE.