Deployment architecture
The Genero Report Writer solution can be implemented using a distributed or non-distributed architecture, on one machine or across multiple machines.
There are three deployment architectures:
- non-distributed mode
- local distributed mode
- remote distributed mode
Non-Distributed or Distributed mode
The first decision you will have to make is whether to use 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 is good for development. It is the default, and does not require additional configuration.
Distributed mode is preferred for production, for these reasons:
- It processes short reports faster. For each report in non-distributed mode, the startup time of the JVM can exceed the processing time of the report, resulting in poor overall performance. In distributed mode, the JVM is started and initialized once; for short reports, the performance improvement can be dramatic.
- It processes reports from multiple users faster, when many users start reports on the same server.
- It saves on system resources. Using a single JVM saves resources, as each JVM allocates its own memory.
Important: It is strongly recommended to use distributed mode in a production
environment.
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).
In local distributed mode, the application and the Genero Report Engine are
started on the same machine. The advantages of a local distributed architecture:
- Local distributed mode provides for faster processing times.
- Local distributed mode allows you to manage your system on one machine.
In remote distributed mode, the application and the Genero Report Engine are
started on different machines. The advantages of a remote distributed architecture:
- 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 DVM 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.