Jaspersoft offers many ways to integrate reporting with applications. Jaspersoft Reports can be integrated using java code, iFrames, REST, and javascript. Choosing from the various options depends on the functionality desired, the amount of work you are willing to expend to get the desired results, and how much control over the end result you want.
Java Code
Using JasperReports Library you have access to java code that will allow you to generate reports and connect to data sources. All the data connectivity, report generation, and distribution is controlled directly in the java code. Although this gives you microscopic control of your end result, it is also the most labor intensive, requiring months (if not years) to develop the reporting features you need in your application. If you have time and the java developer resources available, this can be an option.
User Interface / iFrames
JasperReports Server is a complete reporting portal providing a white label capable user interface to give your users access to an enterprise grade reporting solution. The server can be integrated with your application’s security, so you can give access to the server as a separate reporting portal. Portions of this UI can be embedded inside your application using IFrames. This allows you to take advantage of the advanced interactive report viewer, ad hoc report designer, dashboard designer, and other features provided by JasperReports Server. Thus you take advantage of decades of development provided by Jaspersoft. A possible drawback is that using IFrames you are limited in what control you have over the interface.
Web Services
JasperReports Server has a comprehensive suite of web services available via REST. By implementing these REST calls in your application, you can let JasperReports Server handle the heavy lifting when it comes to connecting to data and generating reports. You also have access to other aspects of the server, such as dashboards, scheduling, and administrative functions. Thos administrative services allow you to simplify things when it comes to operational tasks around the environment.
Javascript
If you want to take full advantage of the power of JasperReports Server, while maintaining control over the end user experience, Jaspersoft’s “Visualize.js” javascript API gives you that control in an easy to implement solution. You are not limited to embedding reports and dashboards. Visualize.js gives you the capability to control interactions with those reports and dashboards, both in passing data into the reports to control their results, to capturing actions and events associated with the reports and managing how the application responds. And this can be accomplished within a day or so, if not in hours!
Comparison of your options
JasperReports Library
-
Embed reports using java code
-
Design reports using Jaspersoft Studio
-
Needs a java developer to embed.
-
All delivery code is done by you, using the JasperReports Library classes.
-
You have complete control of what the application does with regards to report delivery..
-
For more information check out the javadoc: https://jasperreports.sourceforge.net/api/index.html
and samples :
https://jasperreports.sourceforge.net/sample.reference.html
JasperReports Server UI / iFrame embedding
-
JasperReports Server is a full feature reporting portal
-
Reports created using Jaspersoft Studio, the Ad Hoc Designer, and the Dashboard Designer.
-
White labeled to reflect your styles.
-
Can be delivered as a stand alone reporting portal, or embedded using iFrames.
-
Information on JasperReports Server:
https://community.jaspersoft.com/documentation/jasperreports-server/tibco-jasperreports-server-ultimate-guide/vv900/js-ultimate-guide-_-api-_-repository-http-api/
Web services
-
Embed using REST API calls. The web services can be provided either by JasperReports Server (JRS) or JasperReports IO (JR-IO).
-
JR IO reports are designed using Jaspersoft Studio, while JRS adds access to visualizations created by the Ad Hoc Designer, and the Dashboard Designer..
-
Access via REST calls can be accomplished from a wide variety of platforms; not limited to java
-
You control the presentation layer.
-
REST API documentation for JRS:
https://community.jaspersoft.com/documentation/jasperreports-server/tibco-jasperreports-server-rest-api-reference/vv900/jasperreports-server-rest-api-reference-_-overview/
And for JR-IO
https://demo.jaspersoft.com/jrio-docs/#rest-api-reference
Visualize.js
-
Embed using javascript
-
Visualizations can be provided either by JasperReports Server or JasperReports IO (JR_IO).
-
JR IO reports are designed using Jaspersoft Studio, while JRS adds access to visualizations created by the Ad Hoc Designer, and the Dashboard Designer..
-
You have detailed control over the interaction between the visualizations and your application using javascript
-
Information on visualize.js for JRS:
https://tibcosoftware.github.io/js-visualize/#introduction
And for JR-IO:
https://demo.jaspersoft.com/jrio-docs/#live-javascript-client-samples
The great news is you can combine usage of all these options as needed, providing a robust enterprise reporting solution.
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now