Enterprise RTView® 
User Guide


Display Server

The Thin Client deployment is implemented using the Display Server. The Display Server consists of two parts, the Display Server application and the Display Servlet. The Display Server application is generally installed on a dedicated platform. It runs the RTView engine which loads displays, and gathers data which it passes on to the Display Servlet via a socket. The Display Server can either access data directly or it can connect to the Data Server for data. The Display Servlet is a JSP servlet that runs on an application server. Clients communicate with the Display Servlet using HTTP, so the only system requirement for a the client is a standard browser.

This document describes the system requirements, configuration, installation and runtime information for the Display Server application, Display Servlet and the browser client. Some objects and interactions behave differently in the Display Server than they do in the other RTView deployments. See the Runtime Functionality and Limitations sections below for more information.

Display Server Application

System Requirements
The system where you will run the Display Server application must meet the following system requirements:
  • Java 1.5.0_01+
  • Basic system requirements
  • In addition to basic system requirements, if you will not be using the Data Server, refer to the Data Sources section of this documentation for system requirements and setup specific to your data source.


Display Server Configuration
Create DISPLAYSERVER.ini in the directory your project directory with the following options:
Option Description
display_timeout Amount of time, in seconds, that a display can be kept in memory after the Display Servlet has stopped requesting it. Default is 60 seconds (to allow faster load time when switching between displays). 
imageformat Specify image format: jpg or png. If imageformat is not specified, the Display Server will automatically select the image that results in the fewer number of bytes for each display.

By default the png format will be selected for most displays, but the jpg format is preferred for:

  • a background image in the main display
  • background images in graphs or labels
  • images with color gradients (especially those with lower imagequality values).
imagequality A value between 0 and 100 which controls the quality of the generated images. If the value is 100, the Display Server outputs the highest quality image with the lowest compression. If the value is 0, the Display Server outputs the lowest quality image using the highest compression. Default is 75
history_config To preload a display, making data immediately available. Preloaded displays are not unloaded unless the Display Server is restarted or the display cache is cleared via JMX. This option may be used multiple times to specify multiple displays to preload:

history_config rtvFileName substitution

Substitutions are optional and must use the following syntax:

$subname:subvalue $subname2:subvalue2

If a substitution value contains a single quote, it must be escaped using a / :

$filter:Plant=/'Dallas/'

If a substitution value contains a space, it must be enclosed in single quotes. Do not escape these single quotes:

$subname:subvalue $subname2:'sub value 2'

A substitution string cannot contain the following: : | . tab space , ; = < > ' " & / \ { } [ ] ( )

max_displays Number of displays kept in memory. Default is 20 (to optimize memory used by the Display Server).
passclientlogin If true, pass Enterprise RTView login information into all data sources that have the Use Client Credentials option enabled. NOTE: Some data sources do not support this feature. For information on Application Options for your data source, refer to the Data Sources section of this documentation.
port Port that the Display Server uses to communicate with the Display Servlet. Default is 3279
NOTE: If you will be running multiple Display Server applications on the same application server, you must specify a unique port for each application.

Example of the above options set in the DISPLAYSERVER.ini file:

display_timeout 60
imagequality 75
history_config trend1.rtv
max_displays 20
port 3279
passclientlogin false

Enterprise RTView offers role based security that allows you to limit access to displays based on the user's role. User and role definitions also support substitutions. When role based security is enabled, users are prompted to login. The default user name and password are:
User Name: admin
Password: admin
NOTE: To use this feature, you must also enable it in the Display Servlet by specifying LoginEnabled in rtvdisplay.properties.

To use this security feature, do the following:
1. Define the users that can access Enterprise RTView, assign each user a password and one or more associated roles. If your user definitions are in an XML file, copy this file to your project directory.

2. Set role definitions to specify which displays users can access. If your role definitions are in an XML file, copy this file to your project directory.

3. Enable the Use Client Credentials option if you want to pass Enterprise RTView login user name and password to database connections. NOTE: Some data sources do not support this feature. For information on Application Options for your data source, refer to the Data Sources section of this documentation.
 
