Who is BIRT Solving Your Data Visualization Needs
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 Report. Net Style. Reports JReports Buy Build Closed-Source Commercial Products Custom-Developed Solution Java XSLT 4 Actuate Corporation © 2009 JSP XML JFaces HTML Java. Script
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 Java. Script Debugger, Bi. Di 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, Java. Script, 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, Power. Point… • 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 DTP, WTP, … Chart Designer Report Design Engine XML Report Design BIRT Report Engine Data 18 Actuate Corporation © 2009 Generation Services Charting Engine Data Services Presentation Services Report Document HTML PDF Excel Word Power. Point Post. Script …
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 Custom 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 20 Actuate Corporation © 2009 Data Services Open Data Access Charting Engine Chart Engine API Presentation Services Emitter API HTML PDF Excel Word Power. Point Post. Script …
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 Thousands of downloads BIRT Downloads More than 6. 5 million downloads through December 2008 “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 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 2 nd Edition Integrating and Extending BIRT 2 nd 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 q Sample Web application that encapsulates BIRT APIs q Provides pagination, Table of Contents, PDF output etc. q Available within the Report Engine download Ø Custom Servlet q Write custom code for functionality provided by BIRT Viewer q Example available on BIRT Exchange Ø Access BIRT Report Engine API • RCP Applications Ø Web Viewer Plugin q Add BIRT Viewer plugin to list of required plugins Ø Access BIRT Report Engine API q 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=Revenue. By. Product. Line&_ 31 _isreportlet=true Actuate Corporation © 2009
Deployment Scenarios – Custom Servlet Your. Servlet. Example 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 Web. Report. java: The servlet that handles report generation on a GET command. public void do. Get(Http. Servlet. Request req, Http. Servlet. Response resp) throws Servlet. Exception, IOException { //get report name and launch the engine resp. set. Content. Type("text/html"); String report. Name = req. get. Parameter("Report. Name"); Servlet. Context sc = req. get. Session(). get. Servlet. Context(); this. birt. Report. Engine = Birt. Engine. get. Birt. Engine(sc); IReport. Runnable design; try{ //Open report design = birt. Report. Engine. open. Report. Design( c. get. Real. Path("/Reports")+"/"+report. Name); //create task to run and render report IRun. And. Render. Task task = birt. Report. Engine. create. Run. And. Render. Task( design ); task. get. App. Context(). put(Engine. Constants. APPCONTEXT_CLASSLOADER_KEY, Web. Report. class. get. Class. Loader()); //set output options HTMLRender. Option options = new HTMLRender. Option(); options. set. Image. Handler(new HTMLServer. Image. Handler()); options. set. Output. Format(HTMLRender. Option. OUTPUT_FORMAT_HTML); options. set. Output. Stream(resp. get. Output. Stream()); options. set. Base. Image. URL(req. get. Context. Path()+"/images"); options. set. Image. Directory(sc. get. Real. Path("/images")); task. set. Render. Option(options); //run report task. run(); task. close(); }catch (Exception e){ e. print. Stack. Trace(); 33 throw new Servlet. Exception( e ); Actuate Corporation © 2009 }}
Actuate BIRT Technology Family Complementing and Extending Eclipse BIRT Interactive Viewer Deployment Kits i. Server 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 i. Server Enterprise High-Scale Distribution Eclipse BIRT Meet core reporting requirements Load-balanced, high availability for 100, 000 s of users
Actuate BIRT Goes Beyond Eclipse BIRT Visualizations • Flash. Chart report item • Flash. Gadget report item • Flash. Object report item • 266 Flash visualizations • HTML button report item Data Sources • BIRT Report documents • Data connectors for SQL databases • Information Objects Integration • Java. Script API Packaging • Installer for BIRT Report Designer • Addison-Wesley books 35 Actuate Corporation © 2009 Deployment • BIRT Reports for i. Server • BIRT Interactive Viewer • BIRT Report Studio Enterprise • Scale • Page Level Security • i. Server 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 + i. Server Express BIRT + Flash Widgets + … BIRT Open Source Engage users and let them drive rich apps Free Open Source Tools Embedded Applications Publish rich apps outside the firewall 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 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 Dev. Share • 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 Dev. Share • Web Viewer Ø Ø Ø Exploring BIRT Deployment Options Using the Report Viewer Deploying BIRT Web. Viewer. Example 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 Glass. Fish 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
- Slides: 46