rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780321443854

Integrating and Extending BIRT

by ; ; ; ;
  • ISBN13:

    9780321443854

  • ISBN10:

    0321443853

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2006-11-16
  • Publisher: Addison-Wesley Professional
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99

Summary

Written for Java programmers, this is an in-depth introduction to the Eclipse platform's new open source reporting tool.

Author Biography

The authors are members of the extended BIRT development team and have backgrounds in both computer science and technical writing. Collectively, they have 165 years of technical consulting, training, writing and publishing experience related to reporting, business intelligence tools, and database technologies. They have published forty-two titles on these topics through numerous editions.

The authors are members of the extended BIRT development team and have backgrounds in both computer science and technical writing. Collectively, they have 165 years of technical consulting, training, writing and publishing experience related to reporting, business intelligence tools, and database technologies. They have published forty-two titles on these topics through numerous editions.

The authors are members of the extended BIRT development team and have backgrounds in both computer science and technical writing. Collectively, they have 165 years of technical consulting, training, writing and publishing experience related to reporting, business intelligence tools, and database technologies. They have published forty-two titles on these topics through numerous editions.

The authors are members of the extended BIRT development team and have backgrounds in both computer science and technical writing. Collectively, they have 165 years of technical consulting, training, writing and publishing experience related to reporting, business intelligence tools, and database technologies. They have published forty-two titles on these topics through numerous editions.

The authors are members of the extended BIRT development team and have backgrounds in both computer science and technical writing. Collectively, they have 165 years of technical consulting, training, writing and publishing experience related to reporting, business intelligence tools, and database technologies. They have published forty-two titles on these topics through numerous editions.



Table of Contents

