Thanks Varun for your question.
This book is basically a compilation of what I and my colleagues learned and discovered about JasperReports while doing several ERP and BPM projects during the last few years. So the book is meant for anyone who is trying to design real world reports, such as the following:
Reports that combine multiple types of reports Summary reports, graphs, and cross tabs Multi-column and multi-page reports Reports that use standard templates or specific look and feel Reports that combine data from different types of datasources (such as relational and XML data) Reports that require mathematical expressions to evaluate specific conditions Etc.
So if you have an overview of JasperReports and want to solve a real world problem, I hope this book will be useful.
Regarding your second question about keeping UI separate from data, this separation is inherent in the JRXML concept. All jasper reports use JRXML for the basic design of the report. The JRXML does not depend on the actual application data. Instead the JRXML code relies on its own data fields and the data fields are connected to the application data.
This means data fields in the JRXML code act as a data sandwich between the application data and the UI (JRXML design). This allows you to design a report using fields connected to a relational database, for example. Later you can connect the same fields to an XML file or a set of JavaBeans and the same JRXML design will work for you. For example, you can try one recipe from the book (available on Packt’s Web site -
http://www.packtpub.com/article/jasperreports-creating-report-from-model-beans-of-java-applications), which demonstrates how you can connect your existing JRXML design to the application data contained in JavaBeans.
JasperReports also allows you to use standard UI templates. This means you can design several reports with similar UI look and feel. This book demonstrates the use of UI templates.