HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
The world-wide developer community has downloaded over three million copies of BIRT (Business Intelligence and Reporting Tools) from the Eclipse web site. Built on the open-source Eclipse platform, BIRT is a powerful reporting system that provides an end-to-end solution, from creating and deploying reports to integrating report capabilities in enterprise applications.
The second of a two-book series on business intelligence and reporting technology, Integrating and Extending BIRT, Second Edition introduces programmers to BIRT architecture and the reporting framework. BIRT technology makes it possible for a programmer to build a customized report using scripting and BIRT APIs. A programmer can also extend the BIRT framework by creating a new plug-in using the Eclipse Plug-in Development Environment. This book provides extensive examples on how to build plug-ins to extend the features of the BIRT framework. The source code for these examples is available for download.
The topics discussed include
Understanding the Report Object Model
Foreword xix
Preface xxi
Acknowledgments xxix
Part I: Installing and Deploying BIRT 1
Chapter 1: Prerequisites for BIRT 3
Downloading Eclipse BIRT components 3
BIRT Report Designer software requirements 5
About types of BIRT builds 7
Chapter 2: Installing a BIRT Report Designer 9
Installing BIRT Report Designer Full Eclipse Install 9
Installing BIRT RCP Report Designer 10
Troubleshooting installation problems 11
Installing a language pack 13
Updating a BIRT Report Designer installation 14
Updating BIRT RCP Report Designer installation 15
Chapter 3: Installing Other BIRT Packages 17
Installing Chart Engine 17
Installing BIRT Data Tools Platform Integration 19
Installing BIRT Demo Database 19
Installing Report Engine 21
Installing BIRT Samples 23
Installing BIRT Source Code 23
Chapter 4: Deploying a BIRT Report to an Application Server 27
About application servers 27
Placing the BIRT report viewer on an application server 28
Placing fonts on the application server 33
Viewing a report using a browser 33
Using connection pooling on Tomcat 34
Chapter 5: Using Eclipse BIRT Web Viewer 39
Understanding Eclipse BIRT Web Viewer 39
Understanding Web Viewer architecture 44
Using the Web Viewer Deployment wizard 61
Part II: Understanding the BIRT Framework 81
Chapter 6: Understanding the BIRT Architecture 83
Understanding the BIRT integration 83
About the BIRT applications 87
About the BIRT engines and services 88
About the types of BIRT report items 90
About the Report Object Model (ROM) 91
About the types of BIRT files 91
About custom Java applications 93
About extensions to BIRT 93
Chapter 7: Understanding the Report Object Model 95
About the ROM specification 95
About the ROM schema 98
About the rom.def file 98
About the primary ROM elements 101
About the report item elements 102
About the data elements 103
Part III: Scripting in a Report Design 105
Chapter 8: Using Scripting in a Report Design 107
Overview of BIRT scripting 107
Events overview 108
Event order sequence 115
Chapter 9: Using JavaScript to Write an Event Handler 127
Using BIRT Report Designer to enter a JavaScript event handler 127
Using the reportContext object 130
Using the this object 135
Using the row object 138
Getting column information 139
Getting and altering the query string 140
Changing the connection properties of a data source 140
Getting a parameter value 141
Determining method execution sequence 142
Tutorial 1: Writing an event handler in JavaScript 144
JavaScript event handler examples 149
Calling Java from JavaScript 151
Calling the method of a class that resides in a plug-in 153
Chapter 10: Using Java to Write an Event Handler 155
Writing a Java event handler class 155
Writing a Java event handler 161
Understanding the BIRT interfaces 166
Java event handler example 173
Debugging a Java event handler 180
Chapter 11: Working with Chart Event Handlers 183
Chart events overview 183
Understanding when chart events trigger 185
Writing a Java chart event handler 204
Writing a JavaScript chart event handler 208
Using the simplified charting API 211
Chapter 12: Accessing Data Programmatically 217
Using a Scripted Data Source 217
Tutorial 2: Creating and scripting a scripted data source 219
Creating a web services data source using a custom connection class 228
Part IV: Integrating BIRT Functionality into Applications 233
Chapter 13: Understanding the BIRT APIs 235
Package hierarchy diagrams 236
About the BIRT Report Engine API 237
About the Design Engine API 244
About the BIRT Chart Engine API .257
Chapter 14: Programming using the BIRT Reporting APIs 275
Building a reporting application 276
Generating reports from an application 279
Programming with a report design 302
Chapter 15: Programming using the BIRT Charting API 321
About the chart engine contents 321
About the environment for charting application 322
Using the charting API to modify an existing chart 324
Using the charting APIs to create a new chart 330
Using a chart item in a report design 336
Using the BIRT charting API in a Java Swing application 345
Understanding the chart programming examples 351
Part V: Working with the Extension Framework 359
Chapter 16: Building the BIRT Project 361
About building the BIRT project 361
Installing a working version of BIRT 362
Configuring the Eclipse workspace to compile BIRT 362
Downloading and extracting the correct version of the BIRT source code 364
Importing, building, and testing the BIRT project 364
Building new JAR files to display BIRT output 367
Chapter 17: Extending BIRT 369
Overview of the extension framework 369
Understanding the structure of a BIRT plug-in 370
Working with the Eclipse PDE 377
Creating the structure of a plug-in extension 381
Creating the plug-in extension content 385
Building a plug-in extension 390
Deploying the extension plug-in 393
Downloading the code for the extension examples 398
Chapter 18: Developing a Report Item Extension 399
Understanding a report item extension 399
Developing the sample report item extension 401
Understanding the rotated label report item extension 418
Deploying and testing the rotated label report item plug-in 428
Chapter 19: Developing a Report Rendering Extension 433
Understanding a report rendering extension 433
Developing a CSV report rendering extension 434
Developing an XML report rendering extension 462
Chapter 20: Developing an ODA Extension 477
Understanding an ODA extension 478
Developing the CSV ODA driver extensions 479
Implementing the CSV ODA driver plug-in 481
Understanding the sample CSV ODA driver extension 491
Developing the CSV ODA UI extension 500
Understanding the sample CSV ODA UI extension 509
Testing the CSV ODA UI plug-in 519
Developing a Hibernate ODA extension 524
Chapter 21: Developing a Fragment 571
Understanding a fragment 571
Developing the sample fragment 572
Creating a fragment project 573
Understanding the sample fragment 576
Building, deploying, and testing a fragment 577
Glossary 583
Index 645