SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Integrating JasperReports with
                    WebObjects
                     Kieran Kelleher               WOWODC 2010 Montreal
                     Green Island Consulting LLC
                     SmartleadsUSA LLC
                     SmartMix Technologies LLC




Friday, September 3, 2010
Objectives
                            •   Overview of JasperReports

                            •   High Level Overview of Report Generation

                            •   JasperReports Architecture & Dependencies

                            •   WebObjects Integration

                            •   Developing a Report

                            •   Running a Report



Friday, September 3, 2010
What is                                            ?
                            •   http://jasperforge.org/projects/jasperreports

                                •   “world's most popular open source reporting engine.”

                                •   “entirely written in Java”

                                •   “use data coming from any kind of data source”

                                •   “produce pixel-perfect documents that can be viewed, printed
                                    or exported in a variety of document formats including
                                    HTML, PDF, Excel, OpenOffice and Word.”


Friday, September 3, 2010
Feature Highlights
                            •   Pixel-perfect page-oriented or continuous output for web or print

                            •   Traditional tabulated data, multi-level grouping and data aggregating by group

                            •   Dashboards, tables, crosstabs, charts and gauges

                            •   Report output in PDF, XML, HTML, CSV, XLS, RTF, TXT

                            •   Integrated barcode support

                            •   No limit to report size

                            •   Conditional printing

                            •   Sub-reports handle highly complex layouts

                            •   Multiple data sources of multiple kinds in one report

                            •   Internationalized and Localizable

                            •   etc., etc.


Friday, September 3, 2010
Flexible Data Sources
                            •   JRDataSource interface
                                •   Database JDBC connection
                                •   File CSV data source
                                •   XML file data source
                                •   etc., etc., etc.
                            •   Custom JRDataSource
                                •   KeyValueCoding objects

Friday, September 3, 2010
Overview of Report Generation

    Development                                                               Runtime

                                             JRDataSource




                                                      JasperReports Engine   Report




                                      Report Properties HashMap

Friday, September 3, 2010
JasperReports Architecture Dependencies




                                            JasperReports



                iText          JFreeChart   Apache POI      Apache Commons     ... and more...



           Jaxen-1.1.1           jpa.jar      jxl-2.6.jar    png-encoder-1.5   barcode4j-2.0




Friday, September 3, 2010
ERJasperReports


                                                   ERJasperReports



                                                  JasperReports 3.7.4


                                                                        Apache Commons
           iText 2.1.7      JFreeChart 1.0.12      Apache POI 3.5                          ... and more...
                                                                            (various)


           Jaxen-1.1.1           jpa.jar               jxl-2.6.jar       png-encoder-1.5   barcode4j-2.0




Friday, September 3, 2010
What is in ERJasperReports
                    •       jar libs for JasperReports and its essential dependencies

                    •       Custom JRDataSource for array or enumeration of KVC objects.

                    •       java.util.concurrent.Callable task operating on a EOFetchSpec

                    •       Convenience utility method for calling JR.

                    •       Add the framework to your project. Has Wonder dependency

                    •       Not yet committed to Wonder         :-(

                            •   Should be within a week   :-)


Friday, September 3, 2010
Planned Improvements


                            •   Batching and EOEditingContext recycling for huge data-sets.

                            •   API for subreports

                            •   Planned before end of the year




Friday, September 3, 2010
“Quick” Test-Drive



                            •   DEMO




Friday, September 3, 2010
ERJasperReports Usage - Typical Logic

                        Pre-Requisites              Create the
                                                EOFetchSpecification
                                                                               Create
     1. report.jasper file in                                              LongResponse Page
        Resources
                                                Optionally create the
     2. ERJasperReports in                      Parameters HashMap
        the classpath                                                   Run Background Task


                                                      Create
                                                ERJasperReportTask

                                                                        Download the Report




Friday, September 3, 2010
Report Design Tool
                            •   iReport.app

                            •   http://sourceforge.net/projects/ireport/files/

                            •   iReport.dmg installer for OS X

                            •   IMPORTANT: iReport version must match JasperReports

                                •   JasperReports dist bundled inside iReport.app

                                •   Current version is 3.7.4