Foreword xvii
Preface xix
About this book xix
Who should read this book xx
Contents of this book xxi
Typographical conventions xxiv
Syntax conventions xxv
Acknowledgments xxvii
Part I Installing and Deploying BIRT
1(44)
Prerequisites for BIRT
3(10)
Requirements for the BIRT report designers
3(4)
About installing required software
5(1)
BIRT RCP Report Designer software requirements
5(1)
BIRT Report Designer Full Eclipse Install software requirements
5(1)
BIRT Report Designer software requirements
6(1)
Prerequisites for other BIRT packages
7(3)
BIRT Chart Engine software requirements
7(1)
BIRT Demo Database software requirements
8(1)
BIRT Report Engine software requirements
9(1)
BIRT Samples software requirements
9(1)
BIRT Test Suite software requirements
9(1)
About types of BIRT builds
10(3)
Installing a BIRT Report Designer
13(10)
Installing BIRT Report Designer
14(1)
Downloading and installing BIRT Report Designer
14(1)
Installing the auxiliary file for BIRT Report Designer
14(1)
Testing the BIRT Report Designer installation
15(1)
Installing BIRT Report Designer Full Eclipse Install
15(1)
Downloading and installing BIRT Report Designer Full Eclipse Install
15(1)
Installing the auxiliary file for BIRT Report Designer
16(1)
Installing BIRT RCP Report Designer
16(2)
Downloading and installing BIRT RCP Report Designer
17(1)
Installing the auxiliary file for BIRT Report Designer
17(1)
Testing the BIRT RCP Report Designer installation
18(1)
Troubleshooting installation problems
18(1)
Avoiding cache conflicts after you install a BIRT Report designer
18(1)
Specifying which Java Virtual Machine to use when you start a BIRT report designer
19(1)
Installing a language pack
19(4)
Installing Other BIRT Packages
23(8)
Installing BIRT Chart Engine
23(2)
Installing BIRT Chart Engine from the Eclipse BIRT web site
24(1)
Avoiding cache conflicts after installing
24(1)
Installing BIRT Demo Database
25(1)
Installing BIRT Demo Database from the Eclipse BIRT web site
25(1)
Testing the BIRT Demo Database installation
25(1)
Installing BIRT Report Engine
26(2)
Installing BIRT Report Engine from the Eclipse BIRT web site
27(1)
Testing the BIRT Report Engine installation
27(1)
Installing BIRT Samples
28(1)
Installing BIRT Test Suite
29(2)
Updating a BIRT Installation
31(2)
Using the Eclipse Update Manager to update BIRT Report Designer installation
31(1)
Updating BIRT RCP Report Designer installation
32(1)
Deploying a BIRT Report to an Application Server
33(12)
About application servers
33(1)
About deploying to Tomcat
33(1)
About deploying to other application servers
34(1)
Placing the BIRT report viewer on an application server
34(6)
Installing the BIRT report viewer files
34(1)
Installing the auxiliary file
35(1)
Installing your JDBC drivers
35(1)
Testing the BIRT report viewer installation
35(1)
Using a different context root for the BIRT report viewer
36(1)
Placing the viewer in a different location
36(1)
Mapping the folders that the BIRT report viewer uses
36(3)
Verifying that Apache Tomcat is running BIRT report viewer
39(1)
Placing fonts on the application server
40(1)
Viewing a report using a browser
40(5)
Understanding the run and frameset servlets
41(1)
Using the URL parameters for the run and frameset servlets
41(1)
report parameter
42(1)
document parameter
42(1)
format parameter
43(1)
locale parameter
43(1)
isnull parameter
43(1)
svg parameter
43(1)
Report parameters
44(1)
Part II Understanding the BIRT Framework
45(26)
Understanding the BIRT Architecture
47(12)
Understanding the BIRT integration
47(4)
About the BIRT applications
51(1)
About BIRT Report Designer and BIRT RCP Report Designer
51(1)
About the BIRT report viewer
51(1)
About the BIRT engines
52(1)
About the report design engine
52(1)
About the report engine
52(1)
About the generation engine
52(1)
About the presentation engine
52(1)
About the chart engine
53(1)
About the data engine
53(1)
About data engine components
53(1)
About the ODA framework
53(1)
About the types of BIRT report items
53(1)
About standard report items
54(1)
About custom report items
54(1)
About chart report items
54(1)
About the ROM
54(1)
About the types of BIRT files
54(2)
About report design files
55(1)
About report document files
55(1)
About report library files
55(1)
About report template files
55(1)
About custom Java applications
56(1)
About custom report designers
56(1)
About custom Java report generators
56(1)
About extensions to BIRT
57(2)
Understanding the Report Object Model
59(12)
About the ROM specification
59(3)
ROM properties
60(1)
ROM slots
61(1)
ROM methods
61(1)
ROM styles
62(1)
About the ROM schema
62(1)
About the rom.def file
63(3)
About the primary ROM elements
66(1)
About the report item elements
67(1)
About the report items
67(1)
Understanding the report item element properties
67(1)
About the data elements
68(3)
Part III Scripting in a Report Design
71(72)
Using Scripting in a Report Design
73(18)
Overview of BIRT scripting
73(1)
Choosing between Java and JavaScript
73(1)
Using both Java and JavaScript to write event handlers
74(1)
Understanding the event handler execution sequence
74(7)
About event firing sequence dependency
74(1)
About the onCreate and onRender firing sequence dependencies
75(1)
About the ReportDesign firing sequence dependencies
75(1)
About the pageBreak event
75(1)
Analysis of the execution sequence phases
75(1)
Overview of the report execution process
76(1)
Preparation phase
76(1)
Report body processing phase
76(2)
Clean-up processing phase
78(1)
Row execution sequence
78(1)
Table and list method execution sequence
78(3)
About a report item event handler
81(1)
About data source and data set event handlers
82(1)
ODA data source events
82(1)
Scripted data source events
82(1)
ODA data set events
82(1)
Scripted data set events
82(1)
About ReportDesign event handlers
82(1)
Writing event handlers for charts
83(6)
Chart events
83(2)
Chart script context
85(1)
Chart instance object
86(1)
Chart instance getter methods
86(1)
Chart instance setter methods
87(1)
Writing a Java chart event handler
87(1)
Writing a JavaScript chart event handler
87(2)
Getting a dynamic image from a Microsoft Access database
89(2)
Using JavaScript to Write an Event Handler
91(20)
Using BIRT Report Designer to enter a JavaScript event handler
91(3)
Creating and using a global variable
92(1)
Understanding execution phases and processes
93(1)
Using the reportContext object
94(1)
Passing a variable between processes
95(1)
Getting information from an HTTP request object
95(1)
Using the this object
95(4)
Using the this object's methods
95(1)
Using the this object to set the property of a report item
96(3)
Using the row object
99(1)
Getting column information
99(1)
Getting and altering the query string
100(1)
Getting a parameter value
101(1)
Changing the connection properties of a data source
101(1)
Determining method execution sequence
102(2)
Providing the ReportDesign.initialize code
102(1)
Providing the code for the methods you want to track
103(1)
Providing the ReportDesign.afterFactory code
103(1)
Tutorial 1: Writing an event handler in JavaScript
104(4)
Task 1: Open the report design
104(1)
Task 2: Create and initialize a counter in the Table.onCreate() method
104(2)
Task 3: Conditionally increment the counter in the Row.onCreate() method
106(1)
Task 4: Display the result, using the ReportDesign.afterFactory() method
107(1)
Calling Java from JavaScript
108(3)
Understanding the Packages object
108(1)
Understanding the importPackage method
109(1)
Using a Java class
109(1)
Placing your Java classes where BIRT can find them
110(1)
Issues with using Java in JavaScript code
110(1)
Using Java to Write an Event Handler
111(20)
Writing a Java event handler class
111(5)
Locating the JAR files that an event handler requires
112(1)
Extending an adapter class
112(4)
Making the Java class visible to BIRT
116(1)
Associating the Java event handler class with a report element
116(1)
BIRT Java interface and class naming conventions
117(1)
Writing a Java event handler
118(5)
Using event handler adapter classes
118(1)
Using event handler interfaces
118(1)
About the Java event handlers for report items
119(1)
Using Java event handlers for the DataSource element
120(1)
Using Java event handlers for the DataSet element
120(1)
Using Java event handlers for the ScriptedDataSource element
121(1)
Using Java event handlers for the ScriptedDataSet element
122(1)
Using Java event handlers for the ReportDesign
122(1)
Understanding the BIRT interfaces
123(5)
About the element design interfaces
124(1)
About the methods for each report element
124(1)
About the IReportElement interface
124(1)
About the element instance interfaces
125(1)
Using the IReportContext interface
126(2)
Using the IColumnMetaData interface
128(1)
Using the IDataSetInstance interface
128(1)
Using the IDataSetRow interface
129(1)
Using the IRowData interface
129(2)
Using a Scripted Data Source
131(12)
Creating a scripted data source and scripted data set
131(2)
Tutorial 2: Creating and scripting a scripted data source
133(6)
Task 1: Create a new report
133(1)
Task 2: Create a scripted data source
133(1)
Task 3: Create a scripted data set
134(1)
Task 4: Supply code for the open() and close() methods of the data source
135(1)
Task 5: Supply code for the open() method of the data set
135(1)
Task 6: Define output columns
135(2)
Task 7: Place the columns on the report layout
137(1)
Task 8: Supply code for the data set fetch() method
138(1)
Using a Java object to access a data source
139(2)
Performing initialization in the data set open() method
139(1)
Getting a new row of data in the data set fetch() method
140(1)
Cleaning up in the data set close() method
140(1)
Deciding where to locate your Java class
140(1)
Deploying your Java class
141(1)
Using input and output parameters with a scripted data set
141(2)
Part IV Integrating BIRT Functionality into Applications
143(108)
Understanding the BIRT APIs
145(36)
Package hierarchy diagrams
146(1)
About the BIRT Report Engine API
147(6)
Creating the BIRT Report Engine
148(1)
Using the BIRT Report Engine API
148(1)
EngineConfig class
148(1)
ReportEngine class
148(1)
IReportRunnable interface
149(1)
IReportDocument interface
149(1)
IEngineTask interface
149(1)
IGetParameterDefinitionTask interface
149(1)
IDataExtractionTask interface
150(1)
IRunTask interface
150(1)
IRenderTask interface
150(1)
IRunAndRenderTask interface
150(1)
Report engine class hierarchy
151(1)
Report engine interface hierarchy
152(1)
About the design engine API
153(4)
Using the BIRT design engine API
154(1)
DesignEngine class
154(1)
SessionHandle class
154(1)
ModuleHandle class
155(1)
ReportDesignHandle class
155(1)
LibraryHandle class
156(1)
DesignElementHandle class
156(1)
Individual element handle classes
156(1)
Design engine class hierarchy
157(6)
ReportElementHandle hierarchy
159(1)
ReportItemHandle hierarchy
160(1)
ElementDetailHandle hierarchy
161(1)
StructureHandle hierarchy
162(1)
About the BIRT Chart Engine API
163(18)
Using the BIRT Chart Engine API
164(1)
Chart engine class hierarchy
164(1)
chart.aggregate hierarchy
165(1)
chart.datafeed hierarchy
165(1)
chart.device class hierarchy
166(1)
chart.device interface hierarchy
166(1)
chart.event class hierarchy
166(2)
chart.exception class hierarchy
168(1)
chart.factory class hierarchy
168(1)
chart.log class hierarchy
169(1)
chart.model class hierarchy
169(1)
chart.model.attribute interface hierarchy
170(2)
chart.model.attribute class hierarchy
172(1)
chart.model.component interface hierarchy
173(1)
chart.model.data interface hierarchy
174(2)
chart.model.layout interface hierarchy
176(1)
chart.model.type interface hierarchy
176(1)
chart.render hierarchy
177(1)
chart.script hierarchy
178(1)
chart.util class hierarchy
179(2)
Programming with the BIRT Reporting APIs
181(38)
Building a reporting application
182(3)
About the environment for a reporting application
183(1)
About plug-ins used by the report engine
183(1)
About libraries used by the report engine
184(1)
About required JDBC drivers
185(1)
Modifying a report design with the API
185(1)
Generating reports from an application
185(19)
Setting up the report engine
186(1)
Configuring the engine home
186(1)
Configuring the report engine
187(1)
Setting up a stand-alone or WAR file environment
188(2)
Using the logging environment to debug an application
190(1)
Opening a source for report generation
190(1)
Understanding an IReportRunnable object
191(1)
Understanding an IReportDocument object
191(1)
Accessing a report parameter programmatically
192(7)
Preparing to generate the report
199(1)
Setting the parameter values for running a report design
200(1)
Setting up the rendering options
200(1)
Setting up the rendering context
200(2)
Providing an external connection to run a report design
202(1)
Generating the formatted output programmatically
203(1)
Accessing the formatted report
203(1)
About programming with a report design
204(15)
About BIRT model API capabilities
205(1)
Opening a report design programmatically for editing
206(1)
Configuring the design engine to access a design handle
206(1)
Using an IReportRunnable object to access a design handle
206(1)
Using a report item in a report design
207(1)
Accessing a report item by name
207(1)
Accessing a report item by iterating through a slot
207(1)
Examining a report item programmatically
208(1)
Accessing the properties of a report item
208(2)
Modifying a report item in a report design programmatically
210(1)
Accessing and setting complex properties
211(2)
Adding a report item to a report design programmatically
213(1)
Accessing a data source and data set with the API
214(1)
About data source classes
214(1)
About data set classes
215(1)
Using a data set programmatically
215(2)
Saving a report design programmatically
217(1)
Creating a report design programmatically
217(2)
Programming with the BIRT Charting APIs
219(32)
About the environment for building a charting application
220(1)
Verifying the development environment for charting applications
221(1)
Using the charting API to modify an existing chart
222(3)
Getting a Chart object from the report design
222(1)
Modifying chart properties
222(1)
Modifying axes properties
223(1)
Modifying plot properties
223(1)
Modifying the legend properties
223(1)
Modifying the series properties
224(1)
Adding a series to a chart
224(1)
Adding a chart event handler to a charting application
224(1)
Adding a Java chart event handler to a charting application
224(1)
Adding a JavaScript chart event handler to a charting application
225(1)
Using the charting APIs to create a new chart
225(14)
Creating the chart instance object
226(1)
Setting the properties of the chart instance object
227(1)
Setting the chart color and bounds
227(1)
Setting plot properties
227(1)
Setting legend properties
227(1)
Setting legend line properties
227(1)
Setting axes properties
228(1)
Creating a category series
228(1)
Creating a y-series
228(1)
Defining the y-series queries
229(1)
Setting the y-series properties
229(1)
Setting the properties of the x- and y-series
230(1)
Adding a series definition to the Axis object
230(1)
Adding series, queries, and categories to the series definitions
230(1)
Creating sample data
231(1)
Getting an element factory object
231(1)
Getting an extended item handle object
231(1)
Setting the chart.instance property on the report item
231(1)
Getting a data set from the report design
232(1)
Binding the chart to the data set
232(1)
Adding the new chart to the report design
232(1)
Saving the report design after adding the chart
232(1)
Putting it all together
233(6)
Using the BIRT charting API in a Java Swing application
239(7)
Understanding the chart programming examples
246(5)
DataCharts
246(1)
GroupOnXSeries
246(1)
GroupOnYAxis
246(1)
AutoDataBinding
247(1)
FormatCharts
247(1)
InteractivityCharts
247(1)
PDFChartGenerator
247(1)
StyleProcessor
248(1)
ScriptViewer
248(1)
Viewer
248(1)
ChartWizardLauncher
249(1)
Report
250(1)
Preference
250(1)
Part V Working with the Extension Framework
251(214)
Building the BIRT Project
253(14)
About building the BIRT project
253(3)
Assuring that you have the correct software on your system
254(1)
Configuring the Eclipse workspace to compile BIRT
254(2)
Creating Eclipse projects
256(6)
Specifying the repository locations
257(2)
Checking out the BIRT source
259(2)
Adding the extra JAR file
261(1)
Building the web viewer
262(5)
Extending BIRT
267(32)
Overview of the extension framework
267(1)
Understanding the structure of a BIRT plug-in
268(7)
Understanding an extension point schema definition file
268(3)
Understanding a plug-in manifest file
271(1)
Understanding a plug-in run-time class
272(3)
Working with the Eclipse PDE
275(4)
Understanding plug-in project properties
277(1)
Understanding the Eclipse PDE Workbench
277(2)
Creating the structure of a plug-in extension
279(4)
Creating the plug-in extension content
283(4)
Building a plug-in extension
287(4)
Generating an Ant build script
290(1)
Testing a plug-in extension
291(1)
Deploying the extension plug-in
291(6)
Installing feature updates and managing the Eclipse configuration
293(1)
Creating an update site project
294(3)
Downloading the code for the extension examples
297(2)
Developing a Report Item Extension
299(30)
Understanding a report item extension
299(2)
Developing the sample report item extension
301(15)
Downloading BIRT source code from the CVS repository
302(1)
Creating a rotated label report item plug-in project
302(3)
Defining the dependencies for the rotated label report item extension
305(2)
Specifying the run-time package for the rotated label report item extension
307(1)
Declaring the report item extension points
307(5)
Creating the plug-in extension content
312(4)
Understanding the rotated label report item extension
316(8)
Understanding RotatedLabelItemFactoryImpl
318(1)
Understanding RotatedLabelUI
319(1)
Understanding RotatedLabelPresentationImpl
319(1)
Understanding RotatedLabelReportItemImpl
320(1)
Understanding RotatedLabelPropertyEditUIImpl
320(1)
Understanding GraphicsUtil
321(3)
Deploying and testing the rotated label report item plug-in
324(5)
Deploying a report item extension
324(1)
Launching the rotated label report item plug-in
324(5)
Developing a Report Rendering Extension
329(36)
Understanding a report rendering extension
329(1)
Developing the CSV report rendering extension
330(20)
Downloading BIRT source code from the CVS repository
330(1)
Creating a CSV report rendering plug-in project
331(3)
Defining the dependencies for the CSV report rendering extension
334(1)
Declaring the emitters extension point
335(2)
Understanding the sample CSV report rendering extension
337(1)
Implementing the emitter interfaces
337(2)
Implementing the content interfaces
339(2)
Understanding the CSV report rendering extension package
341(1)
Understanding CSVReportEmitter
341(7)
Understanding CSVTags
348(1)
Understanding CSVWriter
348(1)
Understanding the BIRT report engine API package
348(1)
Understanding RenderOptionBase
349(1)
Understanding CSVRenderOption
349(1)
Understanding EngineConstants
349(1)
Testing the CSV report rendering plug-in
350(15)
Launching the CSV report rendering plug-in
353(4)
About ExecuteReport class
357(2)
About the report design XML code
359(6)
Developing an ODA Extension
365(100)
Understanding an ODA extension
366(1)
Developing the CSV ODA driver extensions
366(2)
About the CSV ODA plug-ins
367(1)
Downloading BIRT source code from the CVS repository
367(1)
Implementing the CSV ODA driver plug-in
368(11)
Defining the dependencies for the CSV ODA driver extension
370(1)
Specifying the run-time settings for the CSV ODA driver extension
370(1)
Declaring the ODA data source extension point
371(8)
Understanding the sample CSV ODA driver extension
379(11)
Implementing the DTP ODA interfaces
379(2)
Understanding the CSV ODA extension package
381(1)
Understanding CSVFileDriver
382(1)
Understanding CSVFileQuery
382(3)
Understanding ResultSet
385(2)
Understanding ResultSetMetaData
387(1)
Understanding DataSetMetaData
388(1)
Understanding Messages
388(1)
Understanding DataTypes
388(1)
Understanding CommonConstant
389(1)
Developing the CSV ODA UI extension
390(13)
Creating the CSV ODA UI plug-in project
390(2)
Defining the dependencies for the CSV ODA UI extension
392(1)
Specifying the run-time settings for the CSV ODA UI extension
393(1)
Declaring the ODA data source UI extension point
393(10)
Understanding the sample CSV ODA UI extension
403(11)
Implementing the ODA data source and data set wizards
404(1)
Understanding the org.eclipse.birt.report.data.oda.csv.ui.wizards package
405(1)
Understanding Constants
405(1)
Understanding CSVFilePropertyPage
406(1)
Understanding CSVFileSelectionPageHelper
406(2)
Understanding CSVFileSelectionWizardPage
408(1)
Understanding FileSelectionWizardPage
409(5)
Testing the CSV ODA UI plug-in
414(5)
Developing a Hibernate ODA extension
419(46)
Creating the Hibernate ODA driver plug-in project
420(6)
Understanding the sample Hibernate ODA driver extension
426(2)
Understanding HibernateDriver
428(1)
Understanding Connection
428(2)
Understanding DataSetMetaData
430(1)
Understanding Statement
431(4)
Understanding ResultSet
435(1)
Understanding HibernateUtil
436(3)
Building the Hibernate ODA driver plug-in
439(2)
Developing the Hibernate ODA UI extension
441(7)
Understanding the sample Hibernate ODA UI extension
448(1)
Understanding HibernatePageHelper
449(3)
Understanding HibernateDataSourceWizard
452(1)
Understanding HibernatePropertyPage
452(1)
Understanding HibernateHqlSelectionPage
452(6)
Building the Hibernate ODA UI plug-in
458(2)
Testing the Hibernate ODA UI plug-in
460(5)
Glossary 465(60)
Index 525

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

