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.

More Articles About Reporting

ExcelSheetGenerator Classes - Exporting a report to an Excel file is performed through the ExcelGenerator and ExcelSheetGenerator classes. ExcelGenerator gen = ExcelGenerator.createExcelGenerator( new FileOutputStream("report.xls")); gen.generate(report); The default page size is the standard letter size (8.5"x11"). The page size can be changed using setPageSize() in ReportSheet. This call must be made before the generate() method is invoked. When exporting a large file to Excel, note that an Excel spreadsheet has a maximum of 65535 rows and 255 columns; a report should not exceed these limits. Also, the heap size of the JVM needs to be increased. Use Java -XmxbbbM to indicate the maximum (where maximum JVM size is Xmx and JVM heap size is bbbM). For example...

Good Agile Reporting Tools - Good morning and welcome to our webinar on agile reporting tools and agile BI. My name's Abhishek Gupta, and I am with InetSoft. InetSoft is a pioneering provider of business intelligence and data discovery software. Before we begin though I'd like to go over a few quick housekeeping items and questions that we normally get during this webinar, if you have any questions, feel free to ask them anytime, you can type them in the chat panel in the lower right hand corner of GoToMeeting, and we will make sure we respond to you. If not live, we'll make we follow up through an e-mail response after the webinar. Also we have a Twitter feed that we're monitoring, it's #agilebi. After the webinar these slides and the recording of the webinar will be available for download. You can also e-mail us directly at info@inetsoft.com. So with those house keeping items out of the way we'll just jump into the webinar...

How to Choose Colors for a Dashboard? - It is recommended to reply on color experts when choosing the pallette for your dashboard. These are all considered Flat UI colors. Each is a combination of 4 main colors to choose from. If additional colors are needed, choose shades of the these by altering the saturation level by 20%. The numbers provided are the hex codes that you can copy and paste into your color chooser...

Information About Composite Dashboard Tables - When you select a Composition Table (Joined Table or Concatenated Table), the Worksheet displays a set of arrows that indicate the table's dependencies. For example, when you click on a Joined Table, the arrows indicate the two Data Blocks are joined to produce the selected table. In some cases, you may need to change the source of a Composition Table after you have already created the table. For example, when you originally created the Composition Table, you might have used a source Data Block (e.g., Embedded Table) containing some prototype or placeholder data. Later, when the production data is available, you need to replace this prototype Data Block with the Data Block containing real data...

Looking for an Online Interactive Dashboard - Looking for a new way to keep track of performance and improve overall efficiency of any task? InetSoft's online interactive dashboard software has proven to be a highly effective business tool for both monitoring and analyzing data to meet the queries of any user. A dashboard is a visual display of the most important and relevant information in reference to one or more objectives, displayed on one screen so it can be viewed easily at a glance. This kind of software has been making the tasks of meeting goals and deadlines much easier for users to comprehend and grasp, as dashboards are much friendlier to understand than trying to comb through a report. However, InetSoft has taken this idea to the next level with a 100% web-based unique, user-friendly interface that not only displays this information, but gives users the ability to interact with and manipulate their data for maximum self-service...

Performance of Google Shopping Ads - Google Shopping Ads are a powerful type of online advertising that allows e-commerce businesses to display their products directly in Google's search results and other places (e.g Shopping tab, Youtube). Unlike traditional text ads, Google Shopping ads showcase product images, titles, prices, and the store name right at the moment potential customers are searching for similar products. These campaigns operate on a cost-per-click (CPC) model, meaning businesses pay each time a user clicks on their ad. What sets Google Shopping apart is its integration with the Google Merchant Center, where businesses upload their product catalogues in a structured format. This integration allows for detailed product information to be pulled directly into the ad, offering a rich and engaging shopping experience for users. Google Shopping campaigns are especially potent for driving sales...

Previous: Report Server Clustering