Friday, September 3, 2010
iReport.app
                            Report Designer



   Report
   Inspector                                  Elements Palette




                                              Property Sheet




                                                   Styles

   Problems
   Console




Friday, September 3, 2010
Demo


                            •   Designing a Report with iReport.app

                            •   Example WebObjects app using JasperReports




Friday, September 3, 2010
Beta Project Repository
                            •   http://montreal2010.googlecode.com/svn/trunk/

                            •   ERJasperReports

                                •   Wonder dependency

                                •   ERExtensionsIncubator (temporary)

                            •   ERJasperReportsExample

                                •   ERJasperReports and its dependencies

                                •   WKDemoReusable (temporary - to be merged into example)


Friday, September 3, 2010
Example Setup
              •       Wonder needs to be installed

              •       svn checkout from http://montreal2010.googlecode.com/svn/trunk/

                    •       ERJasperReports

                    •       ERExtensionsIncubator

                    •       ERJasperReportsExample

                    •       WKDemoReusable

              •       ERMoviesLogic database setup

                    •       ERJasperReportsExample/Documentation/README.txt


Friday, September 3, 2010
Documentation
                            •   Best available (IMHO), to get you started...

                                •   “jasper Reports 3.5 for Java Developers” - amazon.com

                            •   Also....

                                •   JasperForge.org (you probably need a free account)

                                •   intros, tutorials, forum, etc.

                                •   Down load source. See readme.txt, demo, dist/javadoc,



Friday, September 3, 2010
Resources

                            •   http://sourceforge.net/projects/jasperreports/files/jasperreports

                            •   http://sourceforge.net/projects/ireport/files/

                            •   http://jasperforge.org/

                            •   *Temporary Repository for Beta Project*

                                •   http://code.google.com/p/montreal2010/source/checkout



Friday, September 3, 2010
Q&A
                     Integrating JasperReports with WebObjects
                     WOWODC 2010




Friday, September 3, 2010

Contenu connexe

Plus de WO Community

D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
WO Community
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
WO Community
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
WO Community
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
WO Community
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
WO Community
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
WO Community
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
WO Community
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
WO Community
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
WO Community
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
WO Community
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRoller
WO Community
 

Plus de WO Community (20)

D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 
WOdka
WOdkaWOdka
WOdka
 
ERGroupware
ERGroupwareERGroupware
ERGroupware
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRoller
 
CMS / BLOG and SnoWOman
CMS / BLOG and SnoWOmanCMS / BLOG and SnoWOman
CMS / BLOG and SnoWOman
 
Using GIT
Using GITUsing GIT
Using GIT
 
Persistent Session Storage
Persistent Session StoragePersistent Session Storage
Persistent Session Storage
 