About this book BIRT is a powerful reporting platform that provides end-to-end reporting solutions, from creating and deploying reports to integrating report capabilities into other enterprise applications. Two companion books, BIRT: A Field Guide to Reporting and Integrating and Extending BIRT, cover the breadth and depth of BIRT's functionality. This book informs report developers about how to write scripts that Customize the report-generation process Incorporate complex business logic in their reports This book also informs application developers about how to Deploy reports Integrate reporting capabilities into other applications Extend BIRT functionality By its very nature, reporting is not a stand-alone technology. It draws on data generated by applications and is frequently integrated tightly within those applications. In some applications, such as performance monitoring, reporting provides the most tangible expression of value. Therefore, a successful reporting platform must emphasize interoperability and extensibility, and, a successful implementation of that platform must always involve some measure of integration and extension. As you read this book, you will see the significant investment that has been made in BIRT to provide support for interoperability and extensibility. In the area of interoperability, for instance, BIRT supports flexible deployment of its report engine and viewer to a wide variety of J2EE application server environments. Other provisions for interoperability in the BIRT platform include the ability to dynamically build or modify reports from within an application using the design engine application programming interface (API) and the ability to access native data objects using the scripted data source mechanism. In the area of extensibility, BIRT provides hooks to build upon platform capabilities in the following areas: Report Items. New controls may be added to the BIRT designer palette using the report item extension API. Complex Logic. Event handlers written in JavaScript or Java may be included in the generation or presentation phase of report or chart execution to incorporate custom logic required by the application. Data Access. The Open Data Access (ODA) extension provides the means to develop drivers for new, non-JDBC data sources as well as create graphical user interfaces for query specification. Rendering. New report output formats or output for specialized devices can be developed using the report rendering extension API. Who should read this book This book is intended for people who have a programming background. These readers can be categorized as Embedders and integrators. These individuals work with the software to integrate it into their current application infrastructure. Extenders. These individuals leverage APIs and other extension points to add capability or to establish new interoperability between currently disparate components or services. To write scripts in report design, you need knowledge of JavaScript or Java. More advanced tasks, such as extending BIRT's functionality, require Java development experience and familiarity with the Eclipse platform. Contents of this book This book is divided into several parts. The following sections describe the contents of each of the parts. Installing and Deploying BIRT Part I, "Installing and Deploying BIRT," introduces the currently available BIRT reporting packages, the prerequisites for installation, and the steps to install and update the packages. Part I includes the following chapters: Chapter 1, "Prerequisites for BIRT." BIRT provides a number of separate packages as downloadable archive (.zip) files on the Eclipse web site. Some of

Rewards Program