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.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
<>The world-wide developer community has downloaded over ten million copies of BIRT (Business Intelligence and Reporting Tools). 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.
Integrating and Extending BIRT, Third Edition, introduces programmers to BIRT architecture and the reporting framework. BIRT technology makes it possible for programmers to build customized reports using scripting and BIRT APIs. This book also includes extensive examples of how to use the Eclipse Plug-in Development Environment to build plug-ins to extend the features of the BIRT framework. The source code for these examples is available for download at www.eclipse.org/birt.
Key topics covered include
This revised and expanded third edition features the following new content
Readers may also be interested in this book’s companion volume. BIRT: A Field Guide, Third Edition, is the authoritative guide to using BIRT Report Designer, the graphical tool that enables users of all levels to build reports, from simple to complex, without programming.
Foreword xix
Preface xxi
Acknowledgments xxix
Part 1: Installing and Deploying BIRT 1
Chapter 1: Introducing BIRT Report Designers 3
Understanding BIRT components 3
Understanding Eclipse BIRT packages 4
About types of BIRT builds 5
Chapter 2: Installing a BIRT Report Designer 7
Installing BIRT Report Designer Full Eclipse Install 7
Installing BIRT RCP Report Designer 8
Troubleshooting installation problems 9
Installing a language pack 10
Updating a BIRT Report Designer installation 11
Updating BIRT RCP Report Designer installation 12
Chapter 3: Installing Other BIRT Packages 15
Installing Chart Engine 15
Installing BIRT Data Tools Platform Integration 17
Installing BIRT Demo Database 17
Installing Report Engine 19
Installing BIRT Samples 21
Installing BIRT Source Code 21
Installing BIRT Web Tools Integration 22
Chapter 4: Deploying a BIRT Report to an Application Server 25
About application servers 25
Placing the BIRT report viewer on an application server 26
Placing fonts on the application server 31
Viewing a report using a browser 31
Using connection pooling on Tomcat 32
Part 2: Understanding the BIRT Framework 37
Chapter 5: Understanding the BIRT Architecture 39
Understanding the BIRT integration 39
About the BIRT applications 43
About the types of BIRT report items 46
About the Report Object Model (ROM) 47
About the types of BIRT files 47
About custom Java applications 49
About extensions to BIRT 50
Chapter 6: Understanding the Report Object Model 51
About the ROM specification 51
About the ROM schema 53
About the rom.def file 53
Understanding ROM elements 58
Part 3: Scripting in a Report Design 61
Chapter 7: Using Scripting in a Report Design 63
Overview of BIRT scripting 63
Events overview 64
Event order sequence 71
Chapter 8: Using JavaScript to Write an Event Handler 83
Using BIRT Report Designer to enter a JavaScript event handler 83
Using the reportContext object 86
Using the this object 93
Using the row object 96
Getting column information 97
Getting and altering the query string 98
Changing data source connection properties 99
Getting a parameter value 100
Determining script execution sequence 101
Tutorial 1: Writing an event handler in JavaScript 103
JavaScript event handler examples 107
Calling external JavaScript functions 111
Calling Java from JavaScript 112
Calling the method of a class in a plug-in 114
Chapter 9: Using Java to Write an Event Handler 117
Writing a Java event handler class 117
Writing a Java event handler 123
Understanding the BIRT interfaces 128
Java event handler example 135
Debugging a Java event handler 142
Chapter 10: Working with Chart Event Handlers 143
Chart events overview 143
Understanding the Chart script context 145
Understanding when chart events fire 150
Writing a Java chart event handler 164
Writing a JavaScript chart event handler 167
Using the simplified charting API 169
Chapter 11: Using Scripting to Access Data 173
Using a Scripted Data Source 173
Tutorial 2: Creating a scripted data source 175
Creating a web services data source using a custom connection class 184
Chapter 12: Debugging Event Handlers 187
Checking the syntax of JavaScript expressions 188
Debugging JavaScript event handlers code 190
Debugging Java event handler code 194
Debugging report execution exceptions 194
Creating a debug configuration 196
Tutorial 3: Debugging a report that contains Java and JavaScript code 198
Part 4: Integrating BIRT into Applications 215
Chapter 13: Understanding the BIRT APIs 217
Package hierarchy diagrams 218
About the BIRT Report Engine API 219
About the Design Engine API 226
About the BIRT Chart Engine API 239
Chapter 14: Programming Using the BIRT Reporting APIs 257
Building a reporting application 258
Generating reports from an application 262
Programming the structure of a report design 289
Chapter 15: Programming Using the BIRT Charting API 307
About the chart engine contents 307
About the environment for a charting application 308
About the charting API and the chart structure 310
Using the charting API to create a new chart 312
Modifying chart properties 312
Using a chart item in a report design 321
Using the BIRT charting API in a Java Swing application 334
Understanding the chart programming examples 340
Part 5: Working with the Extension Framework 347
Chapter 16: Building the BIRT Project 349
About building the BIRT project 349
Installing a working version of BIRT 350
Configuring Eclipse to compile BIRT and build the viewer JAR files 350
Downloading and extracting the correct version of the BIRT source code 353
Importing, building, and testing the BIRT project 354
Building new JAR files to display BIRT output 356
Chapter 17: Extending BIRT 359
Overview of the extension framework 359
Understanding the structure of a BIRT plug-in 359
Working with the Eclipse PDE 366
Creating the structure of a plug-in extension 370
Creating the plug-in extension content 373
Building a plug-in extension 377
Deploying the extension plug-in 381
Downloading the code for the extension examples 384
Chapter 18: Developing a Report Item Extension 387
Understanding a report item extension 387
Developing the sample report item extension 389
Understanding the rotated label report item extension 404
Deploying and testing the rotated label report item plug-in 412
Developing an advanced report item 416
Chapter 19: Developing a Report Rendering Extension 465
Understanding a report rendering extension 465
Developing a CSV report rendering extension 466
Developing an XML report rendering extension 494
Chapter 20: Developing an ODA Extension 509
Understanding an ODA extension 510
Developing the CSV ODA driver extensions 511
Implementing the CSV ODA driver plug-in 513
Understanding the sample CSV ODA driver extension 522
Developing the CSV ODA user interface extension 530
Understanding the sample CSV ODA user interface extension 537
Testing the CSV ODA user interface plug-in 548
Developing a Hibernate ODA extension 554
Chapter 21: Developing a Data Extraction Extension 601
Understanding a data extraction extension 601
Developing an XML data extraction extension 602
Chapter 22: Developing a Fragment 635
Understanding a fragment 635
Developing the sample fragment 636
Creating a fragment project 637
Understanding the sample fragment 640
Building, deploying, and testing a fragment 641
Chapter 23: Developing a Charting Extension 647
About BIRT charting extension points 648
Setting up the build environment 650
Extending the chart model 652
Glossary 707
Index 779