# JReport Product Overview

JReport delivers operational business intelligence to enterprise applications through powerful embedded reporting.

JReport is a complete Java reporting solution that provides sophisticated enterprise reporting, ad hoc reporting, and data analysis. A 100% Java EE architecture and a rich set of APIs allow JReport to be seamlessly embedded into any application, providing end users with a transparent interface to easily generate reports, share information, and analyze data. With JReport, any report can be made interactive, extending the "life" of a report by allowing users to easily sort, group, navigate, and filter via the Web. This wide range of functionality, including the ability to drill down on data, enables users to quickly derive value from their business intelligence.

## JReport product architecture

JReport's Java architecture takes advantage of the portability, scalability, and ease of integration associated with J2EE technology to provide a powerful, flexible reporting solution that fits perfectly within any architecture.

JReport Designer is a Swing-based Integrated Development Environment (IDE) that enables sophisticated report design and presentation of critical business data. It provides an intuitive interface, reusable report components, flexible layout, and a toolset for designing and testing reports. With JReport Designer, you can build reports using simple drag and drop techniques or by using the Report Wizard. Data can be accessed from any data source to design and preview reports in order to deliver information to end users in the most relevant and intuitive manner. Rapid creation and modification of reports is accomplished by toggling between design mode and view mode where the report will be displayed with the actual dataset. Once report design is complete, the report is published to JReport Server for generation, delivery, and management.

JReport Server is a 100% Java report generation and management tool. It enables efficient management, sharing, scheduling, versioning, and delivery of reports and enables reporting to be integrated into the workflow of any Java application. The high-performance engine can scale to any workload. Report results can be saved to a versioning system, sent to enterprise/workgroup printers, or e-mailed. With JReport, reports can be viewed in any modern enterprise format including Page Report, Web Report, HTML and standard business documents, such as PDF, Excel, and RTF.

JDashboard delivers information using a user portal user interface rather than a report. Users can freely choose the objects they want to display in the dashboard, without having to know how these objects were created, what data sources to use, what styles to set, and so on. A dashboard can hold multiple data components so that when browsing the dashboard users are able to see multiple data aspects. Within a dashboard, data components are able to communicate with each other via the message mechanism. This allows actions such as common filters to be applied to all the components of a dashboard even when coming from different data sources.

Page Report Studio and Web Report Studio enable reports to be accessed through a web browser via Dynamic HTML, or AJAX. With Page Report Studio and Web Report Studio, reports can be modified using dynamic filter, sort, and drill capabilities. Using Page Report Studio and Web Report Studio's advanced capabilities, users can drag and drop columns to and from an existing report, dynamically change chart types, pivot crosstabs, add groups, convert report components or create an entirely new report.

Visual Analysis is a WYSIWYG product to visualize the result of every work step. Simply by dragging and dropping data fields onto a layout module, users are able to visually create crosstabs and charts step by step. The use of colors, sizes, shapes, and pie slices demonstrates the data in rich aspects.

## Reporting a problem or requesting a feature

If you are having trouble running JReport Server or encounter any problems during reporting, take the following steps.

1. Check whether the system on which JReport Server is running meets the system requirements.
2. Check the JReport FAQ pages for frequently-asked questions and their solutions.

If the problem persists, report it to Jinfonet Support (support@jinfonet.com) with the following information:

1. Describe the precise steps leading to the problem.
2. Run the batch file jrenv.bat in the `<install_root>\bin` subdirectory. Running this batch file will generate a file called report.env in the current directory. Send this file to Jinfonet Support. Also, describe the operating environment, including machine type, CPU, memory, OS, and Java version.
3. If you are running JReport in an integrated Java application server, click the Server Information button on the JReport Administration page to list the environment.
4. Send Jinfonet Support the log file with the recorded JReport Server problems.
   - For a standalone server
     Start JReport with the batch file DJRServer.bat (.sh on Unix). Running this batch file will record the most detailed logging information and write them to the log files in the `<install_root>\logs` directory. Try to reproduce the problem, and send the log files along with the other information.
   - For an integrated JReport Server
     If your JReport Server runs as a servlet inside a Java application server, send the log files generated by the JReport Engine in the application server. When the JReport Servlet is installed, a property file is generated which is used to define the class and arguments of the JRServlet. For example, if you integrated JReport Server into WebLogic, find the WebLogic properties file located in the installation path of WebLogic. Edit the file to use the option -vDebug -vError. Your file should then contain the following content:

     vError=true
     vDebug=true

     In addition, you can also directly add the java option -Dlogall=true (or -DvError=true, -DvDebug=true) to the java command line within the launch file of the application server.

     After restarting your application server, reproduce the problem and send the log files to Support.

5. Send Support the log files recording all of the logging information of engine and server (including event, error, debugging, access, management, and performance).
   - Change the configuration to record all logging events by starting the server and accessing the JReport Administration page through `http://localhost:8889`.
     1. Go to the Configuration > Log panel.
     2. Set the trace level of all logs to TRIVIAL, and set the error level of all logs to WARN.
     3. After that, reproduce your problem and send Support the log files in `<install_root>\logs`. In addition, you can also directly modify the logging configuration file LogConfig.properties in `<install_root>\bin`. If you set the server property log.config.update to true (all server properties are managed within the file server.properties in `<install_root>\bin`), any changes to the configuration file will automatically take effect at runtime after the specified update interval (set by the server property log.config.update.interval).
   - If your JReport Server runs as a servlet within a Java application server, in the address bar of a web browser, type in `http://<hostname>/jreport/admin`, where jreport is the servlet context path.
6. To reproduce your problem of running reports with JReport Server, we will often need your report, catalog and data information.
   1. Send Support the catalog file (*.cat and *.fml) and the report file *.cls that you are having problems with.
   2. In order to resolve technical issues that you have reported, we will need to access your report data so that we can recreate and analyze the problem. Your database may be very large. However, we will only require access to the data returned by the query of the troublesome report, and if necessary we will sign a confidentiality agreement with you. To extract the report data, in the Catalog Browser of JReport Designer, right-click the query that your report is using, select the menu item Create Cached Query Result. Then, input the data file name and click the Save button. The query result will then be saved in this file. Send Support all of the files generated (including the description file).

## Visiting web pages for more information

- Products information
  http://www.jinfonet.com/products
- News center
  http://www.jinfonet.com/company/news
- Demo center
  http://www.jinfonet.com/resources/jreport-demo
- Products download center
  http://www.jinfonet.com/product/download-jreport
- White papers
  http://www.jinfonet.com/resources/white-papers
- JReport product documentation
  http://www.jinfonet.com/jreport-documentation
- JReport Javadoc
  http://www.jinfonet.com/jreport-documentation
- JReport Technical Support center
  http://www.jinfonet.com/services/technical-support