Professional Documents
Culture Documents
Application Server
Fusion Client: Getting Started
April 2014
Contents
Overview ................................................................................................................................... 1
Architecture .............................................................................................................................. 2
Deployment ............................................................................................................................... 2
Option 1 .............................................................................................................................................. 2
Option 2 .............................................................................................................................................. 3
Browser ..................................................................................................................................... 4
Authentication .......................................................................................................................... 4
Factors Affecting Performance............................................................................................... 5
Browser............................................................................................................................................... 5
WebLogic ........................................................................................................................................... 5
Heap Size......................................................................................................................................... 5
Environment Settings ....................................................................................................................... 6
AIX ................................................................................................................................................... 6
Network Performance and Latency................................................................................................ 6
Application Configuration............................................................................................................... 6
RPAS Server .................................................................................................................................... 6
SSL.................................................................................................................................................... 6
Number of Worksheets in a Tab .................................................................................................. 7
Client Machine................................................................................................................................ 7
Number of Rows and Columns.................................................................................................... 7
Cell Editing ..................................................................................................................................... 7
Gzip Compression ............................................................................................................................ 8
Implementing Compression ......................................................................................................... 8
Testing Performance ......................................................................................................................... 9
A Comparison of the Fusion Client and Classic Client ...................................................... 10
Overview
The Oracle Retail Predictive Application Server (RPAS) is a configurable platform that
provides capabilities such as a multidimensional database structure, batch and online
processing, a configurable user interface, a configurable calculation engine, user security, and
utility functions such as importing and exporting, all on a highly scalable technical
environment that can be deployed on a variety of hardware.
The RPAS Fusion Client is the web-based Rich Client for the RPAS platform, developed
using the latest Oracle Application Development Framework (ADF).
This white paper addresses typical questions that arise during setting up and deploying the
Fusion Client, provides performance recommendations, and highlights the differences
between the Classic Client and Fusion Client.
Always refer to the most recent Installation Guide for information about upgrade procedures
and to review the Platform Matrix for details about platform support.
RPAS documentation is available on the Oracle Technology Network at the following URL:
http://docs.oracle.com/cd/E12478_01/rpas/index.html
Architecture
The Fusion Client resides on a J2EE three-tier architecture that consists of a browser, a
WebLogic server or servers, and an RPAS server. Microsoft Internet Explorer, Mozilla
Firefox, and Google Chrome are supported browsers. For more information on browsers, see
the Browser section. External authentication, such as LDAP, SSO, or OID, is also supported.
This architecture is illustrated at a high level in the following diagram.
Deployment
Several deployment options can be adopted, based on individual requirements. This section
describes two options in order to provide you with a better understanding of the possibilities.
Option 1
The recommended deployment for the Fusion Client, shown in the first diagram, is one that
employs separate machines for the Fusion Client server and for the RPAS server. This is the
standard deployment for RPAS with the Fusion Client. This type of deployment makes
performance monitoring easier and avoids the situation where RPAS Server and Fusion
Client are competing for the same set of resources. Such a situation can happen during
workbook creation, committing, and saving.
Using multiple WebLogic servers or instances allows the system to be load balanced to
distribute the load. It also prevents a single point of failure. If one WebLogic server is down,
the requests are redirected to the other server.
A single machine with RPAS Server and Fusion Client can be used for non-production
environments. Such environments should not be used for performance measurements.
Option 2
An alternative deployment option, shown in the following diagram, can be used when a
customer wants to maintain different RPAS and Fusion Client environments (including the
WebLogic server) for each solution.
This deployment provides the flexibility to install and manage different versions of RPAS
separately. It allows for shutting down one of the solutions for maintenance while the other is
still being used.
One of the disadvantages of this approach is that maintenance overhead is incurred when
each environment is upgraded. In addition, it is not possible to take advantage of the
functionality related to the Multi Solution Taskflow (since the RPAS 13.3.1 release) to build a
unified flow for the system. Note that a load balancer can be added to the mix by either
adding another server or by installing multiple WebLogic instances on each of the existing
machines.
For example, one server could have Merchandise Financial Planning (MFP) and Assortment
Planning (AP) installed, a second server could have AP and Item Planning (IP) installed, and
a third one could have IP and MFP installed.
Note: Both of the preceding diagrams show the RPAS server
with MFP, AP, and IP for simplicity. Refer to the Oracle Retail
Predictive Application Server Installation Guide for details on the
RPAS Server installation.
Browser
The performance of the Javascript engine and the DOM parser has a significant impact on the
performance of the Fusion Client.
The RPAS Fusion Client is a web application built using the Oracle Fusion technology stack.
It is built using ADF Faces UI components that make extensive use of the browser's HTML,
CSS, and JavaScript execution capabilities during rendering and user interactions. Different
browsers vary not only in rendering capabilities but also in performance. In the Fusion Client
architecture, the performance of the browser is a key determinant of overall application
performance. As such, the choice of browser becomes an important one from a performance
standpoint.
Fusion Client supports Mozilla Firefox, Microsoft Internet Explorer, and Google Chrome.
Support for Google Chrome is re-added in release 14.0.1. These browsers are supported by
ADF Faces, beginning with version 11.1.1.2. Refer to the Platform Matrix in the Oracle Retail
Predictive Application Server Installation Guide for information about which versions are
supported.
Authentication
Beginning with 13.3.1, the Fusion Client requires the use of an authentication system.
(Previous releases of the Fusion Client used RPAS for authentication.) Two options are
possible. An LDAP identity store, such as Oracle Internet Directory, can be used. As an
alternative, a single sign-on system, such as Oracle Single Sign-On based on Oracle Access
Manager, can also be used.
Browser
WebLogic
Environment Settings
Application Configuration
Browser
The choice of browser can have an impact on performance. In general, Mozilla Firefox has
faster performance than Microsoft Internet Explorer. The browser impacts many interactive
actions, including scrolling and cell edits.
The primary user interaction in the Fusion Client is with pivot tables that show workbook
data. Users can scroll the tables horizontally and vertically, edit cell values, pivot layers, and
drill into and roll up dimensions. Each operation requests the server to perform the operation
and then return data to update the pivot table view (without refreshing the entire page).
For an independent review of browsers, see the following link. (Note that this link is
provided for informational purposes only. No recommendation is intended or implied. You
can use any supported browser that you choose.)
http://www.tomshardware.com/reviews/chrome-17-firefox-10-ubuntu,3129.html
WebLogic
When you run the Fusion Client installer, the installer will require a WebLogic server domain
setup to deploy the Fusion Client as an application.
Heap Size
By default, the Java Virtual Machine requests on the order of 256-512 MB of RAM from the
operating system to allocate for its heap. By using the -Xmx option, you can instruct the Java
Virtual Machine to request more memory from the OS to prevent situations when all
allocated memory is exhausted. The syntax of the property is: -Xmx###m, where ### is the
amount, in megabytes, of memory the JVM is to request. It is recommended that you start
with 2GB allocation that is -Xms2048m -Xmx2048m.
When setting the heap size, consider the following recommendations:
Set the minimum and maximum heap size to be equal to each other. CPU cycles will
not be spent growing and shrinking the heap at runtime.
Allocate as much free memory as possible to running WebLogic server instances. The
Fusion Client is not CPU-intensive, but user sessions consume memory when
maintaining data caches.
Heap sizes should not be larger than necessary. Steady-state heap usage should be
between 50-80 percent of the maximum. Low utilization wastes memory and slows
down garbage collection.
For more information on heap sizing and other details about setting up the WebLogic
application server, refer to the Oracle Java documentation on Java Performance Tuning and
the Oracle Fusion Middleware Performance and Tuning for Oracle WebLogic Server
http://docs.oracle.com/cd/E21764_01/web.1111/e13814/toc.htm
Environment Settings
AIX
On AIX there are two environment variables that have an impact on the performance of the
solution and that should be checked. This is related to the Nagles Algorithm, an efficiency
improvement algorithm built into most TCP/IP implementations. More details can be found
at the following web site:
http://en.wikipedia.org/wiki/Nagle's_algorithm
On RPAS Server and Fusion Client, set the following:
export RPAS_TCPNODELAY = on
export FC_TCPNODELAY=true
Application Configuration
The following factors can impact performance:
RPAS Server
Factors that impact the performance of the RPAS server can in turn impact the performance
of the Fusion Client. Workbook builds and calculations are done entirely in the RPAS server.
For example, workbook actions such as Save, Commit, and Refresh all have an impact on
server performance.
SSL
SSL is used, beginning with 13.3.1, in order to secure communication between the Fusion
Client and the RPAS server. Two public key certificates are required, one for the Fusion
Client and one for the RPAS server. The Fusion Client and the RPAS server use the
certificates to authenticate themselves to each other when they establish a connection with
each other.
If one company is going to use the entire environment, then it is acceptable to use a selfsigned root certificate to sign the client and server certificates. Otherwise, a third-party
certificate authority should be used to sign the certificates.
Two different SSL options are available:
The SSL 4 option does not encrypt messages. This is less secure, but does not impact
performance. It is recommended for deployments behind a firewall.
Client Machine
The CPU/RAM can affect performance. If the CPU/RAM on the machine is very slow/low,
the performance of the system will be affected. This is even more pronounced in the case of
older browsers such as IE 7/8. Intel core i5 (or equivalent), and 4 GB RAM are
recommended.
Cell Editing
RPAS supports the concept of protection processing. The system tries to be smart and only
perform it when absolutely needed. The first edit almost always requires protection
processing to be run. This overhead is reflected in the time to tab from one cell to another.
The amount of overhead time for protection processing is dependent on how many rules you
have defined in your configuration and the number of interdependencies between the
measures.
Gzip Compression
Compressing the HTTP responses provides significant benefit to the Fusion Client. It has
been observed that using gzip compression compresses the HTTP response by a factor of 10
to 20 in most cases. This greatly reduces the available bandwidth consumed by each Fusion
Client user, which leads to greater scalability in that a much larger number of concurrent
users can be accommodated than would otherwise be possible.
The main reason for the large degree of compression is that the HTML content is inherently
verbose, and in the case of the Workbook page, there is a great deal of repetitive content in
the HTML markup corresponding to the various worksheet cells.
Another benefit is faster user response time, although this is rather unpredictable; sometimes
the improvement can be very small. This is because the size of the HTTP response has its
greatest effect on the latency, the time it takes for all the response bytes to completely arrive
at the client browser; and latency is just one component of the overall response time. (Other
things such as server processing time, time to render the response on the browser, and time
for the request to reach the server also come into play.) Accounting for the time taken to
uncompress the response is also needed.
The decompression time can vary from browser to browser. Oracle Retail has not
investigated the relative decompression times among various browsers.
Implementing Compression
While there are many ways to achieve response compression, Oracle Retail tested it using
Oracles web tier technologies. A basic web tier consists of an Oracle HTTP server instance
furnished with a mod_wl_ohs module plug-in that tunnels user requests to WebLogic
managed servers hosting Fusion Client application instances. Oracle Retail implements gzip
compression using the mod_deflate module in the Oracle HTTP Server. The following
diagram illustrates this.
You can verify that gzip compression is being applied by looking at the response headers
using a tool such as Firebug (on Firefox); you should see the line Content-Encoding
gzip in the headers.
For further details, refer to Doc ID 1219013.1, How to Add Compression on the Oracle
HTTP Server to Reduce the Download Size of Webcenter Spaces Deployment (), that also
describes this technique. The document is available on My Oracle Support
(http://www.oracle.com/support/contact.html).
Testing Performance
For information about some tools and techniques for testing the scalability of ADF Faces
applications, based on Oracle internal experience, see:
http://www.oracle.com/technetwork/developertools/adf/learnmore/adfloadstresstesting-354067.pdf
Note: For details on supported platforms, including Java and
If you run into a performance issue, file a Service Request (SR) and provide the information
requested in the Oracle Retail Predictive Application Server Fusion Client Customer
Performance Issue Report Doc ID 1493747.1. The document is available on My Oracle
Support:
http://www.oracle.com/support/contact.html
Classic Client
Fusion Client
Taskflow Navigation
Commit
Formatting
Split View
Block Mode
Selection
Show/Hide Levels
Cut/Copy/Paste
Functionality
Classic Client
Fusion Client
Undo
Show Images
Find
Measures Profile
Percent of Parent
Measures
Page (z-axis)
Navigation
Pivoting
Dynamic Position
Maintenance
Calculation
Printing
Export
Cell Locking
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright 2014, Oracle and/or its affiliates. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle
Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.