SlideShare a Scribd company logo
1 of 40
Integrating BIRT Within Your Applications Mica J. Block Director, Actuate Corporate Engineers
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Engine Report Engine Chart Engine Produces XML Report, Templates, and Library Designs Runs Reports and produces output – PDF, HTML, Doc, XLS, PS, PPT Etc Consume Chart EMF model and produces Chart Output.  Supports 13 Main types and many sub types.  Ouputs to PNG, JPG, BMP, SVG,  PDF ,  SWT , and  SWING DE API RE API CE API Can be ran outside of OSGi Report Designer Chart Builder Example Viewer Can be ran outside of BIRT Core BIRT Open Source Products High Level BIRT Architecture
BIRT Designer
High Level BIRT Architecture: APIs BIRT Report Engine Presentation Services Generation Services Data Services Charting Engine BIRT Report Designer Report Design Engine Eclipse Report Designer Chart Designer Eclipse  DTP, WTP,… XML Report Design Report Document HTML PDF Excel Word PowerPoint PostScript … Data Data Custom Report Designer UI Report Engine API Open Data Access Chart Engine API Emitter API Chart UI API Scripting API Design Engine API
BIRT Report Engine JavaScript Events Optional Java Events Generation Phase Presentation Phase HTML PDF CSV WORD XLS PS PPT RptDocument Report Document BIRT Report Designer Chart Builder Report Design Engine Charting Engine RptDesign XML Design File BIRT Pipeline with respect  to the APIs
BIRT Extensions Points ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object]
Scripting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Expression Scripting
Expression Scripting – Example Locations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Report Scripting JavaScript Events Generation Phase Report Level initialize beforeFactory afterFactory onPageStart onPageEnd Data Source/Set beforeOpen afterOpen onFetch beforeClose afterClose Report Element onPrepare onCreate onPageBreak Report Level initialize beforeRender afterRender Presentation Phase Report Element onRender Optional Java Events Chart Events onRender .. Master Page onPageStart onPageEnd
Element Scripting
Element Event Handlers using Java ,[object Object],[object Object],[object Object],[object Object]
Events - Run then Render Pipeline (Web viewer)  General Order Generation Phase Initialize onPrepare beforeFactory beforeOpen afterOpen onFetch onPrepare onPrepare onCreate beforeClose afterClose onCreate onCreate Table Row DataItem Data Set Report afterFactory Presentation Phase beforeRender onRender onRender onRender afterRender
Events - Run & Render Pipeline (Default Preview) Initialize onPrepare beforeFactory beforeRender beforeOpen afterOpen onFetch onPrepare onPrepare onCreate onRender beforeClose afterClose onCreate onRender onCreate onRender afterRender afterFactory Table Row DataItem Data Set Report
Chart Generation Events General Order beforeDataSetFilled iterate Events afterDataSetFilled beforeGeneration beforeComputations afterComputations afterGeneration
Chart Render Events General Order beforeRendering Next Slide beforeDrawBlock - Main afterDrawBlock - Main beforeDrawBlock - Title afterDrawBlock - Title beforeDrawBlock - Plot beforeDrawMarkerRange afterDrawMarkerRange beforeDrawMarkerLine afterDrawMarkerLine beforeDrawSeries -base afterDrawSeries - base afterDrawBlock - Plot beforeDrawBlock – Plot – for each series beforeDrawSeries beforeDrawDataPoint afterDrawDataPoint beforeDrawFittingCurve afterDrawFittingCurve afterDrawSeries  afterDrawBlock – Do not call after last series beforeDrawDataPointLabel afterDrawDataPointLabel Series Render Event order vary depending on Renderer – Bar chart shown RenderSeries iterate Events
Chart Render Events General Order Previous Slide afterRendering For Each Axis beforeDrawAxisLabel afterDrawAxisLabel beforeDrawAxisTitle afterDrawAxisTitle afterDrawBlock - Plot iterate Chart With Axis beforeDrawBlock - Legend beforeDrawLegendItem afterDrawLegendItem afterDrawBlock - Legend Events
BIRT Scripting Demo DEMO
Agenda ,[object Object]
Report Engine ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Report Engine Task EngineConfig Set configuration variables such as Engine Home and Log configuration ReportEngine Generate one or more tasks Open Report Design and Documents. Create Engine Task. DataExtractionTask GetParameterDefinitionTask RunTask RenderTask RunAndRenderTask Retrieve Parameters and their properties Does not support Pagination, TOC, Bookmarks. Generate Paginated HTML, XLS, PDF Document, Postscript, XLS Retrieve TOC and Bookmarks Extract Data from Report Document RptDesign XML Design File RptDesign XML Design File RptDesign XML Design File RptDocument Report Document RptDocument Report Document RptDocument Report Document
Design Engine ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Chart Engine - Two different Chart APIs Optional Prepare Method. Called before Bind Data.  In BIRT this sets up the Run Time Context
Chart Engine Flow – ChartEngine Generator class Chart Engine Chart Model 2. bind data 3. build 4. render Device Renderer 1. prepare ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Platform Startup Code for DE, CE and RE API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chart Engine Sample PlatformConfig pf = new PlatformConfig(); pf.setBIRTHome("C:/birt/birt-runtime-2_5_1/birt-runtime-2_5_1/ReportEngine"); ChartEngine ce = ChartEngine.instance(pf); //non OSGi startup of CE  PlatformConfig pf = new PlatformConfig(); pf.setProperty("STANDALONE", true); ChartEngine ce = ChartEngine.instance(pf); Notes: If you are using the APIs in an application that is already using OSGi and the BIRT plugins are deployed, alter the code like: Confing.setBIRTHome(“”); and do not do a Platform.startup(); Only startup the platform once for the lifetime of your application.
Engine Extras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calling the DE API from the RE API/Report Script ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object]
BIRT Deployment Scenarios APIs (DE API, CE API, RE API) Web Viewer J2EE AS Custom Servlet BIRT Tag  Libs RCP Application Standalone Application Web Viewer Plugin Paginated HTML, PDF, XLS, WORD, PostScript, TOC, Bookmarks, CSV Chart Tag  Libs
Main Web Viewer Servlet Mappings Web Viewer Servlet Mappings frameset run preview Use this mapping to launch the complete AJAX based report viewer.  Contains toolbar, navbar and table of contents features.  Run and Render task are separated.  This option will also create a rptdocument file. Use this mapping to launch the viewer without the navbar, toolbar or table of contents.  This mapping uses the RunAndRender task to create the output and does not support pagination and does not create a rptdocument.  This mapping does use the AJAX framework to allow cancelling a report. This mapping is used to RunAndRender a report directly to an output format, or to render an existing rptdocument directly to an output format.  It does not use the AJAX framework, but will launch a parameter entry dialog.
WebViewerExample plugins logs scriptlib WEB-INF lib BIRT required runtime plug-ins. The default location for BIRT logs. Location for BIRT required Jars. platform configuration Location for OSGi configuration files. report webcontent birt ajax pages images styles Location for class files used in a Scripted Data Source. Default location of Report Designs JavaScript files used with the Viewer JSP Fragments used to build the Viewer Images used by the Viewer CSS files used by the Viewer BIRT WebViewer Structure
YourServletExample plugins logs WEB-INF lib BIRT required runtime plug-ins.  Copy from runtime. The default location for BIRT logs. Location for BIRT required Jars. Copy from Runtime. platform configuration Location for OSGi configuration files.  Copy from runtime. report images Default location of Report Designs Default location for report images Custom Servlet Deployment Use Singleton to launch Design or Report Engine.  Start Platform on Servlet Startup and shutdown Platform on Servlet destroy. http://wiki.eclipse.org/Servlet_Example_%28BIRT%29_2.1
RCP Deployment ,[object Object]
WebViewer Utility Class see RCPViewer Example ,[object Object],[object Object],[object Object],[object Object]
Using the RE/DE API Plugins in an RCP application ,[object Object],[object Object],[object Object],[object Object]
BIRT Engine and Deployment Demo ,[object Object],[object Object],DEMO
BIRT Momentum: Publications BIRT: A Field  Guide to Reporting 2nd Edition Integrating and  Extending BIRT 2nd Edition Practical Data Analysis and Reporting  with BIRT Eclipse BIRT: Business Intelligence und Reporting Tool
Resources BIRT Exchange Community Site ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],www.birt-exchange.com

