Part 3 of 3
February 21, 2019
Embedding JasperReports IO into
applications
Agenda
© Copyright 2000-2019 TIBCO Software Inc.
• Introductions and this series
• Using JasperReports IO web services
• JasperReports IO JavaScript client
• “Smart” proxy for JasperReports IO
3
Hello from Jaspersoft!
© Copyright 2000-2019 TIBCO Software Inc.
Teodor Danciu
Jaspersoft Founder, JasperReports IO Architect
Bucharest, Romania
Sherman Wood
Director, Solutions Consulting
San Francisco, CA
4
Today and this series
© Copyright 2000-2019 TIBCO Software Inc.
Feb 14
Feb 21
Feb 7
Last time on JasperReports IO 101…
6
Part 1:
• What is JasperReports IO?
• Use cases & product tour
• Developing your first report with
JasperReports IO
Part 2:
• Developing with JasperReports IO
• Deploying JasperReports IO
© Copyright 2000-2019 TIBCO Software Inc.
Part 1 & 2 Recap
7
JasperReports IO
JavaScript
API
Data sources
Repository
JRIO service
JRIO API
REST API
© Copyright 2000-2019 TIBCO Software Inc.
Using JasperReports IO
REST Services
© Copyright 2000-2019 TIBCO Software Inc.
Using JasperReports IO
Client JavaScript API
10
• Cut down version of JasperReports Server visualize.js
• jrio.js library, additional files and themes files in your
app
• Load jrio.js as a script
• jrio initialization
• Can build Typescript components for Angular, React etc
© Copyright 2000-2019 TIBCO Software Inc.
Integrating the JasperReports IO
JavaScript Client
11
Controlling Access to
JasperReports IO
© Copyright 2000-2019 TIBCO Software Inc.
12
Smart Proxy for JasperReports IO
Web front end,
JRIO JavaScript client
Web application
backend services
“Smart proxy”
A server side, application specific gateway to JRIO,
controlling access
JRIO service
Other
Microservices
13
• Implement JRIO endpoints in app to proxy to JRIO
• Core proxy processing
• More than public JRIO REST API
• Optional and custom to your needs:
• Security checks: Block unauthorized requests, …
• Session management: Session related to security? Can’t
request an execution not initiated by this session, …
• Include application context into JRIO requests: Logged in
user, … to use in reports
• JavaScript client and external REST calls point to the
application proxy point
• Implementations in your app technology and framework
© Copyright 2000-2019 TIBCO Software Inc.
Smart Proxy Components
14
• Core proxy based on curl
• Uses Wordpress API, like register_rest_route
• Short_code for easy integration into Wordpress content
• Includes JRIO JavaScript client integration and Wordpress
nonce (hack protection)
© Copyright 2000-2019 TIBCO Software Inc.
Wordpress plugin as a model for smart
proxies
jrio-proxy.php Core proxy code, using curl
jrio-rest.php JRIO REST API exposed in Wordpress
jrio-sessions.php Session management. Called by jrio-rest.php
jrio-shortcodes.php Wordpress shortcodes integration. Injects JRIO content viewer and
nonce.
jrio_options.php Wordpress admin UI for jrio plugin
15
JasperReports IO Wordpress
Plugin demo
© Copyright 2000-2019 TIBCO Software Inc.
© Copyright 2000-2019 TIBCO Software Inc.
17
Stuff to check out
© Copyright 2000-2019 TIBCO Software Inc.
JasperReports IO Hub
https://www.jaspersoft.com/introducing-jasperreports-io
JasperReports IO Download (free 60 days)
https://www.jaspersoft.com/download?tab=jrio
JasperReports IO Quick Start
https://community.jaspersoft.com/project/jasperreports-io
Feb 21st: [Part 3 / 3] Embedding JasperReports IO in applications

