Transcript document

Give Users a Web
Portal for Creating
Ad-hoc Reports
Virgil Dodson
Evangelist, Actuate / BIRT Exchange
Email: [email protected]
Blog: www.birt-exchange.com/blog
Skype: virgil_dodson
Twitter: birtexchange
YahooIM: virgil_at_actuate
1
Actuate Corporation © 2007
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 reporting solutions
Simplicity
that makes
simple reports
easy
2
Actuate Corporation © 2009
Power
BIRT
to create
very complex
report layouts
BIRT Deployment Options
3
Actuate Corporation © 2009
BIRT Runtime
4
Actuate Corporation © 2009
BIRT Report Engine
The BIRT Report Engine allows you to write Java code to read in
report designs, apply any parameters etc, and output a report.
• Used in standalone Java applications
• RCP applications
• Batch applications
• Used in web applications
• Sample code at BIRT Exchange
5
Actuate Corporation © 2009
Report Engine API Overview
• REAPI supports the following operations:
• Discover report parameters
• Get default parameter values
• Generate report documents. (rptdocument)
• Generate report output (PDF, HTML, DOC, XLS, PPT, PS)
• Fetch images and charts for a report
• Export report data as CSV
• Retrieve Table Of Contents, Bookmarks
6
Actuate Corporation © 2009
BIRT WebViewerExample
The BIRT Web Viewer is an open source example implementation
of a web application for running and viewing BIRT reports and
uses the Report Engine API
• To view the report in the viewer complete with toolbar, navigation bar
and table of contents features, use:
http://localhost:8180/birt23/frameset?__report=sales.rptdesign
• To view the report without the toolbar, navigation bar and table of
contents features, use:
http://localhost:8180/birt23/run?__report=sales.rptdesign
• Other included Servlets are preview, document, output, extract
7
Actuate Corporation © 2009
BIRT WebViewerExample (cont.)
• To go directly to an output format like PDF, use:
http://localhost:8180/birt23/run?__report=sales.rptdesign&format=pd
f
• To get only a chart or table displayed as a reportlet, use:
http://localhost:8180/birt23/run?__report=sales2.rptdesign&__bookm
ark=birtchart&__isreportlet=true
8
Actuate Corporation © 2009
with toolbar
without toolbar
9
Actuate Corporation © 2009
as reportlet
as PDF
10
Actuate Corporation © 2009
Evolution of an Application
1
11
Actuate Corporation © 2009
“Just give me a list of
customer sales and the
best performing city and
state.”
Evolution of an Application
“We also need to
dynamically link the
customers’ to
another report”
12
Actuate Corporation © 2009
2
1
Evolution of an Application
3
2
13
Actuate Corporation © 2009
1
“We’d like to slice this by
sales rep, too, grouped
alphabetically.”
Evolution of an Application
3
4
2
1
“Actually, we’d like to
be able to produce a
completely separate
report for each rep.”
14
Actuate Corporation © 2009
Evolution of an Application
3
4
2
1
“Maybe they should be
able to change their
view by themselves.”
5
15
Actuate Corporation © 2009
Evolution of an Application
“We have quite a few
users using this system
now and there’s some
fairly sensitive data in
there...”
3
4
2
1
6
5
16
Actuate Corporation © 2009
Evolution of an Application
“We need to
schedule these
reports to run
every other week.”
7
3
4
2
1
6
5
17
Actuate Corporation © 2009
Evolution of an Application
“We need to
track which
users have
used the
system.”
8
7
3
4
2
1
6
5
18
Actuate Corporation © 2009
Evolution of an Application
8
7
3
9
4
2
1
6
5
19
Actuate Corporation © 2009
“They need
to set up
their own
reports with
new data.”
Evolution of an Application
8
“We need a single version of the truth”
“We need these dashboards linked to our business process”
“We don’t want to be re-typing information from these
“We need
easily
find
stuff within the dashboard”
dashboards
intotoour
other
applications…can
we export?”
“We7need the output as Excel”
“We need to be able to approve or reject the changes”
3
“We need to be able to see the underlying detail”
9
“We don’t want to be waiting around for the results”
4
“We need to analyze the information in Excel”
“We need
2 Flash charts”
1
“We need a simple way to see the entire contents of the detail report”
6
“We
need to know who’s looked at the information”
“We need these dashboards in multiple languages”
“We need a view that looks like an existing flow chart”
“We need to print the dashboard out5to take into meetings”
20
Actuate Corporation © 2009
Report Integration and Deployment
User Requirements
Report browsing and management
• Easily add additional reports
• Folder based storage and management of reports
• Search and filtering lists of reports
• Report versioning and automated deletion
• Report descriptions and “headlines”
Report generation and scheduling
• On-demand, “run now and I’ll wait” report generation
• On-demand, “run now in background” report
generation
• Scheduled report generation (one-time, recurring…)
• Event-based scheduled report generation
• Sequenced (daisy-chained) scheduled report generation
• Easy to use parameter collection
Report sharing, distribution and notification
• Automatic notification when report is completed
• Attached report to email notification
• Share reports in any folder with other users
21
• Notification
subscriptions (channels)
Actuate Corporation
© 2009
Report Integration and Deployment
Integration Requirements
Report browsing, generation and scheduling
• User interface integrated into application experience
• Reports and integration are branded with application
• Parameter collection and management
Security
• Secure reports individually or in folders
• User and role-based security support
• Integration with application single-signon
• Integration with application security model
Scalability and high availability
• Scalable for large reports (many pages)
• Scalable for large numbers of reports
• Scalable for large numbers of users
• Clustering support
• High availability and failover
22
Actuate Corporation © 2009
Actuate BIRT Product Line
Actuate BIRT Designer
Desktop tools for professional IT developers and power users
Open Source BIRT plus Flash charts and gadgets, one-click
installer and data adapters
Actuate Java Components
Components that provide end user interactivity, ad-hoc BIRT
reporting, report browsing, etc.
iServer Express
Ready-to-go deployment servers for BIRT Reports
Scheduling, security, email notifications, report
management, …
23
Actuate Corporation © 2009
Actuate BIRT Designer
24
Actuate Corporation © 2009
Actuate Java Components
• A Web Application (WAR file) that contains:
1. Actuate BIRT Viewer – enables end users to view BIRT reports
(**included with Actuate BIRT Designer License)
2. Interactive Viewer – enables end users to view BIRT reports,
as well as analyze and personalize a BIRT report to meet their
own needs
3. BIRT Report Studio – empower business users to use a
browser to design ad-hoc reports and view BIRT reports
4. Actuate BIRT Deployment Kit – enables end users to view
BIRT reports and provides file/folder browsing, configurable
caching
25
Actuate Corporation © 2009
Actuate BIRT Viewer
• Runtime support for BIRT reports with Flash content, Report
documents as data sources
• Repository authorization integration, Authentication (IPSE
based) integration,
• Client side scripting
• Progressive Viewing,
• Temp file/transient
store management
26
Actuate Corporation © 2009
Actuate Interactive Viewer
Simple and
advanced filters
Modify
labels
Toolbar
• Table of
contents
• Page
navigation
• Printing
• Export data
• Save
Hide/show
elements
27
27
Actuate Corporation © 2009
Grouping
Sorting
Custom
calculations
Show/hide
columns
Formatting text and currencies
Conditional formatting
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
28
28
Actuate Corporation © 2009
Grouping
and sorting
Format text
and currencies
Calculated
column
Actuate iServer Express
Deploy, Manage, Schedule, Run and Share
BIRT Reports
Quickly and Easily
•
•
•
•
•
•
•
•
Web-based user interface to run, view and
share reports
On-demand, time and event based scheduling
Automated email distribution of reports
User interface to collect report parameters
Secure reports with User and Role security
Report management, versioning and control
Variety of application integration options
Web Services Interface
29
Actuate Corporation © 2009
iServer Express Architecture
iServer Express
iPortal
Management
Console
• Turn-key UI for end-users
• Based on JSP pages and servlets
• Customizable and personalizable via
skins, functionality levels, modify JSPs
Standard
Viewer
Interactive
Viewer
Business
Report
Studio
• Turn-key UI for administrators
and advanced end-users
• Based on JSP pages &
servlets
• Not customizable
Configuration
Console
• JSP page for
basic system
configuration
Web Services API
*NEW* JavaScript API
Administration & Management
• User Privileges & Security Roles
• Document versioning
• Email Notification
• Job Scheduling
BIRT Report Engine
Report
Storage
Metadata Services
Data
Sources
<XML>
Relational
30
Actuate Corporation © 2009
Flat Files
Legacy
ERP
XML
EJB
Integration Scenarios
1. Standalone
• Skins-based customization (colors, logos)
• Customizable JSP UI
• No integration needed
iServer Express
Report Server
User
2. URL Access
• Hyperlinks from application pages to launch reports
• Easy integration with web pages
URL
User
App Server
(Java, PHP, …)
3. Web Services
•
•
•
•
API to access services, get content
Covers 100% of iServer Express functionality
Used for more granular, controlled integration
Complete WSDL for Java access
Web Services
User
App Server
(Java, PHP, …)
4. Web 2.0 JavaScript API
iServer Express
Report Service
Web Services
• API to include reporting into any web page
User
31
Actuate Corporation © 2009
iServer Express
Report Service
App Server
(Java, PHP, …)
iServer Express
Report Service
Integration: URLs
Common
All URLs listed are relative. Absolute URLs should be prefixed
with:
http://<serverurl>:<port>/<contextpath>
The following parameters should be added to all URLs
serverURL=http://<serverurl>:<port>
volume=<volume>
32
Actuate Corporation © 2009
Integration: URLs (cont.)
Execute Report Transient (does not save)
/executereport.do
__executablename={</path>}/<reportname.rptdesign>{;<version
number>}
__progressive=true
__saveOutput=false
__wait=wait
invokesubmit=true
<reportparams>=<paramvalues>
33
Actuate Corporation © 2009
Integration: URLs (cont.)
Execute Report & Save
/executereport.do
__executablename={</path>}/<reportname.rptdesign>{;<version
number>}
__progressive=true
__saveOutput=true
__wait=wait
__outputName={</outputpath>}/<outputname.roi>
__versionName=<versionnumber>
__replace=<true or false>
invokesubmit=true
<reportparams>=<paramvalues>
34
Actuate Corporation © 2009
Integration: URLs (cont.)
View Report with Navigation Bar
/iv
__report={</path>}/<reportname.rptdocument>{;<versionnu
mber>}
View Report without Navigation Bar
/iv
__report={</path>}/<reportname.rptdocument>{;<versionnu
mber>}
__ivcmd=run
35
Actuate Corporation © 2009
Integration: Web Services API
•
•
•
•
IDAPI - Actuate Information Delivery API
Integrating and administering Actuate iServer Express
SOAP messaging
Supports:
• uploading and downloading files
• generating a report and
• scheduling report generation
• sending an e-mail notification when a job completes
• managing the users and security roles in an Encyclopedia
volume
• …
36
Actuate Corporation © 2009
Integration – JavaScript API
<script src="http://[servername]/iportal/jsapi" type="text/javascript"></script>
<script type="text/javascript" language="JavaScript">
function acload() {
actuate.load('viewer');
var reqOps = new actuate.RequestOptions( );
reqOps.setRepositoryType('Enterprise');
reqOps.setIServerUrl('http://[server]:8000');
reqOps.setVolume('BIRT Exchange');
actuate.initialize( 'http://[server]/iportal/',reqOps==undefined?null:reqOps,
null,null,afterInit );
}
…
37
Actuate Corporation © 2009
Integration – JavaScript API (cont)
function afterInit() {
salesByQtrChart = new actuate.Viewer("SummaryDiv");
salesByQtrChart.setReportName("/LinkedExamples/JsapiReports/SalesByYear2.rptdocu
ment");
salesByQtrChart.setReportletBookmark("TotalSalesFlashChart");
salesByQtrChart.setWidth(650);
salesByQtrChart.setHeight(300);
var uiopts = new actuate.viewer.UIOptions();
uiopts.enableToolBar(false);
uiopts.enableScrollControl(false);
salesByQtrChart.setUIOptions(uiopts);
salesByQtrChart.submit();
}
</script>
<body onload=acload()>
<div id="SummaryDiv"></div>
</body>
38
Actuate Corporation © 2009
39
Actuate Corporation © 2009
Demo
40
Actuate Corporation © 2009
BIRT Exchange Community Site
Centralized Knowledge Hub for BIRT Developers
Access Downloads, Demos, Tutorials, Tips & Techniques, Webinars
Easy for users to contribute content, share knowledge
Enables developers to be more productive and build applications faster
www.birt-exchange.com
Download
• Documentation
• Software
Share Knowledge
• Reports, Code, Tips
• Forums
Find
• Search, Sort
• Rate, Comment
41
Actuate Corporation © 2009
Give Users a Web
Portal for Creating
Ad-hoc Reports
Virgil Dodson
Evangelist, Actuate / BIRT Exchange
Email: [email protected]
Blog: www.birt-exchange.com/blog
Skype: virgil_dodson
Twitter: birtexchange
YahooIM: virgil_at_actuate
42
Actuate Corporation © 2007