More Related Content

What's hot

Power bi premium
Power bi premiumPower bi premium
Power bi premiumIke Ellis
 
Introduction to snowflake
Introduction to snowflakeIntroduction to snowflake
Introduction to snowflakeSunil Gurav
 
Introduction to Power BI and Data Visualization
Introduction to Power BI and Data VisualizationIntroduction to Power BI and Data Visualization
Introduction to Power BI and Data VisualizationSwapnil Jadhav
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsMonica Beckwith
 
Apache HBase - Just the Basics
Apache HBase - Just the BasicsApache HBase - Just the Basics
Apache HBase - Just the BasicsHBaseCon
 
Data Warehouse Modeling
Data Warehouse ModelingData Warehouse Modeling
Data Warehouse Modelingvivekjv
 
Temporal Snapshot Fact Tables
Temporal Snapshot Fact TablesTemporal Snapshot Fact Tables
Temporal Snapshot Fact TablesDavide Mauri
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB James Serra
 
Landing Self Service Analytics using Microsoft Azure & Power BI
Landing Self Service Analytics using Microsoft Azure & Power BILanding Self Service Analytics using Microsoft Azure & Power BI
Landing Self Service Analytics using Microsoft Azure & Power BIVisual_BI
 
Moving object databases
Moving object databasesMoving object databases
Moving object databasesShivangi Gupta
 
