creating data driven apps with the free birt ihub f-type
DESCRIPTION
Slides given at EclipseCon Europe in October 2014 introducing developers to the process of using BIRT to create data-driven web applications. These slides include an introduction to BIRT and an introduction to Actuate's free report server called BIRT iHub F-Type. Data for the live demo was collected using a Raspberry Pi, numerous sensors, some IoT software including MQTT and Mosquitto, and MySQL.TRANSCRIPT
Creating Data-Driven Apps with
the FREE BIRT iHub F-Type!
Virgil DodsonDeveloper EvangelistOctober 29, 2014
Today’s Agenda and Goals
• Introduction to BIRT
• BIRT Support for App Development
• Using BIRT Designer
• Deploying with BIRT iHub F-Type
• Live Demo – Greenhouse
• Questions
Simplicity
that makes simple layouts
easy
Power
to createvery complex
layouts
BIRTBIRT
What is BIRT?
• Makesalldata-drivencontentdevelopmenteasy• Modern,web-pagedesignmetaphor• Openandstandards-based• Flexiblewithrichprogrammaticcontrol• Fullsupportforlibrariesandreuse• Foundationforarangeofsolutions
A New Generation of Data Visualization Technology
BIRT Release History
• Ground-up initiative: Innovative approach to layout and design
• Developed in the open with community feedback at all stages
September2004 BIRTProjectproposalaccepted,andproject launched
June2005 1.0 EclipseReportDesigner,ReportEngine,ChartEngine
December2005 2.0 Supportforawidevarietyofcommonlayouts
June2006 2.1 Advancedparameters,ability to join data sets,…
June2007 2.2 Dynamiccrosstabsupport,webservicesdatasource,…
June2008 2.3 JavaScriptDebugger,BiDiSupport,ChartsinCrosstabs,…
June2009 2.5 Pageaggregates,Multipledrill-downsinCharts,…
June2010 2.6 Newcharts,morechartcontrol,developerproductivity,…
June2011 3.7 POJO Runtime,Hive/Hadoop,OpenOfficeemitters…
June2012 4.2 MavenSupport,ExcelDataSource,RelativeTimePeriods…
June2013 4.3 MongoDB&POJOODAs,PPT&Word2010Support,XLSXSupport…
June2014 4.4 Focusonimprovingquality/respondingtoissuesreportedbythecommunity
BIRT Data Access
• BIRT Offers many ways to get data Standard Data Sources
• Flat File (CSV, TSV, SSV, PSV)•Hive Data Source (Hadoop)• Cassandra Scripted Data Source•MongoDB Data Source• JDBC Textual or Graphical•Web Service - XPath syntax• XML - XPath syntax• XLS/XLSX
Scripted Data Source Written in Java or JavaScript Open Data Access (ODA) DTP Project Extensible JDBC Driver Framework
Community Contributions
GoogleDocs
XML/A
Cassandra
REST
MongoDB
Multi-FlatFile
GitHub
TwitterJSONSearch
Dropboxusage
YQL
GoogleAnalytics
FacebookFQL
BIRT Formatting Capabilities
• 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 and scripting
• Embedded images
• Dynamic hyperlinking
• And much more!
BIRT Re-use and Productivity
• Library support for publishing and sharing components
• Leverages common standards SQL Java JavaScript XML
• Cascading Style Sheets
• Integrated debugger
BIRT Expressions and Scripting
• Expressions are everywhere Data Source\Set, Parameters Report Items•Data, Crosstab, Images
Chart Elements Visibility, TOC, Bookmarks Events
• Helper Object References Data Sets\Table Bindings Native JavaScript Func’s BIRT Functions Operators
BIRT Output Formats
• HTML, PDF, MS Office, Open Office
• Custom emitters : CSV, Text, …
• Internationalization of labels and text
• Localization of date and numeric fields
• Support for Asian character sets and right-to-left display
WebViewer PDF Excel
Getting Some Demo Data
SolarAquaponicsGreenhouse
• RaspberryPiB+• AirTemp• WaterTemp• Humidity• AmbientLight• MotionSensor• ScheduledPics• TempAlerts• LEDIndicators• WiPi
• MQTT• Mosquitto• MySQL• Flickr• Twilio
The BIRT Designer
DEMO
Greenhouse Example Report
BIRT Designer BIRT Designer
High Level BIRT Architecture
BIRT EngineBIRT Engine
PresentationServices
PresentationServices
Design EngineDesign Engine
GenerationServices
GenerationServices
DataServices
DataServices
ChartingEngine
ChartingEngine
EclipseDesigner
EclipseDesigner
ChartDesigner
ChartDesigner
Eclipse DTP,WTP,…
Eclipse DTP,WTP,…
Data
Data
HTMLPDFExcelWordPowerPointPostScript…
XMLDesign
Document
Multiple Deployment Options
OneBIRTDesign
BIRTEngineandAPIsBIRTonDemand
BIRTiHub
Introducing BIRT iHub F-Type
• FREE BIRT Server!
• Ideal for departmental or smaller applications
• Unlimited data input
• Daily output limits that can be increased as needed
Built-in Interactivity
• Modify and Personalize BIRT Reports
• Answer What-if questions
• Change sorting, grouping, filters, formatting, and more…
Automatic Scheduling
• Automate report generation
• Run Now, Once, Recurring
• Uses advanced rules and calendar options
• Can be event driven (File/Job/custom)
• Retry rules
• Notification
• Advanced output and printing
Report and Document Sharing
• Secure granular document management
• Group/User report access and distribution
• Link to this page (Email URLs/ embed HTML)
Live Excel Output
• Native Excel output (NOT CSV!)
• Can include Live Formulas
• Crosstabs turn into Pivot Tables
• Multiple worksheets
• Live Charts
Easy Application Integration
• JavaScript API to embed dynamic reports anywhere
• Embed entire report or bookmarked areas
BIRT iHub F-Type in Action
DEMO
BIRT IoT People Counter Dashboard
DEVICE/GATEWAY(data collection)
CLOUD(device management and data analytics)
UI(data visualization)
Linux
Hardware
JavaVM
EclipseEquinoxOSGi
Hardware
EverywareCloud
DeviceManagement
MQTTBroker
EUROTECHDEVICE CLOUD
RESTAPIMQTT
Dashboards
BIRTiHub
BIRTDesign
BIRTDataObject
WebReports
BIRTMobile
BIRT IoT People Counter Dashboard
BIRT IoT Wearables
BIRT Developer Center
CentralizedhubforBIRTdevelopers• Accessdemos,tutorials,tipsandtechniques,documentation…• Enablesdeveloperstobemoreproductiveandbuildapplicationsfaster
Explore• Search/sort• Rate,comment• Forums
Download• Documentation• Software• Examples
Contribute• BIRTdesigns,code• Technicaltips• Applications
developer.actuate.com
VirgilDodsonTwitter: @birtevangelist