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

Introduction to OpenRefine
Introduction to OpenRefineIntroduction to OpenRefine
Introduction to OpenRefineHeather Myers
 
Victoria Tableau User Group - Getting started with Tableau
Victoria Tableau User Group - Getting started with TableauVictoria Tableau User Group - Getting started with Tableau
Victoria Tableau User Group - Getting started with TableauDmitry Anoshin
 
Power BI vs Tableau
Power BI vs TableauPower BI vs Tableau
Power BI vs TableauDon Hyun
 
Power BI: From the Basics
Power BI: From the BasicsPower BI: From the Basics
Power BI: From the BasicsNikkia Carter
 
UNIT 2.pptx BI
UNIT 2.pptx BIUNIT 2.pptx BI
UNIT 2.pptx BIvobine5379
 
Database basics
Database basicsDatabase basics
Database basicsprachin514
 
Tableau 7.0 prsentation
Tableau 7.0 prsentationTableau 7.0 prsentation
Tableau 7.0 prsentationinam_slides
 
Elementary Data Analysis with MS Excel_Day-5
Elementary Data Analysis with MS Excel_Day-5Elementary Data Analysis with MS Excel_Day-5
Elementary Data Analysis with MS Excel_Day-5Redwan Ferdous
 
SQL Reporting service presentation
SQL Reporting service presentationSQL Reporting service presentation
SQL Reporting service presentationAhmed M. Rafik
 
Visualization using Tableau
Visualization using TableauVisualization using Tableau
Visualization using TableauGirija Muscut
 
DBMS Assignments Questions
DBMS Assignments QuestionsDBMS Assignments Questions
DBMS Assignments QuestionsSara Sahu
 
Multidimensional Database Design & Architecture
Multidimensional Database Design & ArchitectureMultidimensional Database Design & Architecture
Multidimensional Database Design & Architecturehasanshan
 

What's hot (20)

Introduccion a PowerBI
Introduccion a PowerBIIntroduccion a PowerBI
Introduccion a PowerBI
 
Power bi overview
Power bi overview Power bi overview
Power bi overview
 
Power bi
Power biPower bi
Power bi
 
Introduction to OpenRefine
Introduction to OpenRefineIntroduction to OpenRefine
Introduction to OpenRefine
 
Victoria Tableau User Group - Getting started with Tableau
Victoria Tableau User Group - Getting started with TableauVictoria Tableau User Group - Getting started with Tableau
Victoria Tableau User Group - Getting started with Tableau
 
Power BI vs Tableau
Power BI vs TableauPower BI vs Tableau
Power BI vs Tableau
 
Power BI: From the Basics
Power BI: From the BasicsPower BI: From the Basics
Power BI: From the Basics
 
UNIT 2.pptx BI
UNIT 2.pptx BIUNIT 2.pptx BI
UNIT 2.pptx BI
 
Database basics
Database basicsDatabase basics
Database basics
 
Power Up with Power BI
Power Up with Power BIPower Up with Power BI
Power Up with Power BI
 
Tableau 7.0 prsentation
Tableau 7.0 prsentationTableau 7.0 prsentation
Tableau 7.0 prsentation
 
Data visualization
Data visualizationData visualization
Data visualization
 
Power bi
Power biPower bi
Power bi
 
Elementary Data Analysis with MS Excel_Day-5
Elementary Data Analysis with MS Excel_Day-5Elementary Data Analysis with MS Excel_Day-5
Elementary Data Analysis with MS Excel_Day-5
 
Power BI Overview
Power BI Overview Power BI Overview
Power BI Overview
 
SQL Reporting service presentation
SQL Reporting service presentationSQL Reporting service presentation
SQL Reporting service presentation
 
Visualization using Tableau
Visualization using TableauVisualization using Tableau
Visualization using Tableau
 
Basic SQL
Basic SQLBasic SQL
Basic SQL
 
DBMS Assignments Questions
DBMS Assignments QuestionsDBMS Assignments Questions
DBMS Assignments Questions
 
Multidimensional Database Design & Architecture
Multidimensional Database Design & ArchitectureMultidimensional Database Design & Architecture
Multidimensional Database Design & Architecture
 

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

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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...Martijn de Jong
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.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
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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