プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド
12c (12.2.1)
E70040-02
  目次へ移動
目次

前
 
 

A サンプル・ファイル

この付録には、アクションを構成したり、アクションからブラウザ・スクリプトのコールを起動できるようにしたりするサンプル・ファイルのコンテンツが含まれています。

この付録の内容は次のとおりです。

A.1 アクション・フレームワーク構成ファイルのサンプル

ActionFrameworkConfig.xmlサンプル・ファイルを第5章「アクションによるOracle BI EEおよび外部システムの統合」に記載されている情報とともに使用すると、アクションを構成する様々な方法がわかります。

<?xml version="1.0" encoding="UTF-8" ?> 
- <obi-action-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="afconfig.xsd">
- <aliases>
 - <location-alias>
    <alias>actionsrv</alias> 
    <actual>localhost:9704</actual> 
   </location-alias>
 - <location-alias>
    <alias>biserver</alias> 
    <actual>http://localhost:9704/analytics/saw.dll?WSDL</actual> 
   </location-alias>
   </aliases>
- <registries>
 - <registry>
    <id>reg1</id> 
    <name>Sample Web Services</name> 
    <content-type>webservices</content-type> 
    <provider-class>oracle.bi.action.registry.wsil.WSILRegistry</provider-class> 
    <description /> 
  - <location>
     <path>http://localhost:9704/ActionSamples/inspection.wsil</path> 
    </location>
  - <service-access>
     <path>/Sample Web Services/Rating Service</path> 
     <policy>SAMLPolicy</policy> 
     <propagateIdentity>true</propagateIdentity> 
    </service-access>
   </registry>
 - <registry>
    <id>reg1b</id> 
    <name>BI EE Web Services for SOA</name> 
    <content-type>webservices</content-type> 
    <provider-class>oracle.bi.action.registry.wsil.WSILRegistry</provider-class> 
    <description /> 
  - <location>
     <path>http://localhost:9704/biservices/inspection?wsil</path> 
    </location>
  - <service-access>
     <account>wsil.browsing</account> 
     <policy>wss_username_token_policy</policy> 
     <propagateIdentity>false</propagateIdentity> 
     </service-access>
   </registry>
 - <registry>
     <id>reg1c</id> 
     <name>Built-in BI EE Web Services</name> 
     <content-type>webservices</content-type> 
     <provider-class>oracle.bi.action.registry.wsil.WSILRegistry</provider-class> 
     <description /> 
   - <location>
      <path>http://localhost:9704/ActionSamples/Builtin.wsil</path> 
     </location>
    </registry>
  - <registry>
     <id>reg2</id> 
     <name>Secure Web Services Sample</name> 
     <content-type>webservices</content-type> 
     <provider-class>oracle.bi.action.registry.wsil.WSILRegistry</provider-class> 
     <description /> 
   - <location>
      <path>http://localhost:9704/ActionSamples/secure.wsil</path> 
     </location>
   - <service-access>
      <path>/Secure Web Services  Sample/RatingService/CreditRatingService/CreditRatingPort/processRating</path> 
     <policy>SAMLPolicy</policy> 
     <propagateIdentity>true</propagateIdentity> 
    </service-access>
   </registry>
 - <registry>
    <id>reg03</id> 
    <name>Sample EJBs</name> 
    <content-type>java</content-type> 
    <provider-class>oracle.bi.action.registry.java.EJBRegistry</provider-class> 
    <description>Custom Java classes which can be invoked as action  targets</description> 
  - <location>
     <path /> 
    </location>
  - <custom-config>
   - <ejb-targets>
    - <appserver>
       <context-factory>weblogic.jndi.WLInitialContextFactory</context-factory> 
       <jndi-url>t3://localhost:9704</jndi-url> 
       <server-name>localhost</server-name> 
       <account>WLSJNDI</account> 
       <ejb-exclude>mgmt</ejb-exclude> 
       <ejb-exclude>PopulationServiceBean</ejb-exclude> 
      </appserver>
    - <ejb-app>
       <server>localhost</server> 
       <app-context>ActionSamplesEJB</app-context> 
      </ejb-app>
     </ejb-targets>
    </custom-config>
   </registry>
  </registries>
- <content-types>
 - <content-type>
    <typename>webservices</typename> 
    <displayname>Web Services and BPEL Processes</displayname> 
    <actionType>WebServiceActionType</actionType> 
   </content-type>
 - <content-type>
    <typename>psft</typename> 
    <displayname>PeopleSoft Applications</displayname> 
    <actionType>URLActionType</actionType> 
   </content-type>
 - <content-type>
    <typename>epm</typename> 
    <displayname>Hyperion Applications</displayname> 
    <actionType>URLActionType</actionType> 
   </content-type>
 - <content-type>
    <typename>misc</typename> 
    <displayname>Mixed Services</displayname> 
    <actionType>URLActionType</actionType> 
   </content-type>
 - <content-type>
    <typename>java</typename> 
    <displayname>Java Actions</displayname> 
    <actionType>JavaActionType</actionType> 
   </content-type>
  </content-types>