Use the -passclientlogin command line option or the passclientlogin option (see Step 1D-3) in the DISPLAYSERVER.ini configuration file to pass Enterprise RTView login into these database connections.
 



Running Display Server

You can run the Display Server as an application or in the background as a Windows Service.

To run the Display Server as an application: open an initialized command window, go to your project directory, and type:
 
run_displayserver

Several command line options are supported for the Display Server. Java options specified in RTV_JAVAOPTS are used by the run_displayserver scripts.

NOTE: The Display Server is instrumented with JMX to allow you to manage and monitor the display cache and application settings. See Managing the Display Server Using JMX for more information.

High Availability Display Servers
It is possible to designate one or more backup Display Servers to take over during a failover event when the Display Servlet discovers that the current Display Server is no longer accessible. Backup servers may be run in hot standby mode (default) or warm standby mode (designated as a command line option). In hot standby mode all global variable definitions, as well as cache and alert definitions, are loaded and activated at start up. In warm standby mode none of these actions are performed, thereby
avoiding the overhead of maintaining Alert and Cache data sources until the backup server has become the primary.

You can specify a primary Display Server, as well as one or more backup Display Servers, in the rtvdisplay.properties file.

At startup, the Display Servlet will connect to the primary server if available, otherwise it will connect to the backup server. If neither is available, the Display Servlet will periodically retry connecting to both. If the Display Servlet connects to either the primary or the backup, and later the connection is lost, it will then try to connect to the other server. If a Display Servlet connects to a backup server and later the primary server becomes available, the Display Servlet will not switch to the primary unless the connection to the backup server is lost.

If the Display Server is using the Data Server to connect to data, primary and backup Data Servers can also be specified. Refer to Running the Data Server for more information.


Display Servlet
The Display Server uses the Display Servlet, a JSP servlet that runs on your application server. Clients communicate with the Display Servlet using HTTP. The Display Servlet communicates with the Display Server via socket to request HTML for display in the browser. The servlets\rtvdisplay directory contains files (JSP, HTML, classes, properties) necessary to install the Display Servlet.

This section is intended for users with standard working knowledge of HTML, JSP and servlet deployment on an application server.

System Requirements
Display Servlet requires an application server with a servlet container such as Apache Tomcat.  An Apache Tomcat application server is included with your Enterprise RTView installation for prototyping and testing your deployment before going into the production environment. The following instructions will work for your application server or the one that comes with Enterprise RTView.


Display Servlet Configuration
The Display Servlet reads rtvdisplay.properties to get configuration information. An rtvdisplay.properties file with the default settings is in servlets\rtvdisplay. If you do not want to use the default settings, copy this file to your project directory and modify it. 

Set the following options in rtvdisplay.properties:
Option Description
DisplayServerBackup The name of the host and port for designated backup servers. Designation of backup servers is optional; multiple backup servers should be separated by a comma.
DisplayServerHost The name of the host on which the Display Server is running. Default is localhost. NOTE: Default localhost assumes the Display Server and Display Servlet are running on the same application server.
DisplayServerPort Port for communicating with the Display Server. Default is 3279. This must be the same port specified in your DISPLAYSERVER.ini file.
NOTE: If you will be running multiple Display Server applications on the same application server, you must specify a unique port for each application.
DisplayServerTimeout Amount of time (in seconds) the Display Servlet waits for replies from the Display Server. Default is 15 seconds.
DefaultRefreshInterval Rate (in seconds) at which displays are refreshed. Default is 15 seconds. Set this interval to 0 if you do not want displays automatically refreshed.
NOTE: The refresh rate specified in the rtvRefreshInterval property or the URL or DIV tag used to open a display will override this value.
LoginEnabled Set to true to enable role management security. If enabled, a login dialog will appear when the client browses to the URL for the Display Servlet, unless single sign-on is configured. The default is false
VirtualThreshold Set the cell count of a table at which point Virtual Mode is used. Default is 500. 
For smooth scrolling, data is preloaded into tables with less than 500 cells. For tables with more than 500 cells, Virtual Mode is used in which data is paged into the tables to speed processing time for displaying, refreshing and sorting. However, the table may blink while scrolling in this mode. 

