/
THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT

THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT - PowerPoint Presentation

aaron
aaron . @aaron
Follow
404 views
Uploaded On 2017-09-22

THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT - PPT Presentation

Michael Williams BIRT Evangelist Actuate BIRT Exchange Creating Data Driven Web Apps with BIRT Agenda Introduction Designing Reports Designer APIs What Now BIRT Viewer Report Engine Java ID: 589851

company birt report html birt company html report engine http options viewer data jsf task api localhost config design

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "THE BIRT COMPANY THE BIRT COMPANY THE BI..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

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 COMPANYSlide2

Michael Williams

BIRT Evangelist, Actuate, BIRT Exchange

Creating Data Driven Web Apps with BIRTSlide3

AgendaIntroductionDesigning ReportsDesignerAPIsWhat Now?

BIRT ViewerReport Engine (Java)iHubPlug In 2 BIRT – Spring 2013QuestionsSlide4

IntroductionSlide5

Actuate Launches the BIRT Project

AUGUST

2004

Actuate Joins

Eclipse Foundation

as Strategic Developer

and Board Member

Actuate proposed and started

BIRT

B

usiness

I

ntelligence

and

R

eporting

T

ools Project… a top-level Eclipse project

Adds BI and Reportingas Open Source Project

Professional open source

Primary development resources

funded by Actuate

Contributions from many sources

IBM, Innovent Solutions and communitySlide6

Simplicity

that makes simple layouts easyPowerto createvery complexlayouts

BIRT

B

usiness

I

ntelligence and

R

eporting

T

ools

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 TechnologySlide7

Designing ReportsSlide8

Eclipse Based DesignerSlide9

BIRT Example Key CapabilitiesVery Simple to Very Complex Layouts

Listings, cross-tab, dashboard, pixel-perfect, charts …Grouping, advanced aggregations, sub-totals, calculationsMulti-section and sub-reportsConditional sections and logicFull programmatic control/scriptingEmbedded images…Comprehensive Data AccessSQL databases, Web Services, Flat Files, XML, scripted data sources …Multiple data sources in one design…

Output FormatsHTML, 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…Slide10

Designing ReportsQuick Designer TourSlide11

APIsDesign 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.Slide12

What Now?Slide13

Multiple Deployment Options

BIRT Design

BIRT Engine and APIs

BIRT

onDemand

BIRT

iHubSlide14

BIRT Web Viewer

Copy WebViewerExample from the runtime download to the application server and rename it “birt”Slide15

BIRT Web Viewer URLsWith viewer toolbar, pagination, etc.:http://localhost:8080/birt/frameset?__report=reportName.rptdesign

As a straight HTML output:http://localhost:8080/birt/run?__report=reportName.rptdesignOther servlet mappings:preview, document, output, extractURL parameters include: idtitle

showtitle

toolbar

navigationbar

locale

format

report

document

parameterpage

pagerange

fittopage

svg

isnull

islocale

masterpage

resourceFolder

bookmark

rtl

page

overwriteSlide16

BIRT Web Viewer URLsOutput 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=trueSlide17

BIRT Viewer Tag LibraryExample 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.jspSlide18

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.jspSlide19

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( );}Slide20

RE API with JSFpublic 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(); } }}Slide21

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;

}

}Slide22

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.jsfhttp://localhost:8080/JSF_2/page-a.jsfSlide23

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>Slide24

Plug In 2 BIRT – Spring 2013Contest runs from March 28, 2013 to April 30, 2013

Plug-In CategoriesOpen Data Access (ODA) DriversOutput EmittersReport Item ExtensionsChart ExtensionsNew iPad for Top 3 Plug-Ins!

Visit BIRT Exchange for full contest detailsSlide25

Questions?Slide26

Downloads and Getting StartedBIRT Exchange Community Site

Centralized hub for BIRT developersAccess demos, tutorials, tips and techniques, documentation…Enables developers to be more productive and build applications fasterMarketplace for applications

Explore

Search/sort

Rate, comment

Forums

Download

Documentation

Software

Examples

Contribute

BIRT designs, code

Technical tips

Applications

www.birt-exchange.org