Creating Data Driven Web Apps with BIRT
description
Transcript of Creating Data Driven Web Apps with BIRT
![Page 1: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/1.jpg)
1Actuate Corporation © 2010
THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY
![Page 2: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/2.jpg)
2Actuate Corporation © 2010
Stefan CaracasBI Professional, Actuate France
Creating Data Driven Web Apps with BIRT
![Page 3: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/3.jpg)
3Actuate Corporation © 2009
Agenda
• Introduction• Designing Reports
• Designer• APIs
• What Now?• BIRT Viewer• Report Engine (Java)• iHub
• Plug In 2 BIRT – Spring 2013• Questions
![Page 4: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/4.jpg)
4Actuate Corporation © 2009
Introduction
![Page 5: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/5.jpg)
5Actuate Corporation © 2010
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 project Adds BI and Reportingas Open Source Project
Professional open sourcePrimary development resources
funded by Actuate
Contributions from many sourcesIBM, Innovent Solutions and community
![Page 6: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/6.jpg)
6Actuate Corporation © 2010
Simplicitythat makes
simple layouts easy
Powerto create
very complexlayouts
BIRT
Business Intelligence and Reporting Tools
• Makes all data-driven content 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 Data Visualization Technology
![Page 7: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/7.jpg)
7Actuate Corporation © 2009
Designing Reports
![Page 8: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/8.jpg)
8Actuate Corporation © 2009
Eclipse Based Designer
![Page 9: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/9.jpg)
9Actuate Corporation © 2010
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…
![Page 10: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/10.jpg)
10Actuate Corporation © 2009
Designing Reports
Quick Designer Tour
![Page 11: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/11.jpg)
11Actuate Corporation © 2009
APIs
Design Engine API (DE API):Used to create custom reports, create custom report designer tools, or to explore or modify BIRT report designs. It can also be called within BIRT script to modify the report at runtime. The BIRT Designer is built using this API.
Chart Engine API (CE API):Can be used to create and render charts separately from BIRT. It can also be called in the chart script to modify a chart at runtime.
Data Engine API:Used to define Data Sources and Data Sets, and to prepare an IQueryDefinition. It can also be used in script to process a Data Set’s data at runtime.
![Page 12: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/12.jpg)
12Actuate Corporation © 2009
What Now?
![Page 13: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/13.jpg)
13Actuate Corporation © 2009
Multiple Deployment Options
BIRT Design
BIRT Engine and APIsBIRT onDemand
BIRT iHub
![Page 14: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/14.jpg)
14Actuate Corporation © 2009
BIRT Web Viewer
Copy WebViewerExample from the runtime download to the application server and rename it “birt”
![Page 15: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/15.jpg)
15Actuate Corporation © 2009
BIRT Web Viewer URLs
With viewer toolbar, pagination, etc.:http://localhost:8080/birt/frameset?__report=reportName.rptdesign
As a straight HTML output:http://localhost:8080/birt/run?__report=reportName.rptdesign
Other servlet mappings:preview, document, output, extract
URL parameters include:
id title showtitle toolbar navigationbar locale
format report document parameterpage pagerange fittopage
svg isnull islocale masterpage resourceFolder bookmark
rtl page overwrite
![Page 16: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/16.jpg)
16Actuate Corporation © 2009
BIRT Web Viewer URLs
Output to PDF:http://localhost:8080/birt/frameset?__report=reportName.rptdesign&__format=pdf
To display a single report item as a reportlet:http://localhost:8080/birt/run?__report=reportName.rptdesign&__bookmark=myTable&__isreportlet=true
![Page 17: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/17.jpg)
17Actuate Corporation © 2009
BIRT Viewer Tag Library
Example JSP to embed viewer:<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%@ taglib uri="/birt.tld" prefix="birt" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>My Report - JSP</title>
</head><body>
<birt:viewer id="birtViewer" reportDesign=“reportNamerptdesign"pattern="frameset"height="450"width="700"format="html"></birt:viewer>
</body></html>
http://localhost:8080/birt/dashboard.jsp
![Page 18: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/18.jpg)
18Actuate Corporation © 2009
BIRT Viewer Tag Library
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ taglib uri="/birt.tld" prefix="birt" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head><style type="text/css">
. class1 { background-color:#ff0000; color: #ffffff; }</style><body>
Parameter Page 1<br><birt:parameterPage
id="report1" name="page1"reportDesign="cascade_report.rptdesign"isCustom="true"pattern="frameset">
Cascading Parameter1: <birt:paramDef id="5" name="Country" /><br><br> Cascading Parameter2: <birt:paramDef id="6" name="City"/><br><br> Cascading Parameter3: <birt:paramDef id="7" name="Customer" cssClass="class1"/><br><br> <input type="submit" name="submit" value="Sumbit form"/><br><br>
</birt:parameterPage><br>
</body></html>http://localhost:8080/birt/cascade_report.jsp
![Page 19: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/19.jpg)
19Actuate Corporation © 2009
Report Engine API (RE API)
static void executeReport() throws EngineException{ IReportEngine engine=null; EngineConfig config = null;try{ config = new EngineConfig( ); config.setLogConfig("C:\\BIRT_231\\logs", java.util.logging.Level. FINEST); Platform.startup( config ); IReportEngineFactory factory = (IReportEngineFactory) Platform .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ ENGINE_FACTORY ); engine = factory.createReportEngine( config ); IReportRunnable design = null; design = engine.openReportDesign("C:\\BIRT_231\\designs\\param .rptdesign"); IRunAndRenderTask task = engine.createRunAndRenderTask(design); task.setParameterValue("ordParam", (new Integer(10101))); task.validateParameters(); PDFRenderOption options = new PDFRenderOption(); options.setOutputFileName("my_report.pdf"); options.setOutputFormat("pdf"); task.setRenderOption(options); task.run(); task.close(); engine.destroy();}catch( Exception ex){
ex.printStackTrace();}finally{ Platform.shutdown( );}
![Page 20: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/20.jpg)
20Actuate Corporation © 2009
RE API with JSF
public class birt2jsf {String executeReport(String param) throws EngineException{IReportEngine engine=null;EngineConfig config = null;
try{config = new EngineConfig( );config.setLogConfig("/logs", java.util.logging.Level.FINEST);Platform.startup( config );IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );engine = factory.createReportEngine( config );IReportRunnable design = null;design = engine.openReportDesign("E:/apache-tomcat-6.0.36/webapps/JSF_2/test.rptdesign"); IRunAndRenderTask task = engine.createRunAndRenderTask(design); task.setParameterValue("Country", param);task.validateParameters();HTMLRenderOption options = new HTMLRenderOption();ByteArrayOutputStream outs = new ByteArrayOutputStream();options.setOutputStream(outs);options.setImageHandler(new HTMLServerImageHandler());options.setBaseImageURL("images");options.setImageDirectory("E:/apache-tomcat-6.0.36/webapps/JSF_2/images");options.setEmbeddable(true);options.setOutputFormat("html");task.setRenderOption(options);String output;task.run();output = outs.toString();task.close();engine.destroy();return output;
}catch( Exception ex){ex.printStackTrace();return "Error";
}finally{ Platform.shutdown( ); RegistryProviderFactory.releaseDefault();}}
}
![Page 21: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/21.jpg)
21Actuate Corporation © 2009
RE API with JSF
@ManagedBean(name="birtBean")@SessionScopedpublic class BirtBean implements Serializable { private static final long serialVersionUID = 1L;private String name;
public String getReport() {birt2jsf report = new birt2jsf( );String reportHTML = null;try {reportHTML = report.executeReport(name);
} catch (EngineException e) {e.printStackTrace();}
return reportHTML;} public String getName() {return name;}
public void setName(String name) {this.name = name;}}
![Page 22: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/22.jpg)
22Actuate Corporation © 2009
RE API with JSF
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<h:head><title>BIRT JSF 2.0 Example</title>
</h:head><h:body>
<h3>Enter Country</h3><h:form><h:inputText
value="#{birtBean.name}"></h:inputText><h:commandButton value="View Report" action="page-a">
</h:commandButton><h:outputText value="#{birtBean.report}" escape="false"/></h:form>
</h:body></html>http://localhost:8080/JSF_2/page-a.jsf
http://localhost:8080/JSF_2/page-a.jsf
![Page 23: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/23.jpg)
23Actuate Corporation © 2009
iHub and JSAPI
<html><head><script type="text/javascript" language="JavaScript" src="http://localhost:8900/ActuateJavaComponent/jsapi"></script></head><body onload="init();">
<h1>Simple Viewer</h1><div id="myDivContainer" style="border-width: 1px; border-style: solid;"></div><script type="text/javascript" language="JavaScript">
var myViewer;function init(){
actuate.load("viewer");actuate.initialize( "http://localhost:8900/iportal/", null, null, null, createViewer );
}function createViewer(){
myViewer = new actuate.Viewer( "myDivContainer" );myViewer.setReportName("/Mashup/QuickReport.rptdesign" );myViewer.submit();
}</script>
</body></html>
![Page 24: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/24.jpg)
24Actuate Corporation © 2009
Plug In 2 BIRT – Spring 2013
Contest runs from March 28, 2013 to April 30, 2013
Plug-In CategoriesOpen Data Access (ODA) DriversOutput EmittersReport Item ExtensionsChart Extensions
New iPad for Top 3 Plug-Ins!
Visit BIRT Exchange for full contest details
![Page 25: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/25.jpg)
25Actuate Corporation © 2009
Questions?
![Page 26: Creating Data Driven Web Apps with BIRT](https://reader035.fdocuments.us/reader035/viewer/2022062814/5681685a550346895dde9177/html5/thumbnails/26.jpg)
26Actuate Corporation © 2010
Downloads and Getting StartedBIRT Exchange Community Site
Centralized hub for BIRT developers• Access demos, tutorials, tips and techniques, documentation…• Enables developers to be more productive and build applications faster• Marketplace for applications
Explore• Search/sort• Rate, comment• Forums
Download• Documentation• Software• Examples
Contribute• BIRT designs, code• Technical tips• Applicationswww.birt-exchange.org