Deployment architecture
The Genero Report Writer solution can be implemented using a distributed or non-distributed architecture, on one machine or across multiple machines.
- non-distributed mode
- local distributed mode
- remote distributed mode
Non-Distributed or Distributed mode
- In non-distributed mode, each report starts a new Java Virtual Machine (JVM).
- In distributed mode, the report engine is started as a daemon in listen mode (using
greportwriter –l
). Report applications process reports by connecting to this daemon.
Non-distributed mode is the default, and does not require additional configuration. It is good for development.
Distributed mode offers faster processing for short documents. The startup time of the JVM that is incurred for every report in regular mode can exceed the processing time of the report, causing the overall performance to be poor. In distributed mode, the JVM is started and initialized only once. For short documents, the improvement in performance can be dramatic.
In Java applications, distributed mode prevents conflicts between different versions of open source libraries. You can use the greclient.jar library, which doesn't require any external libraries. This prevents the version conflicts that can occur with popular open source libraries such as Apache POI, JFreeChart, or iText.
In production, always choose distributed mode to avoid slow start for short documents and extra resource consumption.
Local Distributed or Remote Distributed mode
With distributed mode, you have the option to be on a single machine (local) or on different machines (remote).
- Local distributed mode provides for faster processing times.
- Local distributed mode allows you to manage your system on one machine.
- Your IT policy might require the GRE and application sit on separate machines.
- Remote distributed mode allows for improved scalability. Formatting graphical reports is CPU intensive, and CPU is usually expensive on a server optimized for IO (such as servers running the running report application and/or the database). Remote distributed mode allows offloading the report processing to a cheaper machine, such as a standard PC.
- The required fonts might sit on a specific machine. Specifically, a dedicated report formatting PC could be installed with Windows™, which has the additional advantage of handling fonts and printers in a user-friendly way.