Back2 future
Back2 futureBack2 future
Back2 future
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Integrating JasperReports with WebObjects

  • 1. Integrating JasperReports with WebObjects Kieran Kelleher WOWODC 2010 Montreal Green Island Consulting LLC SmartleadsUSA LLC SmartMix Technologies LLC Friday, September 3, 2010
  • 2. Objectives • Overview of JasperReports • High Level Overview of Report Generation • JasperReports Architecture & Dependencies • WebObjects Integration • Developing a Report • Running a Report Friday, September 3, 2010
  • 3. What is ? • http://jasperforge.org/projects/jasperreports • “world's most popular open source reporting engine.” • “entirely written in Java” • “use data coming from any kind of data source” • “produce pixel-perfect documents that can be viewed, printed or exported in a variety of document formats including HTML, PDF, Excel, OpenOffice and Word.” Friday, September 3, 2010
  • 4. Feature Highlights • Pixel-perfect page-oriented or continuous output for web or print • Traditional tabulated data, multi-level grouping and data aggregating by group • Dashboards, tables, crosstabs, charts and gauges • Report output in PDF, XML, HTML, CSV, XLS, RTF, TXT • Integrated barcode support • No limit to report size • Conditional printing • Sub-reports handle highly complex layouts • Multiple data sources of multiple kinds in one report • Internationalized and Localizable • etc., etc. Friday, September 3, 2010
  • 5. Flexible Data Sources • JRDataSource interface • Database JDBC connection • File CSV data source • XML file data source • etc., etc., etc. • Custom JRDataSource • KeyValueCoding objects Friday, September 3, 2010
  • 6. Overview of Report Generation Development Runtime JRDataSource JasperReports Engine Report Report Properties HashMap Friday, September 3, 2010
  • 7. JasperReports Architecture Dependencies JasperReports iText JFreeChart Apache POI Apache Commons ... and more... Jaxen-1.1.1 jpa.jar jxl-2.6.jar png-encoder-1.5 barcode4j-2.0 Friday, September 3, 2010
  • 8. ERJasperReports ERJasperReports JasperReports 3.7.4 Apache Commons iText 2.1.7 JFreeChart 1.0.12 Apache POI 3.5 ... and more... (various) Jaxen-1.1.1 jpa.jar jxl-2.6.jar png-encoder-1.5 barcode4j-2.0 Friday, September 3, 2010
  • 9. What is in ERJasperReports • jar libs for JasperReports and its essential dependencies • Custom JRDataSource for array or enumeration of KVC objects. • java.util.concurrent.Callable task operating on a EOFetchSpec • Convenience utility method for calling JR. • Add the framework to your project. Has Wonder dependency • Not yet committed to Wonder :-( • Should be within a week :-) Friday, September 3, 2010
  • 10. Planned Improvements • Batching and EOEditingContext recycling for huge data-sets. • API for subreports • Planned before end of the year Friday, September 3, 2010
  • 11. “Quick” Test-Drive • DEMO Friday, September 3, 2010
  • 12. ERJasperReports Usage - Typical Logic Pre-Requisites Create the EOFetchSpecification Create 1. report.jasper file in LongResponse Page Resources Optionally create the 2. ERJasperReports in Parameters HashMap the classpath Run Background Task Create ERJasperReportTask Download the Report Friday, September 3, 2010
  • 13. Report Design Tool • iReport.app • http://sourceforge.net/projects/ireport/files/ • iReport.dmg installer for OS X • IMPORTANT: iReport version must match JasperReports • JasperReports dist bundled inside iReport.app • Current version is 3.7.4 Friday, September 3, 2010
  • 14. iReport.app Report Designer Report Inspector Elements Palette Property Sheet Styles Problems Console Friday, September 3, 2010
  • 15. Demo • Designing a Report with iReport.app • Example WebObjects app using JasperReports Friday, September 3, 2010
  • 16. Beta Project Repository • http://montreal2010.googlecode.com/svn/trunk/ • ERJasperReports • Wonder dependency • ERExtensionsIncubator (temporary) • ERJasperReportsExample • ERJasperReports and its dependencies • WKDemoReusable (temporary - to be merged into example) Friday, September 3, 2010
  • 17. Example Setup • Wonder needs to be installed • svn checkout from http://montreal2010.googlecode.com/svn/trunk/ • ERJasperReports • ERExtensionsIncubator • ERJasperReportsExample • WKDemoReusable • ERMoviesLogic database setup • ERJasperReportsExample/Documentation/README.txt Friday, September 3, 2010
  • 18. Documentation • Best available (IMHO), to get you started... • “jasper Reports 3.5 for Java Developers” - amazon.com • Also.... • JasperForge.org (you probably need a free account) • intros, tutorials, forum, etc. • Down load source. See readme.txt, demo, dist/javadoc, Friday, September 3, 2010
  • 19. Resources • http://sourceforge.net/projects/jasperreports/files/jasperreports • http://sourceforge.net/projects/ireport/files/ • http://jasperforge.org/ • *Temporary Repository for Beta Project* • http://code.google.com/p/montreal2010/source/checkout Friday, September 3, 2010
  • 20. Q&A Integrating JasperReports with WebObjects WOWODC 2010 Friday, September 3, 2010