Dimensional Modeling
Dimensional ModelingDimensional Modeling
Dimensional Modelingaksrauf
 
Data mining 2 - Data warehouse (cheat sheet - printable)
Data mining 2 - Data warehouse (cheat sheet - printable)Data mining 2 - Data warehouse (cheat sheet - printable)
Data mining 2 - Data warehouse (cheat sheet - printable)yesheeka
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.JapanKohei KaiGai
 
New Directions for Apache Arrow
New Directions for Apache ArrowNew Directions for Apache Arrow
New Directions for Apache ArrowWes McKinney
 
Challenges in building a Data Pipeline
Challenges in building a Data PipelineChallenges in building a Data Pipeline
Challenges in building a Data PipelineHevo Data Inc.
 

What's hot (20)

Power bi premium
Power bi premiumPower bi premium
Power bi premium
 
Introduction to snowflake
Introduction to snowflakeIntroduction to snowflake
Introduction to snowflake
 
Introduction to Power BI and Data Visualization
Introduction to Power BI and Data VisualizationIntroduction to Power BI and Data Visualization
Introduction to Power BI and Data Visualization
 
Big data Analytics
Big data AnalyticsBig data Analytics
Big data Analytics
 
Data mart
Data martData mart
Data mart
 
OpenJDK Concurrent Collectors
OpenJDK Concurrent CollectorsOpenJDK Concurrent Collectors
OpenJDK Concurrent Collectors
 
Apache HBase - Just the Basics
Apache HBase - Just the BasicsApache HBase - Just the Basics
Apache HBase - Just the Basics
 
Data Warehouse Modeling
Data Warehouse ModelingData Warehouse Modeling
Data Warehouse Modeling
 
Temporal Snapshot Fact Tables
Temporal Snapshot Fact TablesTemporal Snapshot Fact Tables
Temporal Snapshot Fact Tables
 
