InetSoft Reporting Software - Report Proxy Server

The architecture in InetSoft's reporting software allows users to adjust the report proxy server creating an adept system that is capable of handling large requests at a fast pace. View the example below to learn more about the Style Intelligence solution.

The proxy or load-balancer is a lightweight application (servlet) which forwards requests from clients to server nodes. The proxy reads its settings from a copy of the sree.properties file, which may be shared with the cluster nodes or may be stored independently. This is done in case the cluster is running outside the company firewall and cannot access a shared drive.

The proxy requires the following parameters to be defined in the sree.properties file. Each of these parameters may be defined through the Enterprise Manager.Note that these properties can also be set up as init parameters for the proxy servlet in the web.xml deployment file.

view gallery
View live interactive examples in InetSoft's dashboard and visualization gallery.

ATTRIBUTE NAME

DESCRIPTION

ALLOWED VALUES

cluster.adm.url

URL of the Enterprise Manager that is controlling the cluster

Any valid URL

cluster.servers.hosts

A comma-separated list of the report server URLs for each reporting node

Any entry in the format of hostname:port

cluster.loadbalance.algorithm

Specifies the load-balancing algorithm which the cluster will use

roundRobin
or
load

log.output.file

Specifies the file path to the proxy's log file

Any valid file path

log.detail.level

Sets the granularity of the log messages

Number specifying the logging level, as follows: 0=trace, 1=debug, 2=info, 3=warning, 4=error.



For example:

cluster.adm.url=http\://springfield\:8080/sree/EnterpriseManager
cluster.servers.hosts=springfield\:8080,princeton\:8080
luster.loadbalance.algorithm=roundRobin
log.detail.level=0
ClusterServlet Class

The proxy server requires the inetsoft.sree.web.ClusterServlet class to be running in a web application. The etools.jar file and product jar (sree_pro.jar, visual_pro.jar, or bisuite_pro.jar) files must be placed in the WEB-INF/lib directory. A web.xml file, such as the following, should be created.

<servlet>
   <servlet-name>ClusterLoadBalancer</servlet-name>
   <servlet-class>inetsoft.sree.web.ClusterServlet
   </servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>ClusterLoadBalancer </servlet-name>
   <url-pattern>/*</url-pattern>
</servlet-mapping>

It is recommended that the proxy servlet (inetsoft.sree.web.ClusterServlet) is the only servlet deployed on its web server so that the process is lightweight and not prone to failures from other applications within the same web server.

The proxy implements two load balancing algorithms; a simple round robin algorithm, and a load-based algorithm which always assigns the client request to the least loaded (CPU load) server node.

The proxy continuously monitors the status of the server nodes at an interval of forty seconds. If a node goes down, the proxy detects the failure, removes the node from the node list, and stops forwarding requests to it. On recovery, the node is detected once again, and assigned new requests. The proxy keeps track of sessions so that once a request is forwarded to a node, all subsequent requests from the same client will be forwarded to the same node.

view demo icon
View a 2-minute demonstration of InetSoft's easy, agile, and robust BI software.

Previous: Report Server Clustering