InetSoft Enterprise products are based on the report engine from Style Report Pro and share the same Object Oriented design approach. To address the requirements of a distributed computing environment the InetSoft advanced server report API allows a single report to be viewed from any browser.
All user interactions with the report are handled by the report architecture and are transparent to the report developer. This frees the developer from the complexity of diverse environments on the Internet and allows the developer to concentrate on business logic central to the application.
InetSoft Enterprise products are designed as a set of customizable server components to fit into the modern distributed computing architecture. This allows developers to take advantage of the distributed computing environment. A component-based design is required to provide seamless integration and a high level of scalability.
#1 Ranking: Read how InetSoft was rated #1 for user adoption in G2's user survey-based index | Read More |
The InetSoft server is a collection of server-side components based on the open Java RMI, CORBA and Servlet standards. Components can be tightly integrated into existing applications and servers, and they fully take advantage of services of the underlying distributed platform. Another benefit is the reduced system administration cost. Instead of being managed separately from the existing server, the InetSoft components can become an integrated part of the server and share the same administration procedures.
To facilitate low cost maintenance of the server components, we use standard XML to store all structured configuration data and use standard property files to store simple configuration data. An Enterprise Manager servlet provides a web-based interface to the InetSoft environment.
Design patterns are an important part of the object-oriented design of Style Intelligence. The proxy design pattern is used extensively in the design of the InetSoft Enterprise products. This pattern is applied to allow the server components to support multiple communication protocols and is used in the clustering of servers for better scalability.
The delegate design pattern is similar to proxy, but Style Intelligence uses delegate in a very different fashion. A delegate is an object that performs certain functions based on the behavior of other objects. The facade design pattern uses a single class to encapsulate the functionality of multiple children classes. By reducing the number of classes and hiding the intricacy of the inner working of these classes, it becomes easier to use the overall system.
The interpreter design pattern models a parsing tree of an expression or programming language. Style Intelligence uses the interpreter pattern to represent search conditions. We use the composite pattern in the replet command class. All replet command classes share the same interface. A command is an object that encapsulates the execution of a command. The InetSoft scheduling service uses the command pattern to allow any user-defined actions to be scheduled.
A robust reporting software API should expose functions that allow developers to effectively integrate, extend, and customize reporting capabilities within their applications or workflows. Below are the key functions that should be included, grouped by purpose:
These functions allow the API to connect to and retrieve data from various sources:
These functions provide flexibility for building and personalizing reports:
For enhanced report accuracy and customization, the API should include:
To ensure safe access to sensitive data and reports:
APIs should allow for scheduled or automated workflows:
Interactivity is crucial for modern reporting tools:
Administrative functions for effective API and user management:
Critical for seamless integration with other platforms:
Diagnostic features for troubleshooting and system health:
For high-demand systems with extensive datasets:
An effective API should also provide:
Previous: Report Programming Classes |