Post on 26-Mar-2015
1Actuate Corporation © 2009
Abhisek SinhaProduct Manager, Actuate
Who is BIRT?Solving Your Data Visualization Needs with Open Source Reporting
2Actuate Corporation © 2009
Today’s Agenda and Goals
• Background
• The Emergence of the BIRT Project
• Getting to Know BIRT: Demo
• Architecture and Extensibility
• Market Adoption
• Deployment Options
• BIRT Technology Family
• Case Study
• Summary
3Actuate Corporation © 2009
Business Intelligence and Reporting
Most applications have some type of data visualization need…
And the simple problems are easy, but…
Real-world data visualization is challenging…
• Gather the data
• Perform calculations, sort, group, aggregate, total…
• Present information professionally
…and meeting user demand is crucial to the success of an application
AccountTransaction Histories
Sales Reports
AssetsUnder
Management
BudgetReports
Online andPrinted
Statements
NetworkOutage
Frequency
UtilityBillsDeviation from
Service LevelObjectives
SalesCommissions
WebsiteTraffic Analysis
PurchaseOrders
ShippingManifests
DefectTracking
Daily WorkOrder
Task Lists
SupplierStatus Reports
360°Customer
Views
360°Customer
Views
Invoices
4Actuate Corporation © 2009
Traditional Approaches to the Problem
JavaJava JSPJSP
XSLTXSLT XMLXML
JFacesJFaces
JavaScriptJavaScriptHTMLHTML
ReportNetReportNet
Crystal ReportsCrystal Reports
JReportsJReportsStyleReportsStyleReports
Closed-Source Commercial Products Closed-Source Commercial ProductsBuy
Custom-Developed Solution Custom-Developed SolutionBuild
5Actuate Corporation © 2009
Open Source Creates New Choices
Open-Source-Based ProductsOpen-Source-Based ProductsBuild using
Open Source Code
Leverage Open Source in a Custom Solution Leverage Open Source in a Custom SolutionOpen Source Products
Closed-Source Commercial Products Closed-Source Commercial ProductsBuy
Custom-Developed SolutionCustom-Developed SolutionBuild
6Actuate Corporation © 2009
Actuate Launches the BIRT Project
AUGUST
2004
Actuate Joins Eclipse Foundation
as Strategic Developerand Board Member
Actuate proposed and started
BIRTBusiness Intelligence
and Reporting Tools Project
… a top-level Eclipse projectAdds BI and Reporting
as Open Source Project
Professional open sourcePrimary development resources
funded by Actuate
Contributions from many sourcesIBM, Innovent Solutions and community
7Actuate Corporation © 2009
Simplicity
that makes simple reports
easy
Simplicity
that makes simple reports
easy
Power
to createvery complex
layouts
Power
to createvery complex
layouts
BIRTBIRT
Business Intelligence and Reporting Tools
• Makes all report development easy
• Modern, web-page design metaphor
• Open and standards-based
• Flexible with rich programmatic control
• Full support for libraries and reuse
• Foundation for a range of solutions
• Makes all report development easy
• Modern, web-page design metaphor
• Open and standards-based
• Flexible with rich programmatic control
• Full support for libraries and reuse
• Foundation for a range of solutions
A New Generation of Reporting and Data Visualization Technology
8Actuate Corporation © 2009
BIRT Release History
September 2004 BIRT Project proposal accepted, and project launched
June 2005 1.0 Eclipse Report Designer, Report Engine, Chart Engine
December 2005 2.0 Support for a wide variety of common report types
June 2006 2.1 Advanced parameters, ability to join data sets, …
June 2007 2.2 Dynamic crosstab support, web services data source, …
June 2008 2.3 JavaScript Debugger, BiDi Support, Charts in Crosstabs, …
June 2009 2.5 Page aggregates, Multiple drill-downs in Charts, ……..
• Ground-up initiative: Innovative approach to layout and design• Enterprise-class, designed to handle real-world problems• Developed in the open with community feedback at all stages
Six Major Releases since Project Launch
9Actuate Corporation © 2009
Getting to Know BIRT
DEMO
10Actuate Corporation © 2009
BIRT Example Key Capabilities
Very Simple to Very Complex Layouts• Listings, cross-tab, dashboard, pixel-
perfect, charts …• Grouping, advanced aggregations, sub-
totals, calculations• Multi-section and sub-reports• Conditional sections and logic• Full programmatic control/scripting• Embedded images…
Comprehensive Data Access• SQL databases, Web Services, Flat
Files, XML, scripted data sources …• Multiple data sources in one design…
Output Formats• HTML, PDF, Excel, Word, PowerPoint…• Internationalization of labels and text• Bi-Directional language display
Re-use and Developer Productivity• Library support for publishing and
sharing components• Leverages common standards (SQL,
HTML, JavaScript, Java, XML)• Cascading Style Sheets• Built-in debugger…
Interactivity and Linking• Data driven hyperlinks• Drill-through charts and graphics…
Multiple Usage and Productivity Aids• Graphical layout and design• Query & metadata editors• Formatting Builder • Grouping Builder• Customizable cheat sheets and
templates…
11Actuate Corporation © 2009
BIRT Design Gallery
Charts and Tables
Listing with Groups and Sub-Totals
12Actuate Corporation © 2009
BIRT Design Gallery
Crosstabs
Crosstab and Charts
13Actuate Corporation © 2009
BIRT Design Gallery
Forms
Calendar / Schedule
14Actuate Corporation © 2009
BIRT Design Gallery
Dashboards
Multi-Language and Bi-Directional
15Actuate Corporation © 2009
BIRT Chart Gallery
16Actuate Corporation © 2009
BIRT Chart Gallery
17Actuate Corporation © 2009
BIRT Chart Gallery
18Actuate Corporation © 2009
BIRT Report Designer BIRT Report Designer
High-Level BIRT Architecture
BIRT Report EngineBIRT Report EngineBIRT Report EngineBIRT Report Engine
PresentationServices
PresentationServices
Report Design EngineReport Design Engine
GenerationServices
GenerationServices
DataServices
DataServices
ChartingEngine
ChartingEngine
EclipseReportDesigner
EclipseReportDesigner
ChartDesigner
ChartDesigner
Eclipse DTP,WTP,…
Eclipse DTP,WTP,…
Data
Data
HTMLPDFExcelWordPowerPointPostScript…
XMLReportDesign
ReportDocument
19Actuate Corporation © 2009
APIs and Extension Points
Extensibility is a key principle of the BIRT Project
Data source extensibility• Application specific design-time query builders• Custom design-time and run-time data access
Custom business logic extensibility• Incorporate complex business logic scripting• Access existing and new Java code
Visualization extensibility• Build new visual data presentation ‘widgets’• Extend charting with new chart types; new output formats
Rendering content for output• Target output for specific devices and formats
20Actuate Corporation © 2009
BIRT Report EngineBIRT Report EngineBIRT Report EngineBIRT Report Engine
PresentationServices
PresentationServices
GenerationServices
GenerationServices
DataServices
DataServices
ChartingEngine
ChartingEngine
BIRT Report DesignerBIRT Report Designer BIRT Report DesignerBIRT Report Designer
Report Design EngineReport Design Engine
EclipseReportDesigner
EclipseReportDesigner
ChartDesigner
ChartDesigner
Eclipse DTP,WTP,…
Eclipse DTP,WTP,…
High Level BIRT Architecture: APIs
XMLReportDesign
ReportDocument
HTMLPDFExcelWordPowerPointPostScript…
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
21Actuate Corporation © 2009
BIRT APIs
• Design Engine API (DE API) Create and modify the XML report design
• Report Engine API (RE API) Create the report output based on XML report design file Used by the Report Designer Preview and the Web Viewer
• Chart Engine API (CE API) Can be used as standalone package to create and render charts Embedded in DE API and RE API
22Actuate Corporation © 2009
BIRT MomentumDownloads
BIRT technology is tried and tested in many applications
0
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
2005 2006 2007 2008
Th
ou
san
ds
of
do
wn
loa
ds
Th
ou
san
ds
of
do
wn
loa
ds
More than 6.5 million downloads through
December 2008
More than 6.5 million downloads through
December 2008
BIRT Downloads “BIRT is one of the top 10 most downloaded commercially supported open source applications and has a tremendous growth curve over the last two years.”
Andrew Aitken, Managing Partner, Olliance Group
23Actuate Corporation © 2009
BIRT MomentumSample BIRT Adopters
24Actuate Corporation © 2009
BIRT MomentumPublications
BIRT: A Field Guide to Reporting2nd Edition
BIRT: A Field Guide to Reporting2nd Edition
Integrating and Extending BIRT2nd Edition
Integrating and Extending BIRT2nd Edition
Practical Data Analysis and Reporting with BIRT
Practical Data Analysis and Reporting with BIRT
Eclipse BIRT: Business Intelligence und Reporting Tool
Eclipse BIRT: Business Intelligence und Reporting Tool
25Actuate Corporation © 2009
BIRT Project Users
AUDIENCE FEATURES
Report developers Drag-and-drop authoring, charting
Advanced report developers Scripting, script API
Runtime integration developers BIRT Viewer and engine APIs
Report design integration Design engine API
Extension developers BIRT extension points
Core development Eclipse development, open source
Ea
syC
om
ple
x
26Actuate Corporation © 2009
How is BIRT Being Used?BIRT Report Designer on Desktops
Usage Scenario
• Desktop personal productivity tool
Users
• Report developers
• Advanced business users
Use BIRT Report Designer as a desktop reporting solution
BIRT Report Designer
BIRT Report Designer
27Actuate Corporation © 2009
How is BIRT Being Used?Integrated Data Visualization
Usage Scenario
• Add reporting and data visualization to applications
Users
• ISV and Enterprise Application Developers
• Java Developers, PHP Developers, …
• Report Developers
Integrate Open Source BIRT Report Engine into application
ApplicationApplication
Integration CodeIntegration Code
BIRT EngineBIRT Engine
28Actuate Corporation © 2009
How is BIRT Being Used?Business Intelligence
Usage Scenario• Automated report generation, distribution, …• Interactivity, security, …
Users• Report developers• Business users
Leverage commercial deployment solution for BIRT Reports
Report ServerReport Server
BIRT EngineBIRT EngineBIRT EngineBIRT Engine
29Actuate Corporation © 2009
BIRT Deployment Options
• Web Applications Web Viewer
Sample Web application that encapsulates BIRT APIs Provides pagination, Table of Contents, PDF output etc. Available within the Report Engine download
Custom Servlet Write custom code for functionality provided by BIRT Viewer Example available on BIRT Exchange
Access BIRT Report Engine API
• RCP Applications Web Viewer Plugin
Add BIRT Viewer plugin to list of required plugins
Access BIRT Report Engine API Add Report Engine plugin to list of required plugins
• Standalone Java Applications Access BIRT Report Engine API
30Actuate Corporation © 2009
Deployment Scenarios - Web Viewer
Sample implementation of the BIRT report engine in a web application
Ajax-based Viewer – contains page navigation, TOC, parameter entry, export and print controls in the toolbar
Servlet mappings /frameset – to create page
navigation, TOC, parameter entry, export, and print controls to the toolbar
/run – to generate single-page HTML output, PDF documents, toolbar is not needed
31Actuate Corporation © 2009
Deployment Scenarios - Web Viewer
• Deployment Steps Download Report Engine from http://download.eclipse.org/birt/downloads/ Extract zip file to local folder Deploy the birt.war file / Copy birt.war to the webapps directory (for Tomcat)
• Examples Access report bundled in birt.war - http://localhost:8080/birt/frameset?__report=test.rptdesign
Viewer with toolbar, TOC - http://localhost:8080/birt/frameset?__report=Customer_Dashboard.rptdesign
Viewer without toolbar, TOC - http://localhost:8080/birt/run?__report=Customer_Dashboard.rptdesign
Generate PDF - http://localhost:8080/birt/run?__report=Revenue History by Product Line.rptdesign&__format=pdf
Pass Parameters - http://localhost:8080/birt/frameset?__report=Customer+Order+History.rptdesign&Customer=The+Sharp+Gifts+Warehouse
Display only chart/table as a reportlet - http://localhost:8080/birt/run?__report=Customer_Dashboard.rptdesign&__bookmark=RevenueByProductLine&__isreportlet=true
32Actuate Corporation © 2009
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
Deployment Scenarios – Custom Servlet
33Actuate Corporation © 2009
Deployment Scenarios – Custom Servlet
WebReport.java: The servlet that handles report generation on a GET command.
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //get report name and launch the engine resp.setContentType("text/html"); String reportName = req.getParameter("ReportName"); ServletContext sc = req.getSession().getServletContext(); this.birtReportEngine = BirtEngine.getBirtEngine(sc);
IReportRunnable design; try{ //Open report design design = birtReportEngine.openReportDesign( c.getRealPath("/Reports")+"/"+reportName); //create task to run and render report IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask( design ); task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, WebReport.class.getClassLoader());
//set output options HTMLRenderOption options = new HTMLRenderOption(); options.setImageHandler(new HTMLServerImageHandler()); options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML); options.setOutputStream(resp.getOutputStream()); options.setBaseImageURL(req.getContextPath()+"/images"); options.setImageDirectory(sc.getRealPath("/images")); task.setRenderOption(options);
//run report task.run(); task.close(); }catch (Exception e){ e.printStackTrace(); throw new ServletException( e );}}
34Actuate Corporation © 2009
Actuate BIRT Technology FamilyComplementing and Extending Eclipse BIRT
Deployment Tools
Deployment Tools
High-Scale DistributionHigh-Scale Distribution
Development Tools
Development Tools
User Interactivity
User Interactivity
Engage users with rich, interactive
content
Engage users with rich, interactive
content
Skill-specific tools for developers
and users
Skill-specific tools for developers
and users
Manage, schedule, secure, run and
distribute
Manage, schedule, secure, run and
distribute
Load-balanced, high availability
for 100,000sof users
Load-balanced, high availability
for 100,000sof users
Eclipse BIRTEclipse BIRT
Meet core reporting requirements
Meet core reporting requirements
BIRT Interactive Viewer
Actuate BIRT Viewer
Actuate BIRT Report
Designers
iServer Express
iServer Enterprise
Deployment Kits
Actuate BIRT Report Studio
35Actuate Corporation © 2009
Actuate BIRT Goes Beyond Eclipse BIRT
Visualizations• FlashChart report item• FlashGadget report item• FlashObject report item• 266 Flash visualizations• HTML button report item
Data Sources• BIRT Report documents• Data connectors for SQL databases• Information Objects
Integration• JavaScript API
Packaging• Installer for BIRT Report Designer• Addison-Wesley books
Deployment• BIRT Reports for iServer• BIRT Interactive Viewer• BIRT Report Studio
Enterprise• Scale• Page Level Security• iServer Navigator• Built-in Information Object Designer
36Actuate Corporation © 2009
Actuate BIRT Report Studio
User-selected Information Object
Calculatedcolumn
Data styles
Template objects
Drag-and-drop palette
Format text and currencies
Toolbar• Cut/Copy/Paste• Delete• Undo/Redo• Chart• Table• Insert• Group• Filter• Prompt• Format• Run• Print• Export
Grouping and sorting
Easy to use… end-users do not know SQL… iterative development
37Actuate Corporation © 2009
Actuate BIRT Interactive Viewer
Hide/show elements
Custom calculations
Show/hide columns
Formatting text and currencies
Conditional formatting
Modify labels
Toolbar• Table of
contents• Page
navigation• Printing• Export data• Save
Grouping
Sorting
Simple and advanced filters
38Actuate Corporation © 2009
Publish rich apps outside the firewall
Secure and support millions
of users
Scale, performance,
security, reliability
BIRTBIRT + iServer Enterprise
BIRT ApplicationsFrom Open Source and Embedded to Enterprise
Implement security &
management
Publish rich PM apps that satisfy users
BIRT + iServer Express
DepartmentApplications
EnterpriseApplications
ActuateActuate
Traditional BI VendorsTraditional BI Vendors
EmbeddedApplications
BIRTBIRT + Flash Widgets + …
Engage users and let them
drive rich appsBIRTBIRT Open Source
Free OpenSource Tools
39Actuate Corporation © 2009
Case Study – IBM Tivoli Maximo
Maximo is an enterprise software product within the Tivoli division of
IBM (NYSE: IBM)
IBM Maximo Asset Management unifies comprehensive asset life
cycle and maintenance management on a single platform.
Maximo provides insight for all of enterprise assets, Service Level
Agreements, maintenance conditions and work processes, for
better planning and control.
40Actuate Corporation © 2009
Case Study – IBM Tivoli Maximo
• BIRT is embedded in the Maximo web application
• Approximately 150 BIRT designs included in Maximo:
• Work Order Details
• Service Level Agreements
• Asset Availability
• Asset Failure Analysis
• Software Usage
• …
• BIRT security integrated tightly with Maximo Administration Application
• BIRT is a key component of many Tivoli products
41Actuate Corporation © 2009
BIRT: What is Next?
Eclipse BIRT 2.5.1 Release
• Part of Eclipse Galileo simultaneous release
• Development is underway now
• See project plan for details
www.eclipse.org/birt
Actuate 11
• More interactivity, deployment features, business user tools
42Actuate Corporation © 2009
ResourcesBIRT Exchange Community Site
Centralized knowledge hub for BIRT developers• Access demos, tutorials, tips and techniques, documentation…• Easy for users to contribute content, share knowledge• Enables developers to be more productive and build applications faster
Explore• Search/sort• Rate, comment• Forums
Download• Documentation• Software• Examples
Contribute• Report designs• Code samples• Technical tipswww.birt-exchange.orgwww.birt-exchange.org
43Actuate Corporation © 2009
BIRT Exchange DevShare
• Data Integration BIRT Scripted Data Source Example
BIRT Connection Pooling
Web Services Data
•Application Integration Java Event Handler
Placing Java Classes
Run BIRT Reports at Command Line
•Report Engine APIUsing the BIRT Report Engine APICalling the BIRT RE APIExecute BIRT Reports from Java classAPI – Examples
44Actuate Corporation © 2009
BIRT Exchange DevShare
• Web Viewer Exploring BIRT Deployment Options Using the Report Viewer Deploying BIRT WebViewerExample in Tomcat Birt Viewer 2.3 User Reference BIRT URL Security Custom Parameter page
• Additional Integration Examples Integrating BIRT with Hibernate and Struts
Using BIRT with Stripes
Using BIRT with JBoss Seam
Integrating BIRT with Spring
Deploying BIRT RCP App through Java Web Start
JBoss BIRT Portlet
Deploy BIRT on GlassFish
45Actuate Corporation © 2009
Summary
• Top-level open source Eclipse project
• Free with commercial friendly license
• Powerful, extensible data visualization technology
• Easy-to-use, web-centric design metaphor
• Very active community with more than 6.5 million downloads
• Actuate extends and complements BIRT with value-added technology
• Top-level open source Eclipse project
• Free with commercial friendly license
• Powerful, extensible data visualization technology
• Easy-to-use, web-centric design metaphor
• Very active community with more than 6.5 million downloads
• Actuate extends and complements BIRT with value-added technology
A New Generation of Reporting and Data Visualization Technology
46Actuate Corporation © 2009
Q & A
Who is BIRT?Solving Your Data Visualization Needs with Open Source Reporting