Example of the rtvdisplay.properties file:

DisplayServerHost=localhost
DisplayServerPort=3279
DisplayServerTimeout=15
DefaultRefreshInterval =15
LoginEnabled=true
VirtualThreshold=500
DisplayServerBackup=host:3238

Create Custom Servlet Files
The Display Servlet comes with a few HTML files for testing. You can use these to deploy, or you can create your own HTML files or JSP files  which make calls to the Display Servlet to show your displays. All custom HTML or JSP files should be saved in your project directory or a subdirectory.

Create War File
If you will not be using the Deployment Wizard to generate your deployment, you will need to create a .war file that contains your rtvdisplay.properties file and any custom servlet files:

1. Copy sample_make_war.bat (for Windows) or sample_make_war.sh (for UNIX) into this directory from servlets\rtvdisplay and rename it to make_war (with the appropriate extension).

2. This script takes a name for the web archive, without the .war extension, and builds a web archive file that includes all of the necessary Enterprise RTView Display Servlet files along with all .html, .js, .gif and .jpg files from the current directory. If there are other files you would like to include in your web archive, add them to the following line in your make_war script:

        jar uf %1.war *.html *.jpg *.gif *.js *.jsp WEB-INF

NOTE: You may receive an error message if the script does not find at least one of each of the file types specified (.html, .jpg, etc). Disregard this error message.

3. Type make_war warName where warName is the name of the war file to create.

Deploying War Files
Once you have created a war file for the Display Servlet, you will need to install it to your application server. An Apache Tomcat application server is included with your Enterprise RTView installation for prototyping and testing your deployment before going into the production environment. You can either use this application server or your own. 

If did not create a war file, use servlets\rtvdisplay as your project directory and rtvdisplay as your appname in the steps below.

Otherwise, use your project directory and your web archive file name for appname.
NOTE: If you will be running multiple Display Server applications on the same application server, each Display Servlet war file must have a unique name.

1. In an initialized command window, go to your project directory and type:
 
make_war appname This script creates a web archive (.war) that includes all of the files necessary to run the Display Servlet.

2. Your Enterprise RTView installation includes an Apache Tomcat application server, so that you can prototype and test your deployment before moving it to your production server. If you will be using this application server, run the following script to install the Display Servlet:
 
install_to_demoserver appname This script installs the web archive to the Apache Tomcat server included in your Enterprise RTView installation. 
NOTE: This script will shutdown and restart Apache Tomcat and requires administrative permissions.

3. If you will be using your own Apache Tomcat application server, run the following script to install the Display Servlet:
 
install_to_tomcat appname This script installs the web archive to your Apache Tomcat server. 
NOTE: This script will shutdown and restart Apache Tomcat and requires administrative permissions.

4. If you will be using an application server other than Apache Tomcat, install the files in the web archive to your application server according to the documentation for that product.


Configure and Install Display Server Portlet (Optional)
The Display Server can optionally be deployed as a portlet. The portlet is tested in Liferay and contains configuration files specific to Liferay, but should work with any JSR-168 compliant portal. If you want to deploy the Display Server as a servlet, skip this step.
 

Configure Display Server Portlet Options
The servlets\rtvportlet directory contains all of the files necessary to install the Display Server portlet. It includes a web.xml and several other configuration files necessary for use in a Liferay portal. Make any necessary changes to thesse files, or if you are using another JSR-168 compliant portal, copy any required configuration files to this directory. The Display Server portlet requires the Display Servlet to run and will access it at http://host:port/rtvdisplay, where host and port are the host and port where the portlet is running.  If this is not the case, modify the value for the rtvServletUrl parameter in portlet.xml to point to the correct location of the Display Servlet. Rebuild the rtvportlet.war file using the make_war.bat script.
 

Install Display Server Portlet
Install servlets\rtvportlet\rtvporlet.war to your portal according to the documentation for that product.
 