- <accounts>
 - <account>
    <name>wsil.browsing</name> 
    <description>Account for BI WS for SOA</description> 
    <adminonly>false</adminonly> 
    <credentialkey>browsing</credentialkey> 
   </account>
 - <account>
    <name>WLSJNDI</name> 
    <description>Account used to access WLS JNDI.</description> 
    <adminonly>false</adminonly> 
    <credentialkey>JNDIUser</credentialkey> 
   </account>
 - <account>
    <name>EPM</name> 
    <description>Account used to connect to EPM.</description> 
    <adminonly>false</adminonly> 
    <credentialkey>EPM</credentialkey> 
   </account>
  </accounts>
- <policies>
 - <policy>
    <name>SAMLPolicy</name> 
    <policyfile>ActionsSAMLPolicy.xml</policyfile> 
   </policy>
 - <policy>
    <name>wss_username_token_policy</name> 
    <policyfile>wss_username_token_policy.xml</policyfile> 
   </policy>
  </policies>
- <!-- 
Uncomment this element to enable support for using proxy settings to enable browsing/invocation 
of external web services when running behind a firewall

          <proxy>
     <host>@proxy.host@</host>
     <port>@proxy.port@</port>
     <userid>@proxy.user@</userid>
     <password>@proxy.password@</password>
             <nonProxyHosts>localhost|*.oracle.com|@proxy.nonProxyHosts@</nonProxyHosts>
          </proxy>
 
        
 
  --> 
- <ebusinesssuiteconfig>
    <visible>true</visible> 
   </ebusinesssuiteconfig>
 </obi-action-config>

A.2 Javaスクリプト・ファイルのサンプル

UserScripts.jsサンプル・ファイルを第5章「アクションによるOracle BI EEおよび外部システムの統合」に記載されている情報とともに使用すると、アクションでブラウザ・スクリプトのコールを起動できるようにする方法がわかります。

/ --------------------------------------------------------------------------------------------------------------------
/** USER-DEFINED SCRIPTS
  *
  * Use this file to enter any user-defined JavaScript functions you wish to invoke from a client-side Script action.
  * By using the namespace of USERSCRIPT (as shown in the example code below), you will ensure that no function name
  * conflicts occur with with the product code, and all PUBLISHED functions (in the USERSCRIPT namespace) can be
  * browsed for selection, at Action creation time.
  *
  * By default, all functions in here are PRIVATE, in so much that they are not displayed within the Browse dialog
  * during Action creation.
  * Note - They ARE still usable, providing you know the correct function name.
  *
  * To publish (make visible) a function, simply add the 'publish' static member as shown in the example below, along
  * with any parameters you want automatically created.
  *
  * ALL functions will receive ONE parameter; a named array of values, indexed by the parameter name.
  */
// --------------------------------------------------------------------------------------------------------------------
 
USERSCRIPT = function(){};
 
// --------------------------------------------------------------------------------------------------------------------
/** This is the parameter object you can create to supply default parameters on creation of Script action.
  * See the 'displayParameters' example below for usage.
  * @param {String} sName is the unique name of parameter.
  * @param {String} sPrompt is the display text used to prompt for the parameter value.
  * @param {String} sValue (Optional) is the default value for the parameter.
  */
USERSCRIPT.parameter = function(sName, sPrompt, sValue)
{
   this.name   = sName;
   this.prompt = sPrompt;
   this.value  = sValue;
};
 
/** This is an example function to display all parameters that are recieved
  * @params {Array} aParams an array of values indexed by the parameter name
  */
USERSCRIPT.example_displayParameters = function(aParams)
{
   var sArgs = "";
   for( args in aParams )
   {
      var argName  = args;
      var argValue = aParams[argName];
 
      sArgs += "Parameter name: " + argName + "  Value: " + argValue;
      sArgs += "\n";
   }
 
   alert( sArgs.length == 0 ? "No Parameters" : sArgs );
};
USERSCRIPT.example_displayParameters.publish =
{
   // The existence of this 'publish' object causes the 'USERSCRIPT.example_displayParameters' function to be
   // shown when browing the available user script functions (during creation of a Script action).
 
   // If you wish the Script function to have parameters automatically created on selection of the function,
   // create a 'parameters' object as shown below.
   // You can have any number of parameters, with each parameter requiring a unique name, prompt and an
   // optional value.
   parameters :
   [
      new USERSCRIPT.parameter( 'p1', 'Enter value for Param 1', 'p1 default value' ),
      new USERSCRIPT.parameter( 'p2', 'Enter value for Param 2', 'p2 default value' ),
      new USERSCRIPT.parameter( 'p3', 'Enter value for Param 3'  )
   ]
 
   // If no generated parameters are required, either create an empty array
   //    parameters : []
   // or don't declare the 'parameters' object at all.
};
//global variables
var newWin;
var sArgs;
 
 
// ----------------------------------------------------------------------------------------------
/** This is an example of a private function, which is not shown when browsing available
  * user-defined functions.  It is private as is does NOT have the 'publish' static member declaration.
  * However, the function CAN still be called if you know the function name.
  */
USERSCRIPT.example_hideMeDuringBrowse = function()
{
   alert("But I can still be called");
};
 
 
 
// ----------------------------------------------------------------------------------------------