InetSoft provides a high-performance, scalable report engine for production reports for ISVs, OEMs, SaaS providers, and enterprises. Lightweight, yet robust, with an extensible Javascript API, InetSoft's report engine has been embedded in hundreds of applications all over the world.
A reporting engine must perform well through constant use and scale well through growing user populations. Measuring performance is often a difficult task that involves many variables and methodologies, the efficacy and purpose of which are subjective. When measuring the performance of a transactional system such as InetSoft's Style Intelligence, the two measures that are most apparent to end-users are total throughput and response time.
Total throughput is measured by calculating the ratio of the number of report pages produced by the system to the number of seconds required to produce these pages. Response time is measured by calculating the difference between the request time and the time that the first page of the report was returned.
This article examines performance problems that plague typical reporting systems and discusses how Style Intelligence provides solutions that boost throughput and lower response time.
The response time of a reporting system needs to be reduced as much as possible even when the reports that the reporting server is producing are very large.
A report server’s response time is measured by recording the time difference between the initial request for a report and when the first page is returned to the end-user. Most other reporting tools retrieve the data needed to create the report, generate the report on the server, and then send either part or all of the finished report back to the requester. This flow can result in very long wait times when a report is larger than a few pages. At best, the wait time would vary linearly with respect to the number of pages in the report.
Style Intelligence takes a unique approach to creating reports by using a three stage pipeline to retrieve data, process report pages, and send them back to the user. The three stages are: data retrieval, report generation, and report page spooling.
When a report is executed, Style Intelligence retrieves data from the data layer using “data streaming.” Data streaming is the process where Style Intelligence retrieves only a part of the entire data set at one time and then processes the report a few pages at a time (the number of pages is configurable). This means that the first page of the report will be sent back to the end-user as soon as data streaming starts. This limit can be set by the system administrator to best fit the deployment environment.
After report pages are generated, they can be sent the end-user using demand paging. This mechanism provides users with a single page of a report at one time. The user can navigate through the report using the report navigation toolbar located at the top of the report.
The buttons on this toolbar provide functionality such as: go to first page; go to last page; go to next page; go to previous page; and go to a specific page.
When data streaming and demand paging are used together, the end-user can enjoy a significant boost in report system performance. The wait time for the first and each subsequent report page will be reduced considerably and the report transfer will be much faster than if the entire report were returned back to the user at one time.
As a user population grows, the reporting system should scale to support this population without a noticeable decrease in performance. Other reporting tools do not offer simple scaling solutions and must be configured manually.
Style Intelligence tackles this problem by offering a clustering and load balancing system that provides easy scalability to support any number of end-users. A single load balancer (running a lightweight Style Intelligence process) controls the flow of report requests to each node in the cluster. Each node supports user requests as they are sent from the load balancer. A session is created between the end-user and the node and all reporting actions are distributed through the load balancer.
The load balancer will also maintain a list of active reporting nodes by requesting a heartbeat signal at a constant interval. When the heartbeat is not received, the node’s workload can be sent to another reporting node to ensure smooth recovery.
The data space is any file system or database that can hold the configuration information and report templates for each reporting server. This centralized repository of configuration and report files allows report developers to quickly publish reports to all reporting nodes without having to deploy to each individually, and administrators to quickly deploy another reporting node to support a growing user population.
The demands on each reporting system are unique. Report system administrators need the ability to tune the reporting server to fit their particular needs and raise system performance based on their own specifications.
When deploying any software application, the chosen configuration options can have a significant impact on how the application performs and supports the needs of its end-users. Style Intelligence provides the system administrator with a number of configuration options that can be used to tune the system performance to meet the specific needs of that deployment. A configurable cache system controls how report data and generated report pages are stored on the report server. This configurable cache can drastically reduce the wait time experienced by end-users by storing recently generated reports and sending this cached image back to end-users. The cache setting can be set system wide and on each report.
Another example of a configurable performance option that Style Intelligence provides is server optimization. This setting allows the system administrator to set the report server optimization to CPU or memory utilization. This will control how system memory and CPU cycles are utilized to boost that particular resource. This feature can boost performance depending on the size of reports being requested by end-users and the number of end-users utilizing the system concurrently.
There are other configuration options that allow the administrator to specify the session timeout, number of concurrent request threads, data streaming settings, and more. When set to fit the deployment environment, these system options maximize the Style Intelligence system performance and allow system administrators to modify the behavior of their Style Intelligence system as needed.
InetSoft's many years of development (since 1996) have contributed to Style Intelligence offering a world-class high performance report engine. Key to this capability are the tools and configuration options that enable fine tuning for each custom deployment scenario. By providing a complete set of performance specific options, Style Intelligence is a completely configurable reporting solution. The Style Intelligence system administrator has the flexibility to control almost every function of the server to modify its response and behavior. By utilizing the clustering and load balancing capabilities, the system can also be scaled without disturbing existing end-users. Style Intelligence can be configured right out of the box to fit any deployment environment and any user population.
This article explains how Style Intelligence reduces perceived latency by streaming data and generating report pages in a pipeline so the first page is returned quickly, even for very large reports. It examines common performance problems in traditional reporting systems and describes architectural techniques (like demand paging and spooling) that improve throughput and response time. The piece is focused on engineering trade-offs and configuration knobs administrators can tune for high-volume report production.
This page presents InetSoft’s web-based reporting engine and highlights its flexibility for both production and ad-hoc reporting across diverse data sources. It emphasizes the product’s Java API and visual query builder that let developers connect non-relational and unusual data sources without forcing them into a single relational model. The article positions the engine as a lightweight, embeddable server component for web apps that need high-performance reporting.
A solution-oriented article that summarizes the reporting features inside StyleBI, including pixel-perfect paginated reports and the same drag-and-drop designer used for dashboards. It explains how combining paginated reporting with interactive dashboards supports both scheduled production reports and ad-hoc analysis from business users. The page is written to help decision-makers compare reporting capabilities when selecting a BI tool.
This product page describes Style Report Professional — an edition focused on the reporting engine, API, and a WYSIWYG, scriptable authoring environment (now folded into other editions). It details how the engine supports server- and desktop-based deployments and programmatic control for automated report production. The write-up is useful for developers who need an embeddable reporting runtime and an extensible API surface.
Framed as a guide to the report-making capabilities of StyleBI, this page emphasizes ease-of-use and a short learning curve for building web-based interactive reports. It highlights the combination of responsive dashboards and a robust reporting engine that supports many export formats and delivery options. The tone is aimed at business users and small teams looking to produce polished reports quickly.
This technical overview focuses on InetSoft’s Java-based reporting engine and how it integrates with heterogeneous data sources through a Java API and visual query tools. It lists benefits like high-fidelity presentation, data transformation, embedded business logic via scripting, and programmatic manageability for enterprise deployments. The page is helpful for architects evaluating Java-centric reporting runtimes that must operate inside J2EE application servers.
This article digs into deployment details and explains that InetSoft’s servlet-based architecture accepts reporting commands as HTTP URL requests to a repository servlet. It is practical reading for administrators who plan to integrate the reporting server with portals or to run it separately behind a web tier. The content also discusses deployment considerations and options for storing configuration in databases for large installations.
This page frames InetSoft’s products as a combined suite of reporting and inquiry tools, emphasizing live reporting, interactivity, and sophisticated design capabilities. It highlights how the reporting engine supports both deeper inquiry for analysts and end-user friendly live reports for operational users. The article serves as an overview of capabilities rather than a deep implementation guide.
A broader BI-focused page that calls out paginated reporting as a first-class capability alongside interactive dashboards and APIs for programmatic control. It outlines the kinds of reports produced (production, interactive, ad hoc) and stresses the engine’s embeddability into other web interfaces. The content is targeted at teams that need both pixel-perfect documents and live exploratory dashboards from a single platform.
This article focuses on live reporting use cases and the performance requirements of real-time or near-real-time reporting applications. It discusses the need for both a fast data access engine and a high-performance report generation engine, positioning InetSoft’s reporting runtime as engineered for live operational scenarios. The write-up is useful for teams building monitoring, operations, or real-time analytics solutions that cannot tolerate slow report generation.