Product How-To: Custom Report Repository Protocol

The repository server is the main component on the server that performs most of the report generation inside the viewers. The repository uses one of the RMI, HTTP, CORBA or SOAP protocols. A repository proxy class may be implemented to provide support for a different protocol.

The third-party protocol support is mainly for communications between a custom implemented viewer and a repository server. For a Servlet-based Web Viewer, the repository already resides on the server machine and there is no need to use a protocol to communicate between the servlet and a repository.

To incorporate a different protocol, you need to follow these steps:

1. Create a Repository Client Proxy.

The proxy should implement the RepletRepository interface. In each method, it should forward the request (method parameters) to the server and pass the result back.

public class RepositoryProxy implements RepletRepository {
public RepositoryProxy(…) {
// establish connection to the server
// using the third-party protocol
}
 
public Object create(String name, Object ticket)
throws RemoteException, RepletException {
// call the server to perform a create()
// return the result from the server
}
}
custom marketing management report

2. Create a Repository Server. The server exposes methods to be called by the proxy using the same protocol. It can use the Replet Engine as the implementation of the repository.

public RepositoryServer2 {
public RepositoryServer2() {
engine = new RepletEngine();
engine.init();
// register with protocol as needed...
}
 
// The signature of this method is protocol-dependent.
// We use the same signature as the RepletRepository for
// convenience. This is the method the client proxy
// calls through the protocol
public Object create(String name, Object ticket) {
return engine.create(name, ticket);
}
}

3. Create a proxy repository in the client and pass it to the viewer:

RepositoryProxy proxy = new RepositoryProxy(…); 
Viewer viewer = new Viewer(proxy); 

Depending on the protocol selected for the proxy and server, the implementation needs to convert the Java object parameters and return values to the data structures supported by the protocol. All objects used in the RepletRepository methods are serializable. Therefore, the easiest way to convert the parameters is to serialize the objects into bytes, pass them across the protocol as raw data and convert them back to Java objects at the receiving end.

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

Summary of Browsing Reports from a Web Browser

InetSoft provides the Web Viewer for browsing reports from a client: The Web Viewer is based on HTML, CSS and JavaScript. It can be used with Firefox 2.x and later, Netscape 6.x and later, and Internet Explorer 6.x and later.

The viewer is different from the previewer provided in the Report Designer. The viewer is designed from the ground up to browse interactive reports. In addition to displaying the contents of a report, it also handles the rich set of user interactions supported by the replet environment and provides advanced searching and navigation functions.

More Articles About Reporting

Advantages of Choosing InetSoft's Dashboard System - User-Friendly Interface: Intuitive and easy-to-use interface for both designers and end-users. Drag-and-drop functionality for effortless dashboard creation. Flexible Data Integration: Seamless integration with various data sources, including databases, spreadsheets, and cloud services. Supports real-time data connectivity for up-to-the-minute insights. Rich Visualization Options: Diverse range of visualization options such as charts, graphs, and maps. Customizable widgets for personalized data representation...

Agricultural Dashboard Example - This InetSoft dashboard incorporates various visualization tools, such as tables, bar charts, line graphs, maps, and more, to assist you in gaining a better understanding of the data and its underlying insights. With the use of filters, it also helps you swiftly pinpoint your areas of interest, for example, countries, crop types, and years. There is no need for prior data analysis experience, making it a straightforward and user-friendly operation...

Drilling Down into the Medical Dashboard - In this medical dashboard example we have opened up a table of specific and relevant data. We are looking at the mortality stats for 35-44 year old Men of Asian or Pacific Islander ethnicity. The columns have been sorted to count down from the cause of the most deaths to the least. This is the "View Details" tool. It can be extremely helpful when trying to take a granular approach to data-understanding, allowing broad to specific data...

Insurance Big Data Handled Securely - It's not uncommon for insurance companies to store massive volumes of data, whether it be patient or customer information. Traditional BI tools are not equipped to handle this amount of data, or gain any kind of useful insights from it. InetSoft is staying ahead of the curve with Big Data compatibility, with custom connectors for all popular Big Data sources, and an advanced caching technology for keeping waiting times low. InetSoft's dashboard and visualization software, Style Intelligence, can access big data sources such as Apache Spark, Cloudera, Hadoop, MapR, and SAP HANA. It's data access...

List of Department Dashboard Solutions - Looking for department dashboard solutions? InetSoft's industry pioneering BI platform can support any department's dashboard needs. View examples in the gallery, read articles about its capabilities below, and request a personalized demo...

Previous: Report Viewing Interactivity