Who is BIRT? Solving Your Data Visualization Needs with

advertisement
Who is BIRT?
Solving Your Data
Visualization Needs with
Open Source Reporting
Abhisek Sinha
Product Manager, Actuate
1
Actuate 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
2
Actuate Corporation © 2009
Business Intelligence and Reporting
Purchase
Orders
Budget
Reports
Account
Transaction Histories
Supplier
Status Reports
Daily Work
Order
Task Lists
Online and
Printed
Statements
Shipping
Manifests
Invoices
Network
Outage
Frequency
Deviation from
Service Level
Objectives
Sales
Commissions
3
Actuate Corporation © 2009
Sales
Reports
Defect
Tracking
Assets
Under
Management
Utility
Bills
360°
Customer
Views
Website
Traffic Analysis
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
Traditional Approaches to the Problem
Crystal Reports
ReportNet
StyleReports
JReports
Buy
Build
Closed-Source Commercial Products
Custom-Developed Solution
Java
XSLT
4
Actuate Corporation © 2009
JSP
XML
JFaces
HTML
JavaScript
Open Source Creates New Choices
Buy
Closed-Source Commercial Products
Build using
Open Source
Code
Open-Source-Based Products
Open Source
Products
Leverage Open Source in a Custom Solution
Build
5
Actuate Corporation © 2009
Custom-Developed Solution
Actuate Launches the BIRT Project
Actuate proposed and started
BIRT
Business Intelligence
and Reporting Tools Project
… a top-level Eclipse project
Actuate Joins
Eclipse Foundation
as Strategic Developer
and Board Member
Adds BI and Reporting
as Open Source Project
Professional open source
Primary development resources
funded by Actuate
Contributions from many sources
IBM, Innovent Solutions and community
6
Actuate Corporation © 2009
AUGUST
2004
Business Intelligence and Reporting Tools
A New Generation of Reporting and Data Visualization Technology
• 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
Simplicity
that makes
simple reports
easy
7
Actuate Corporation © 2009
Power
BIRT
to create
very complex
layouts
BIRT Release History
Six Major Releases since Project Launch
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
8
Actuate Corporation © 2009
Getting to Know BIRT
DEMO
9
Actuate Corporation © 2009
BIRT Example Key Capabilities
Very Simple to Very Complex Layouts
• Listings, cross-tab, dashboard, pixelperfect, charts …
• Grouping, advanced aggregations, subtotals, 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…
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
Output Formats
• Query & metadata editors
• HTML, PDF, Excel, Word, PowerPoint…
• Formatting Builder
• Internationalization of labels and text
• Grouping Builder
• Bi-Directional language display
• Customizable cheat sheets and
templates…
10
Actuate Corporation © 2009
BIRT Design Gallery
Charts and Tables
Listing with Groups and Sub-Totals
11
Actuate Corporation © 2009
BIRT Design Gallery
Crosstab and Charts
Crosstabs
12
Actuate Corporation © 2009
BIRT Design Gallery
Forms
Calendar / Schedule
13
Actuate Corporation © 2009
BIRT Design Gallery
Multi-Language and Bi-Directional
Dashboards
14
Actuate Corporation © 2009
BIRT Chart Gallery
15
Actuate Corporation © 2009
BIRT Chart Gallery
16
Actuate Corporation © 2009
BIRT Chart Gallery
17
Actuate Corporation © 2009
High-Level BIRT Architecture
BIRT Report Designer
Eclipse
Report
Designer
Eclipse
DTP,
WTP,…
Chart
Designer
Report Design Engine
XML
Report
Design
BIRT Report Engine
Data
Data
18
Actuate Corporation © 2009
Generation
Services
Charting
Engine
Data
Services
Presentation
Services
Report
Document
HTML
PDF
Excel
Word
PowerPoint
PostScript
…
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
19
Actuate Corporation © 2009
High Level BIRT Architecture: APIs
Design Engine API
BIRT Report Designer
Eclipse
Eclipse
Custom Report
Report
DTP,
Designer UI
Designer
WTP,…
Chart
Designer
Chart UI API
Report Design Engine
XML
Report
Design
Report Engine API
Report
Document
BIRT Report Engine
Generation
Services
Scripting API
Data
Data
Services
Open Data Access
Data
20
Actuate Corporation © 2009
Charting
Engine
Chart Engine API
Presentation
Services
Emitter API
HTML
PDF
Excel
Word
PowerPoint
PostScript
…
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
21
Actuate Corporation © 2009
BIRT Momentum
Downloads
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.”
Thousands of downloads
4,500
4,000
More than 6.5 million
downloads through
December 2008
3,500
3,000
2,500
2,000
Andrew Aitken,
Managing Partner,
Olliance Group
1,500
1,000
500
0
2005
2006
2007
2008
BIRT technology is tried and tested in many applications
22
Actuate Corporation © 2009
BIRT Momentum
Sample BIRT Adopters
23
Actuate Corporation © 2009
BIRT Momentum
Publications
24
Actuate Corporation © 2009
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
BIRT Project Users
Report developers
Easy
AUDIENCE
FEATURES
Drag-and-drop authoring, charting
Advanced report developers
Scripting, script API
Runtime integration developers
BIRT Viewer and engine APIs
Extension developers
Core development
25
Actuate Corporation © 2009
Complex
Report design integration
Design engine API
BIRT extension points
Eclipse development, open source
How is BIRT Being Used?
BIRT Report Designer on Desktops
Use BIRT Report Designer
as a desktop reporting solution
BIRT Report
Designer
Usage Scenario
• Desktop personal productivity tool
Users
• Report developers
• Advanced business users
26
Actuate Corporation © 2009
How is BIRT Being Used?
Integrated Data Visualization
Integrate Open Source
BIRT Report Engine into application
Application
Integration Code
BIRT Engine
Usage Scenario
• Add reporting and data visualization to
applications
Users
• ISV and Enterprise Application Developers
• Java Developers, PHP Developers, …
• Report Developers
27
Actuate Corporation © 2009
How is BIRT Being Used?
Business Intelligence
Leverage commercial deployment
solution for BIRT Reports
Report Server
BIRT Engine
Usage Scenario
• Automated report generation, distribution, …
• Interactivity, security, …
Users
• Report developers
• Business users
28
Actuate 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
29
Actuate 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
30
Actuate 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+W
arehouse
 Display only chart/table as a reportlet http://localhost:8080/birt/run?__report=Customer_Dashboard.rptdesign&__bookmark=RevenueByProductLine&_