Instance the Display Server Portlet in Your Portal
Once the Display Server portlet is installed to your portal, you can instance it according to the documentation for that product. The Display Server portlet supports edit mode and view mode. In edit mode, you can specify the display, refresh rate, window name, width and height for the portlet.

 


Browser Client

System Requirements
The client requires a standard browser.


Accessing the Project 

1. Open a browser and navigate to the URL for the Display Servlet. For example:
 
http://host:8080/rtvdisplay/index.html  Where host and port are correct for the application server hosting the Display Servlet.

2. Login to the Display Server. By default, the Display Server does not require a login. Login can be enabled in the Display Servlet to support role based security, If login is enabled, the default user name and password are:
   User Name: admin
 Password: admin

NOTE: It is possible that your system administrator may have configured another user name and password. In this case, you may also need to select a role.

Problem: An error message appears in the browser.
Solution: Check the command window where you started the Display Server as well as the Display Servlet log file on your application server.



Runtime Functionality
Option Description
Command Execution Depending on the command, it executes either on the Display Server or the client. See Command Types for further information. Some commands are not supported on the Display Server. See Display Server Limitations (below) for information.
Control Objects HTML control objects are generated for the following:
  • Combo Box
  • Checkbox
  • Text Entry
  • List Box
  • Push Button
  • Slider
Display Refresh Right-click in the page and select Refresh to refresh the display.
NOTE: The web browser's Refresh button resets the display to its original state if you have updated variables or substitutions using an object in the display.
Drill Down  Drill down functionality is supported using hyperlinks. Single-click to activate a drill down display.
Fx Graphs The Display Server generates Adobe® Flash to display Fx graph objects. This requires Adobe® Flash Player 9.0+. The Fx graph object support the following interaction:
  • Zoom: zoom-in by dragging in trace area, zoom-out by Shift+Click.
  • Scrolling: live scrolling through time range
  • Cursor: slide horizontally to see interpolated data values in legend
  • Data Tips: text boxes with data info popup when mouse is over a data point
  • Legend: can be positioned above, below, right, or left of trace area. The legend can be resized interactively, and clicking on a trace's legend entry toggles the visibility of the trace.
LoginEnabled Set to true to enable role management security. If enabled, a login dialog will appear when the client browses to the URL for the Display Servlet, unless single sign-on is configured. The default is false
Popup Menu Interaction 1. Right-click in the page to open a Display Server popup menu.
2. Hold down the <Shift> key while you right-click to bring up the web browser's popup menu.
3. Logout by right-clicking and selecting Log Off before closing the web browser. Some web browsers may not logout the user after the browser window has been closed.
Resize Mode To globally specify a Window Resize Mode, select Tools>Options>General or set -resizemode on the command line. It is also possible to set a specific Resize Mode for each particular display (.rtv) file using the Background Properties dialog.

The default Resize Mode for the Thin Client is Crop. Runtime behavior in the Thin Client differs in the following cases:

  • When the initial display is opened, the browser frame is not resized to match the display size as it is in the Display Viewer. Instead, in the default Crop mode, the display will appear in its full size. Additionally if the browser frame is larger than the display, then unused space will appear below and to the right of the display. If the browser frame is smaller than the display, then scrollbars will appear. In Layout and Scale modes, the display will briefly appear at its default size and will then resize to fit the browser frame size. This may also occur if another tab is opened in the browser, the browser is resized, and then the browser tab that contains the Thin Client is reselected.
  • In Layout and Scale modes, after resizing the browser frame, table objects and Fx charts will revert to their original states. For example if you clicked on a column header in a table to sort the column, after resize the table would revert to its default sort. Likewise if you scrolled in a table, resized the legend, or zoomed in on an Fx chart, after resize the scrollbars and legend will revert to their initial position and size.
  • In Scale mode, there will be unused space in the browser frame. This is due to the fact that, to ensure equal scaling in both dimensions, the display will only use the largest 4"x3" rectangular area of the frame. The unused area will have the same color as the display background, but will not have a gradient fill.