Introducing DocumentDB
Introducing DocumentDB Introducing DocumentDB
Introducing DocumentDB
 
BI Introduction
BI IntroductionBI Introduction
BI Introduction
 
Landing Self Service Analytics using Microsoft Azure & Power BI
Landing Self Service Analytics using Microsoft Azure & Power BILanding Self Service Analytics using Microsoft Azure & Power BI
Landing Self Service Analytics using Microsoft Azure & Power BI
 
Hadoop HDFS.ppt
Hadoop HDFS.pptHadoop HDFS.ppt
Hadoop HDFS.ppt
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Moving object databases
Moving object databasesMoving object databases
Moving object databases
 
Dimensional Modeling
Dimensional ModelingDimensional Modeling
Dimensional Modeling
 
Data mining 2 - Data warehouse (cheat sheet - printable)
Data mining 2 - Data warehouse (cheat sheet - printable)Data mining 2 - Data warehouse (cheat sheet - printable)
Data mining 2 - Data warehouse (cheat sheet - printable)
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
New Directions for Apache Arrow
New Directions for Apache ArrowNew Directions for Apache Arrow
New Directions for Apache Arrow
 
Challenges in building a Data Pipeline
Challenges in building a Data PipelineChallenges in building a Data Pipeline
Challenges in building a Data Pipeline
 

Similar to Birt Integration

Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...OdessaJS Conf
 
SAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDASAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDAsjohannes
 
Sahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeSahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeAidIQ
 
Eclipse Business Intelligence and Reporting Tools [BIRT] Project
Eclipse Business Intelligence and Reporting Tools [BIRT] ProjectEclipse Business Intelligence and Reporting Tools [BIRT] Project
Eclipse Business Intelligence and Reporting Tools [BIRT] ProjectActuate Corporation
 
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)jaxLondonConference
 
Angular server side rendering - Strategies & Technics
Angular server side rendering - Strategies & Technics Angular server side rendering - Strategies & Technics
Angular server side rendering - Strategies & Technics Eliran Eliassy
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1ukdpe
 
Architecture
Architecture Architecture
Architecture gerardov5
 
A Web Developer's Journey across different versions of ASP.NET
A Web Developer's Journey across different versions of ASP.NETA Web Developer's Journey across different versions of ASP.NET
A Web Developer's Journey across different versions of ASP.NETHarish Ranganathan
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Sahana introduction to the code v2
Sahana   introduction to the code v2Sahana   introduction to the code v2
Sahana introduction to the code v2AidIQ
 
PyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfPyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfJim Dowling
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRight IT Services
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersJiaxuan Lin
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleJim Dowling
 

Similar to Birt Integration (20)

Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...
 
SAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDASAP Inside Track 2010 - Thomas Jung Intro to WDA
SAP Inside Track 2010 - Thomas Jung Intro to WDA
 
Sahana Eden - Introduction to the Code
Sahana Eden - Introduction to the CodeSahana Eden - Introduction to the Code
Sahana Eden - Introduction to the Code
 
Eclipse Business Intelligence and Reporting Tools [BIRT] Project
Eclipse Business Intelligence and Reporting Tools [BIRT] ProjectEclipse Business Intelligence and Reporting Tools [BIRT] Project
Eclipse Business Intelligence and Reporting Tools [BIRT] Project
 
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
 
Angular server side rendering - Strategies & Technics
Angular server side rendering - Strategies & Technics Angular server side rendering - Strategies & Technics
Angular server side rendering - Strategies & Technics
 
GHC
GHCGHC
GHC
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1
 
Architecture
Architecture Architecture
Architecture
 
A Web Developer's Journey across different versions of ASP.NET
A Web Developer's Journey across different versions of ASP.NETA Web Developer's Journey across different versions of ASP.NET
A Web Developer's Journey across different versions of ASP.NET
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Sahana introduction to the code v2
Sahana   introduction to the code v2Sahana   introduction to the code v2
Sahana introduction to the code v2
 
PyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfPyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdf
 
Bapi jco
Bapi jcoBapi jco
Bapi jco
 
Rits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce LightningRits Brown Bag - Salesforce Lightning
Rits Brown Bag - Salesforce Lightning
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
 
oracle-reports6i
oracle-reports6ioracle-reports6i
oracle-reports6i
 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData Seattle
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingSelcen Ozturkcan
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central BankingThe Evolution of Money: Digital Transformation and CBDCs in Central Banking
The Evolution of Money: Digital Transformation and CBDCs in Central Banking
 

Birt Integration

  • 1. Integrating BIRT Within Your Applications Mica J. Block Director, Actuate Corporate Engineers
  • 2.
  • 3. Design Engine Report Engine Chart Engine Produces XML Report, Templates, and Library Designs Runs Reports and produces output – PDF, HTML, Doc, XLS, PS, PPT Etc Consume Chart EMF model and produces Chart Output. Supports 13 Main types and many sub types. Ouputs to PNG, JPG, BMP, SVG, PDF , SWT , and SWING DE API RE API CE API Can be ran outside of OSGi Report Designer Chart Builder Example Viewer Can be ran outside of BIRT Core BIRT Open Source Products High Level BIRT Architecture
  • 5. High Level BIRT Architecture: APIs BIRT Report Engine Presentation Services Generation Services Data Services Charting Engine BIRT Report Designer Report Design Engine Eclipse Report Designer Chart Designer Eclipse DTP, WTP,… XML Report Design Report Document HTML PDF Excel Word PowerPoint PostScript … Data Data Custom Report Designer UI Report Engine API Open Data Access Chart Engine API Emitter API Chart UI API Scripting API Design Engine API
  • 6. BIRT Report Engine JavaScript Events Optional Java Events Generation Phase Presentation Phase HTML PDF CSV WORD XLS PS PPT RptDocument Report Document BIRT Report Designer Chart Builder Report Design Engine Charting Engine RptDesign XML Design File BIRT Pipeline with respect to the APIs
  • 7.
  • 8.
  • 9.
  • 11.
  • 12. Report Scripting JavaScript Events Generation Phase Report Level initialize beforeFactory afterFactory onPageStart onPageEnd Data Source/Set beforeOpen afterOpen onFetch beforeClose afterClose Report Element onPrepare onCreate onPageBreak Report Level initialize beforeRender afterRender Presentation Phase Report Element onRender Optional Java Events Chart Events onRender .. Master Page onPageStart onPageEnd
  • 14.
  • 15. Events - Run then Render Pipeline (Web viewer) General Order Generation Phase Initialize onPrepare beforeFactory beforeOpen afterOpen onFetch onPrepare onPrepare onCreate beforeClose afterClose onCreate onCreate Table Row DataItem Data Set Report afterFactory Presentation Phase beforeRender onRender onRender onRender afterRender
  • 16. Events - Run & Render Pipeline (Default Preview) Initialize onPrepare beforeFactory beforeRender beforeOpen afterOpen onFetch onPrepare onPrepare onCreate onRender beforeClose afterClose onCreate onRender onCreate onRender afterRender afterFactory Table Row DataItem Data Set Report
  • 17. Chart Generation Events General Order beforeDataSetFilled iterate Events afterDataSetFilled beforeGeneration beforeComputations afterComputations afterGeneration
  • 18. Chart Render Events General Order beforeRendering Next Slide beforeDrawBlock - Main afterDrawBlock - Main beforeDrawBlock - Title afterDrawBlock - Title beforeDrawBlock - Plot beforeDrawMarkerRange afterDrawMarkerRange beforeDrawMarkerLine afterDrawMarkerLine beforeDrawSeries -base afterDrawSeries - base afterDrawBlock - Plot beforeDrawBlock – Plot – for each series beforeDrawSeries beforeDrawDataPoint afterDrawDataPoint beforeDrawFittingCurve afterDrawFittingCurve afterDrawSeries afterDrawBlock – Do not call after last series beforeDrawDataPointLabel afterDrawDataPointLabel Series Render Event order vary depending on Renderer – Bar chart shown RenderSeries iterate Events
  • 19. Chart Render Events General Order Previous Slide afterRendering For Each Axis beforeDrawAxisLabel afterDrawAxisLabel beforeDrawAxisTitle afterDrawAxisTitle afterDrawBlock - Plot iterate Chart With Axis beforeDrawBlock - Legend beforeDrawLegendItem afterDrawLegendItem afterDrawBlock - Legend Events
  • 21.
  • 22.
  • 23. Report Engine Task EngineConfig Set configuration variables such as Engine Home and Log configuration ReportEngine Generate one or more tasks Open Report Design and Documents. Create Engine Task. DataExtractionTask GetParameterDefinitionTask RunTask RenderTask RunAndRenderTask Retrieve Parameters and their properties Does not support Pagination, TOC, Bookmarks. Generate Paginated HTML, XLS, PDF Document, Postscript, XLS Retrieve TOC and Bookmarks Extract Data from Report Document RptDesign XML Design File RptDesign XML Design File RptDesign XML Design File RptDocument Report Document RptDocument Report Document RptDocument Report Document
  • 24.
  • 25. Chart Engine - Two different Chart APIs Optional Prepare Method. Called before Bind Data. In BIRT this sets up the Run Time Context
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. BIRT Deployment Scenarios APIs (DE API, CE API, RE API) Web Viewer J2EE AS Custom Servlet BIRT Tag Libs RCP Application Standalone Application Web Viewer Plugin Paginated HTML, PDF, XLS, WORD, PostScript, TOC, Bookmarks, CSV Chart Tag Libs
  • 32. Main Web Viewer Servlet Mappings Web Viewer Servlet Mappings frameset run preview Use this mapping to launch the complete AJAX based report viewer. Contains toolbar, navbar and table of contents features. Run and Render task are separated. This option will also create a rptdocument file. Use this mapping to launch the viewer without the navbar, toolbar or table of contents. This mapping uses the RunAndRender task to create the output and does not support pagination and does not create a rptdocument. This mapping does use the AJAX framework to allow cancelling a report. This mapping is used to RunAndRender a report directly to an output format, or to render an existing rptdocument directly to an output format. It does not use the AJAX framework, but will launch a parameter entry dialog.
  • 33. WebViewerExample plugins logs scriptlib WEB-INF lib BIRT required runtime plug-ins. The default location for BIRT logs. Location for BIRT required Jars. platform configuration Location for OSGi configuration files. report webcontent birt ajax pages images styles Location for class files used in a Scripted Data Source. Default location of Report Designs JavaScript files used with the Viewer JSP Fragments used to build the Viewer Images used by the Viewer CSS files used by the Viewer BIRT WebViewer Structure
  • 34. YourServletExample plugins logs WEB-INF lib BIRT required runtime plug-ins. Copy from runtime. The default location for BIRT logs. Location for BIRT required Jars. Copy from Runtime. platform configuration Location for OSGi configuration files. Copy from runtime. report images Default location of Report Designs Default location for report images Custom Servlet Deployment Use Singleton to launch Design or Report Engine. Start Platform on Servlet Startup and shutdown Platform on Servlet destroy. http://wiki.eclipse.org/Servlet_Example_%28BIRT%29_2.1
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. BIRT Momentum: Publications BIRT: A Field Guide to Reporting 2nd Edition Integrating and Extending BIRT 2nd Edition Practical Data Analysis and Reporting with BIRT Eclipse BIRT: Business Intelligence und Reporting Tool
  • 40.

Editor's Notes

  1. SWING is Graphics2D context SWT is GC context – PaintEvent.gc
  2. Detailed in eclipse wiki