31
_isreportlet=true
Actuate Corporation © 2009
Deployment Scenarios – Custom Servlet
YourServletExample
logs
The default location for BIRT logs.
report
Default location of Report Designs
images
Default location for report images
WEB-INF
lib
Location for BIRT required jars. Copy from
Runtime.
platform
plugins
configuration
32
Actuate Corporation © 2009
BIRT required runtime plug-ins. Copy from
runtime.
Location for OSGi configuration files. Copy
from runtime.
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();
33
throw new ServletException( e );
Actuate Corporation © 2009
}}
Actuate BIRT Technology Family
Complementing and Extending Eclipse BIRT
BIRT Interactive
Viewer
Deployment
Kits
iServer
Express
Actuate BIRT
Viewer
Actuate BIRT
Report Studio
Actuate BIRT
Report
Designers
User
Interactivity
Deployment
Tools
Engage users with
rich, interactive
content
Manage, schedule,
secure, run and
distribute
Development
Tools
Skill-specific tools
for developers
and users
34
Actuate Corporation © 2009
iServer
Enterprise
High-Scale
Distribution
Eclipse BIRT
Meet core
reporting requirements
Load-balanced,
high availability
for 100,000s
of users
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
35
Actuate Corporation © 2009
Deployment
• BIRT Reports for iServer
• BIRT Interactive Viewer
• BIRT Report Studio
Enterprise
• Scale
• Page Level Security
• iServer Navigator
• Built-in Information Object Designer
Actuate BIRT Report Studio
Easy to use… end-users do not know SQL… iterative development
Toolbar
• Cut/Copy/Paste
• Delete
• Undo/Redo
• Chart
• Table
• Insert
• Group
• Filter
• Prompt
• Format
• Run
• Print
• Export
User-selected
Information
Object
Dragand-drop
palette
Data
styles
Template
objects
36
Actuate Corporation © 2009
Grouping
and sorting
Format text
and currencies
Calculated
column
Actuate BIRT Interactive Viewer
Simple and
advanced filters
Modify
labels
Toolbar
• Table of
contents
• Page
navigation
• Printing
• Export data
• Save
Hide/show
elements
37
Actuate Corporation © 2009
Grouping
Sorting
Custom
calculations
Show/hide
columns
Formatting text and currencies
Conditional formatting
BIRT Applications
From Open Source and Embedded to Enterprise
BIRT + iServer Enterprise
Publish rich
apps outside
the firewall
BIRT + iServer Express
BIRT + Flash Widgets + …
BIRT Open Source
Engage users
and let them
drive rich apps
Free Open
Source Tools
Embedded
Applications
Implement
security &
management
Secure and
support millions
of users
Publish rich
PM apps that
satisfy users
Scale,
performance,
security, reliability
Department
Applications
Enterprise
Applications
Traditional BI Vendors
Actuate
38
Actuate 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.
39
Actuate 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
40
Actuate 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
41
Actuate Corporation © 2009
Resources
BIRT 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
www.birt-exchange.org
42
Actuate Corporation © 2009
Contribute
• Report designs
• Code samples
• Technical tips
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 API




Using the BIRT Report Engine API
Calling the BIRT RE API
Execute BIRT Reports from Java class
API – Examples
43
Actuate 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
44
Actuate Corporation © 2009
Summary
A New Generation of Reporting and Data Visualization 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
45
Actuate Corporation © 2009
Who is BIRT?
Solving Your Data
Visualization Needs with
Open Source Reporting
Q&A
46
Actuate Corporation © 2009
Download