Status From the Display Server popup menu, select Status to access the following information:
  • Name of the current RTView display
  • Time the display was last refreshed
  • URL and connection status for the rtvdisplay servlet
  • Hostname and port used by the servlet to connect to the Display Server
Table Objects The Display Server generates JavaScript to display table objects (obj_table02). The JavaScript table allows scrolling, sorting and column resizing.

Right-click on a table and select Export to Excel to open Excel in a web browser, or Export to HTML to export to an HTML file with the data from the selected table.

VirtualThreshold Set the cell count of a table at which point Virtual Mode is used. Default is 500. 
For smooth scrolling, data is preloaded into tables with less than 500 cells. For tables with more than 500 cells, Virtual Mode is used in which data is paged into the tables to speed processing time for displaying, refreshing and sorting. However, the table may blink while scrolling in this mode. 

Limitations

Threshold commands are not supported in the Display Server, as well as the following commands:

  • Beep
  • Play Audio File
  • Run DOS Command or UNIX Shell

The commandCloseWindowOnSuccess property is not supported in the Display Server.

The Display Server does not support command failure notification on the client. Notification only appears as a console message on the server.

Drill down displays have the following limitations:

  • The Topmost Window Mode has no effect in the Display Server, it is equivalent to the Normal setting.
  • If the user clicks outside of a display from which a drill down in Modal Window Mode was opened, but still within the same browser instance (i.e.: in another frame or iframe), the modal drill down may be obscured. When the mouse is moved across or clicked in the parent display, the modal drill down will return to the top.
  • In Modal Window Mode the user can close the main browser window without first closing the drill down window.
  • If the Window Position specified is completely off-screen, the coordinates will be adjusted so that the window is partially on-screen.
  • If the Window Position is set to Center of Screen or Center of Parent the window open slightly lower than expected.
  • In Firefox, when drill down window is closed the next mouse click in the parent window may be ignored.

Table Objects
The Display Server generates JavaScript to display table objects (obj_table02). The JavaScript table has the following limitations:

  • The scrollbarMode, tabIndex and editDataEnabledFlag properties are ignored. The default values are used.
  • The minimum requirements for viewing in a web browser are Internet Explorer 5.5, Netscape 7.1 and Firefox 1.0.
  • For smooth scrolling, data is preloaded into tables with less than 500 cells. For tables with more than 500 cells, Virtual Mode is used in which data is paged into the tables to speed processing time for displaying, refreshing and sorting. However, the table may blink while scrolling in this mode. To modify, use the VirtualThreshold property in rtvdisplay.properties.
  • If a sort column is configured in the table object in the Display Builder, the sort icon does not appear in the column header when viewed in the Display Server. The sort icon appears if the sort column is selected at the time the Display Server is started.

Table object (obj_table02) has the following limitations:

  • When the multiSelectFlag property is enabled:
  • Multiple rows can only be selected using Ctrl+Left click.
  • A mouse click must be used to select columns.
  • A right-click does not select a row under the mouse pointer
  • Once a table is displayed, changes to the value of the multiSelectFlag property are ignored.
  • In Firefox, a double right-click must be used to open popup menus.
  • When the indexColumns property is enabled it is ignored. Also, a selection made in the table gets cleared if the number of rows in the table changes after a data update.
  • The columnResizeEnabledFlag cannot be toggled.
  • The rowHeaderEnabledFlag cannot be toggled.

Graph Objects

  • The scrollbarSize property is ignored. The system default value is used.

Object Grid

  • The scrollbarSize property is ignored. The system default value is used.

Control Objects

  • Since Firefox does not support multi-line tool tips, any returns (i.e. \n) found in mouseOverText entries will be replaced with spaces.

Slider Control

  • The Slider Control (obj_c1scale) is drawn as a scrollbar rather than a slider.
  • The updateWhileAdjustingFlag, bgColor, and objHeight properties are not supported.
  • The enabledFlag property is not supported in Firefox.

Button Control

  • In Firefox, the defaultButtonFlag is ignored unless a control object in the display has focus.

Combo Box Control

  • The textEditEnabledFlag property is not supported.

