Innovative Report Writer now available

Irving, Texas – April 16, 2009 — Four Js Development Tools announced today that its Genero Report Writer is available for immediate release. Genero Report Writer introduces several innovative technologies providing unrivalled power, flexibility and performance for the printing of enterprise-class business reports for mission critical applications.


Genero Report Writer is a graphical reporting suite integrated with Genero. It includes the Genero Report Designer (GRD), which creates graphical report layouts, the Genero Report Engine (GRE), which takes raw processed output produced by Genero Business Development Language (BDL) and the Genero Report Viewer (GRV), which takes that output and renders it graphically.

Figure 1. The Genero Report Writer Architecture

Report data is produced using BDL, which provides the ability to merge real-time data sources such as databases, web services, files or pure memory computations. Traditional report writers typically only provide access to data via Structured Query Language (SQL), which limits access to a relational database and eliminates other rich data stored in the ‘cloud’.

Genero Report Writer obviates the need for temporary files, tables or unsynchronized copies of the database that may be dedicated to reporting. It does this by streaming data directly to the output device (see section on “Streaming rather than transferring“).

Figure 2. The Genero Report Designer

The graphical layout of a report is created using Genero Report Designer, which is hooked into BDL  for validating and compiling the report program. Reports can be written quickly and simply by selecting report objects from the toolbox and dragging them to the desired location ‘on the page’. Reports can be quickly adapted to multiple page formats and languages avoiding unsightly truncation or overlap. Components such as page headers/footers, group headers/footers, barcodes, graphs and charts can be accessed simply from a library of widgets. Likewise, report sub-totals and grand totals are created effortlessly.

Figure 3. Sample Report Types

Innovation from experience

Immediate results, fast throughput, large reports

After close analysis of how customers use reports, the design center of Genero Report Writer evolved towards the most demanding operational requirements:

  • A unique streaming architecture delivers fast ‘first page’ results for very large reports without resorting to temporary files – optimising valuable resources such as disk and RAM,
  • Performance is further enhanced through BDL – able to leverage multiprocessor and ‘n’ tier architectures,
  • Data may be merged from heterogeneous sources outside the database,
  • Reports may be easily managed, maintaining coherency with the database schema.

‘Push’ rather than ‘pull’

Most reporting technologies provide a ‘fat’ client solution that sits on the desktop ‘pulling’ in data from all over the network. This architecture limits the capability to optimise network traffic and roundtrips that will eventually impair performance as the load generated by report processing increases.

Genero Report Writer on the other hand, ‘pushes’ data outwards, processing XML data streams as close to the database server as possible for best performance. This enables the server to optimise network traffic, reducing network ‘roundtrip’ latency between the client and the server. This ‘server’ rather than ‘client’ centric approach delivers faster reports under heavy loads.

‘Streaming’ rather than ‘transferring’

Traditional reporting systems first transfer the entire report image to disk before printing. This approach creates two operational problems:

  • Reports must invariably wait until the file is completely written before printing may start. This imposes in many cases a significant delay.
  • Files containing rich media objects grow linearly, rapidly consuming gigabytes of disk and RAM. In the event that many users invoke such reports simutaneously, this problem is amplified.

Genero Report Writer is able to process data on-the-fly, which is how it is able to stream and merge in much the same way videos are streamed over the Internet. By avoiding temporary files, printing may start immediately – enhancing the user experience while saving valuable disk space and time.

Compound reports

Genero Report Writer enables the creation of compound reports – simply. A compound report is one comprised of multiple, sometimes nested ‘selects’ to the database. Genero Report Writer can process those nested SQL statements on-the-fly through multiple BDL SQL ‘cursors’. Rival products must generate cumbersome ‘sub-reports’, which degrade performance by increasing network roundtrips. In this way, Genero Report Writer fully exploits the multiprocessor capability of the underlying operating environment.

Powerful reporting language

As mentioned, traditional report writers typically only provide access to data via SQL. This limits the report content, while simple scripting languages enable only modest looping and branching capabilities.

Genero Report Writer uses the full power of BDL making sophisticated reports capable of delivering hierarchical data streams possible. This broadens the reach of accessible data sources and liberates the designer from flat data source limits that can only be bypassed by resorting to complex, cumbersome and power hungry ‘sub-reports’ to achieve the same effect.

Figure 4. A sample report written in Genero BDL

Typesafe – reduce report execution errors

Typesafe is a technique that uses the BDL compiler to validate the report against its database schema. Remember, report designers and database administrators may work in different teams and may not necessarily communicate with one another as they should. As a result, a report can fail due to incoherencies between the two elements:

  • Database administrators may change the length, type, format or even delete a column from the database.
  • What happens to reports dependent on that schema?