Embedding Reports & Data Visualizations into Applications: JasperReports IO Tutorial Workshop Part 3

  • 1.
    Part 3 of3 February 21, 2019 Embedding JasperReports IO into applications
  • 2.
    Agenda © Copyright 2000-2019TIBCO Software Inc. • Introductions and this series • Using JasperReports IO web services • JasperReports IO JavaScript client • “Smart” proxy for JasperReports IO
  • 3.
    3 Hello from Jaspersoft! ©Copyright 2000-2019 TIBCO Software Inc. Teodor Danciu Jaspersoft Founder, JasperReports IO Architect Bucharest, Romania Sherman Wood Director, Solutions Consulting San Francisco, CA
  • 4.
    4 Today and thisseries © Copyright 2000-2019 TIBCO Software Inc. Feb 14 Feb 21 Feb 7
  • 5.
    Last time onJasperReports IO 101…
  • 6.
    6 Part 1: • Whatis JasperReports IO? • Use cases & product tour • Developing your first report with JasperReports IO Part 2: • Developing with JasperReports IO • Deploying JasperReports IO © Copyright 2000-2019 TIBCO Software Inc. Part 1 & 2 Recap
  • 7.
  • 8.
    © Copyright 2000-2019TIBCO Software Inc. Using JasperReports IO REST Services
  • 9.
    © Copyright 2000-2019TIBCO Software Inc. Using JasperReports IO Client JavaScript API
  • 10.
    10 • Cut downversion of JasperReports Server visualize.js • jrio.js library, additional files and themes files in your app • Load jrio.js as a script • jrio initialization • Can build Typescript components for Angular, React etc © Copyright 2000-2019 TIBCO Software Inc. Integrating the JasperReports IO JavaScript Client
  • 11.
    11 Controlling Access to JasperReportsIO © Copyright 2000-2019 TIBCO Software Inc.
  • 12.
    12 Smart Proxy forJasperReports IO Web front end, JRIO JavaScript client Web application backend services “Smart proxy” A server side, application specific gateway to JRIO, controlling access JRIO service Other Microservices
  • 13.
    13 • Implement JRIOendpoints in app to proxy to JRIO • Core proxy processing • More than public JRIO REST API • Optional and custom to your needs: • Security checks: Block unauthorized requests, … • Session management: Session related to security? Can’t request an execution not initiated by this session, … • Include application context into JRIO requests: Logged in user, … to use in reports • JavaScript client and external REST calls point to the application proxy point • Implementations in your app technology and framework © Copyright 2000-2019 TIBCO Software Inc. Smart Proxy Components
  • 14.
    14 • Core proxybased on curl • Uses Wordpress API, like register_rest_route • Short_code for easy integration into Wordpress content • Includes JRIO JavaScript client integration and Wordpress nonce (hack protection) © Copyright 2000-2019 TIBCO Software Inc. Wordpress plugin as a model for smart proxies jrio-proxy.php Core proxy code, using curl jrio-rest.php JRIO REST API exposed in Wordpress jrio-sessions.php Session management. Called by jrio-rest.php jrio-shortcodes.php Wordpress shortcodes integration. Injects JRIO content viewer and nonce. jrio_options.php Wordpress admin UI for jrio plugin
  • 15.
    15 JasperReports IO Wordpress Plugindemo © Copyright 2000-2019 TIBCO Software Inc.
  • 16.
    © Copyright 2000-2019TIBCO Software Inc.
  • 17.
    17 Stuff to checkout © Copyright 2000-2019 TIBCO Software Inc. JasperReports IO Hub https://www.jaspersoft.com/introducing-jasperreports-io JasperReports IO Download (free 60 days) https://www.jaspersoft.com/download?tab=jrio JasperReports IO Quick Start https://community.jaspersoft.com/project/jasperreports-io Feb 21st: [Part 3 / 3] Embedding JasperReports IO in applications

Editor's Notes

  • #15 Jrio-proxy.php: core proxy Jrio-rest.php: JRIO REST API exposed in Wordpress Jrio-sessions.php: session management. Called by jrio-rest.php Jrio-shortcodes.php: Wordpress shortcodes integration Jrio_options.php: Wordpress plugin admin