Date Chooser Control

  • Uses the Datejs date library for parsing and formatting dates and times. The Datejs library subclasses the standard javascript Date object. If you embed a display with the Date Chooser control object inside your javascript application, it may pickup the Datejs date class instead of the standard date class. The Datejs library is distributed under the MIT License and can be downloaded at http://www.datejs.com.
  • The month and day names can be localized by replacing the date.js file in the Display Servlet with a localized version. To do this, go to servlets\rtvdisplay in your Enterprise RTView installation directory. Extract the appropriate date*.js file for your language from datejs_loc.zip. Rename this file to date.js in the servlets\rtvdisplay directory and rebuild the Display Servlet .war file. NOTE: The default date.js is a copy of date-en-US.js from the datejs_loc.zip file.
  • The following dateFormat specifiers are not supported:

G, w, W, D, F, E, k, K, S, z, Z

  • No validation against specified dateFormat for date entered in text entry field.

Generated HTML controls have the following limitations:

  • Control objects are generated with your browser's default font and color settings. The bgColor and valueTextFont properties are ignored.
  • In older browsers that do not support CSS, HTML control objects may not be positioned correctly and appear outside the image.
  • Control objects are reset to their initial values when a Drill Down is executed. To display the current value, attach the selectedValue property to a variable or Get Substitution function for the substitution set.

The Fx graph objects have the following limitations:

  • The Fx graph objects can be resource intensive during display loading and updating. This should be kept in mind when designing displays. A display containing several Fx graph objects may load slowly.
  • If the context menu is opened near an Fx graph object, the menu will be partially hidden by the Fx graph. 
  • A right-click inside an Fx graph object will open the Flash Player menu, not the Thin Client's context menu.

Test Displays
Two HTML files are included in the rtvdisplay.war for testing. You can also open a display by entering the JSP directly in the URL.

1. Open index.html (e.g., http://host:port/rtvdisplay/index.html).

In the left frame of index.html is a list of display (.rtv) files available in the directory where you started the Display Server. The main frame should show the selected display.

2. Open panels.html (e.g., http://host:port/rtvdisplay/panels.html).

The panels.html file arranges multiple display panels in frames according to your panel configuration file. If the panel configuration file is not found in the project directory where you are running the Display Server, the Display Server searches under lib in your installation directory. See the Multiple Display Panels section for information on creating panel configuration files.

NOTE: The CardPanel and GridPanel are not currently not supported in the Display Server.

3. Specify the panel configuration file name and the border width (in pixels) in the URL:

http://host:port/rtvdisplay/panels.jsp?file=mypanelconfig&border=1

4. To specify a display to open in the URL:

http://host:port/rtvdisplay/getdisplay.jsp?display=MyDisplay

5. Specify substitutions to apply to your display and a refresh rate (in seconds) which overrides the DefaultRefreshRate in rtvdisplay.properties (specified in Step 2A):
 

http://host:8080/rtvdisplay/getdisplay.jsp?display=MyDisplay&refresh=30&subs=$sub1:Hello+$sub2:'value+2

NOTE: To specify multiple substitutions, separate them with a + (plus). If a substitution value contains a single quote, escape it with a / (forward slash). If a substitution value contains a space, enclose it in single quotes (do not escape these quotes) and replace the space with a +.

 

 
Enterprise RTView contains components licensed under the Apache License Version 2.0.

 

Treemap Algorithms v1.0  is used without modifications and licensed by MPL Version 1.1. Copyright © 2001 University of Maryland, College Park, MD

 

Datejs is licensed under MIT. Copyright © Coolite Inc.

 

JCalendar 1.3.2 is licensed under LGPL. Copyright © Kai Toedter.

 

jQuery is licensed under MIT. Copyright © John Resig,

 
JMS, JMX and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. They are mentioned in this document for identification purposes only. 

 
SL, SL-GMS, GMS, Enterprise RTView, SL Corporation, and the SL logo are trademarks or registered trademarks of Sherrill-Lubinski Corporation in the United States and other countries. Copyright © 1998-2009 Sherrill-Lubinski Corporation. All Rights Reserved.