Inconsistencies of this nature can creep into any organisation and are usually only discovered at the moment the report is run rather than when it is written.

Genero Report Writer overcomes this. At design time, the BDL compiler notifies the designer of schema inconsistencies, so that the report may be adjusted accordingly. These adjustments may also be reflected across other reports using a Source Code Management system.

Reducing runtime errors in this way saves valuable time and user frustration.


Genero Report Writer has been created for ‘n’-tier architectures enabling the distribution of processing across multiple servers for maximum performance. Imagine a server dedicated to database fetching, receiving requests from a second server dedicated to application execution. Perhaps a third and fourth server could be rendering graphical layouts or charts and creating a variety of output formats such as scalable vector graphics (svg) or portable document format (pdf) files.

Figure 5. An ‘n’ tier architecture enables the distribution of processing power

Distributing processor power in this way greatly enhances throughput and is only made possible through the ‘server centric’ approach.

Dynamic layouts

Perhaps one of the most powerful features of Genero Report Writer is its ability to reformat report page layouts dynamically. Font sizes, weights, point sizes and page formats can change without the risk of breaking the elegance of the report. Reports can be internationalised in the same way, without fear of unsightly word wraps, overlaps or page breaks.

Below is a sample invoice previewed for printing on an A4 (210cm × 297cm, 8.3″ × 11.7″) sheet of paper in portrait format.

The same report in A4 landscape format.

And again in A3 (297cm × 420cm, 11.7″ × 16.5″) portrait format.

Figure 6. A simple example of dynamic report layouting

Notice how the report always ‘works’. Columns always align, words are correctly wrapped – in short, the report is always readable and more importantly, presentable.

Try this with rival products!

Report Management

Report source files are all written in clear readable text form. This makes it possible to manage changes to them using a Source Code Management system such as CVS or Subversion. Changes in the database schema are detected at compile time (see above section on “Typesafe“).

Genero Report Writer makes it easier to write and maintain large numbers of business reports within your organization. It clearly separates the activities of gathering the data and graphically designing the report.

You can change the graphical presentation of the reports independently and provide the possibility for third parties or users to make changes ranging from the purely cosmetic to more fundamental changes.

End-user report customization

By shipping the report schema files and Graphical Report Designer with the application, end-users can customize the default reports. End-user customization could range from adding or deleting text or fields to creating brand new reports. As the design editing is done from the schema files, end-users will only be able to select those fields in the pick lists available in the current scope.

In future versions (V2.0 – Q3/Q4 2009) it will be possible to create reusable templates for common versions of reports.

File format standards

Genero Report Engine uses a unique data streaming technology to keep memory usage to a minimum while printing large reports. First page printing arrives with a minimal delay* and uses open standards such as XML, SVG, and PDF for report definitions and viewing.

* Full data streaming is available when using the Genero Report Viewer. Streaming pdfs is not possible given the nature of the format – a pdf file must be completely written before being opened for viewing.


Reports may be selected from pre-defined data streams rather than from direct access to the database schema through SQL. Those wishing to protect the integrity of the database or simply filter out information can do so by limiting access to these predefined data streams. In this way, the team that design the report graphics may be totally distinct from the team that selects the data, providing complete separation of business logic from presentation.

Pricing policy

An unlimited Genero Report Writer deployment and developer license is granted free of charge to all customers possesing a valid and current Genero maintenance license for the server on which they are destined. In the event that this Genero maintenance license lapses, the grant expires and Genero Report Writer licenses can be purchased independently. Consult your local office for local currency pricing.

A developer license is required to create and compile the report written in BDL. Deployment licenses are required for the execution and display or printing of those reports. This deployment license enables the application of different graphic templates for modifying the layouts, but does not allow the modification of the basic structure of the data being extracted. In order to do this, a development license is required. Product codes are as follows:

Packaging dependencies

Genero Report Writer requires the following packages:

Development License

Genero Studio 2.11

Genero Business Development Language (BDL) 2.20
Genero Desktop Client (GDC) 2.20

( now includes the Genero Report Viewer (GRV) 1.0 )

Genero Report Engine (GRE) 1.0
Genero Report Designer (GRD) 1.0
Deployment License

Genero Business Development Language (BDL) 2.20
Genero Desktop Client (GDC) 2.20

( now includes the Genero Report Viewer (GRV) 1.0 )

Genero Report Engine (GRE) 1.0

Learn more

Learn more about Genero Report Writer with these video tutorials.

Test drive!

Ready for a ‘test drive’? Contact yourlocal office .

Best Regards,

The Four Js Genero Report Writer Team

The Genero logomark and name are registered trademarks of Four Js Development Tools. All rights reserved.