Using the JavaHost Service for Oracle BI Presentation Services

Java library functionality can be achieved using the JavaHost service.

The JavaHost service gives Presentation Services the ability to use functionality that is provided in Java libraries to support the following components:

  • Graph generation

  • SVG renderer (Apache Batik)

  • Actions that require Java actions (for example, calling web services)

  • Printing to PDF and exporting to Microsoft Excel and PowerPoint

  • Advanced reporting

  • URL Connect (Issues an HTTP request to another component)

  • Integration Service Call (Used by the Oracle BI Server to execute Java code)

Note:

The JavaHost service uses the core libraries of BI Publisher to export the contents of analyses into various formats such as PDF, Microsoft Excel and PowerPoint, and images. BI Publisher libraries are embedded within the JavaHost service and do not depend on BI Publisher running or being deployed in a J2EE container.

In the configuration file for the JavaHost Service, elements related to the BI Publisher libraries are located within the XMLP element.

To configure the JavaHost service, you can manually edit the configuration elements for the service in its configuration file (config.xml), located in the BI_DOMAIN/config/fmwconfig/biconfig/OBIJH directory. See the next table for a description of the elements. The elements are identified by their relative path starting from the JavaHost element.

The common subelements, such as InputStreamLimitInKB, do not apply to the MessageProcessor, Listener, or SSL loaders.

Element Description

Loaders

Contains the ListOfEnabledLoaders and Loader elements. These elements specify the components for the JavaHost service. Avoid editing the elements in the Loaders section.

Loaders/ListOfEnabledLoaders

Specifies the list of components (such as Oracle BI Scheduler and BI Publisher) to be enabled.

If this element is missing from the file, then all Loaders are enabled. If the element has an empty value, then all loaders are disabled.

Each component has a corresponding Loader element. The name of the component listed here must match the name that is specified in the corresponding Loader/Name element.

Loaders/Loader

Contains the following elements, which specify configuration information for a specific component:

  • Name

  • Class

  • ConfigNodePath

  • ClassPath

Loaders/Loader/Name

Specifies the unique name of the component. Use this name in the ListOfEnabledLoaders element.

Loaders/Loader/Class

Specifies the main class for the component.

Loaders/Loader/ConfigNodePath

Specifies the XPath (starting from the JavaHost element) to the configuration information for the Loader.

Loaders/Loader/ClassPath

Specifies the paths for the JAR files of libraries that the JavaHost service can use.

InputStreamLimitInKB

A subelement common to each loader that specifies, in kilobytes, the maximum input size for requests that are sent to JavaHost. A value of zero deactivates this limit. If the maximum size is exceeded, then an error message is displayed.

Default: 8192

Note: Set the InputStreamLimitInKB value to zero (the value is unlimited) only for testing purposes. Configuring the value too high allocates or consumes more resources than necessary for an individual request to the JavaHost, might cause the JavaHost to become unstable or crash, and must fit the context of all JavaHost requests (for example, graphs or export operations). Set the element to a reasonable value that works with large data sets. The default value is 8192 (8 MB), but you might need to increase it incrementally to 16384 (16 MB), 32768 (32 MB), and so on.

RequestResponseLogDirectory

A subelement common to each loader that specifies the name of the directory for the response files of requests.

Default: A default temp directory

LogLargeRequests

A subelement common to each loader that specifies whether to create a response file when processing large requests.

Default: true

ReadRequestBeforeProcessing

A subelement common to each loader that specifies whether to wait to process the request until a file is completely read.

If your organization uses the export feature in Oracle BI EE, it is recommended that you set this subelement to false. When set to false, data is streamed to JavaHost gradually rather than saved to a file first and then processed, thereby improving export performance.

Default: true

LargeRequestThresholdInKB

A subelement common to each loader that specifies, in kilobytes, the maximum size before using disk space for requests. For requests larger than this size, use disk space instead of memory to cache the requested data. The larger this value is the more memory that the JavaHost service might potentially use and the faster the request processing can occur. This setting also establishes the threshold for the LogLargeRequests element.

Default: 200

MessageProcessor

Contains the SocketTimeout element.

MessageProcessor/SocketTimeout

Specifies the idle timeout (in milliseconds) for the socket, after which the socket is returned to the idle sockets pool. JavaHost uses a socket polling mechanism to wait for new data on the whole set of idle sockets in a single thread. Initial messages in the idle pool are handled through Java NIO channels.

Default: 5000 (5 seconds)

Listener

Contains the following elements:

  • PermittedClientList

  • Port

  • Address

  • Secure

Listener/PermittedClientList

Specifies a list of IP addresses and host names from which JavaHost accepts incoming connections. Separate each client's IP address or host name by a comma. To accept all client connections, set this element to an asterisk (*).

Default: *

Listener/Port

Identifies the JavaHost TCP/IP listening port.

Default: 9810

Listener/Address

Specifies the network interface that JavaHost is to bind to. If this element has no value, then JavaHost binds to all available network interfaces.

Listener/Secure

Specifies whether to enable SSL encryption for the JavaHost service:

  • Yes: Enables SSL encryption

  • No: Disables SSL encryption

Default: No

For information about SSL, see Security Guide for Oracle Business Intelligence Enterprise Edition.

Batik

Contains only the common subelements such as InputStreamLimitInKB, as they relate to converting SVG images to rasterized image formats.

Scheduler

Contains the following elements:

  • Enabled

  • DefaultUserJarFilePath

  • DefaultTempFilePath

  • DefaultPurgingPeriod

Scheduler/Enabled

Specifies whether to enable the interaction of the JavaHost service with Oracle BI Scheduler to run Java jobs:

  • true: Enables interaction with Oracle BI Scheduler

  • false: Disables interaction with Oracle BI Scheduler

Default: false

Scheduler/DefaultUserJarFilePath

Specifies the default directory for storing JAR files for the Java extension utility. The Jar file contains the implementation of the Java class to be run.

When Oracle BI Scheduler is enabled, this element is required and accepts a single path.

Scheduler/DefaultTempFilePath

Specifies the default directory for storing temporary files for Oracle BI Scheduler requests.

Default: the system temp directory

Scheduler/DefaultPurgingPeriod

Specifies the default period (in seconds) for Oracle BI Scheduler requests to remove failed jobs.

Default: 300

XMLP

Contains only the common subelements such as InputStreamLimitInKB and ReadRequestBeforeProcessing, as they relate to Oracle BI Publisher.

URLConnect

Contains elements that relate to SSL. Avoid modifying these elements.

DVT

Contains only the common InputStreamLimitInKB subelement by default, as they relate to graph generation. You can add other common subelements as necessary.