IRMAC Presentation Jaspersoft Suite Overview ©2012 Jaspersoft Corporation. Proprietary and Confidential 1 INTRODUCTION TO JASPERSOFT ARCHITECTURE Products in the BI Suite Standards and APIs Deployment, scalability and upgrades Security ©2012 Jaspersoft Corporation. Proprietary and Confidential 2 Jaspersoft Business Intelligence Suite Reporting Engine Visual Report Design Environment Ad Hoc Reports, Dashboards, In-Memory Analysis Server Powerful OLAP Data Analysis High Performance Data Integration 3 ©2012 Jaspersoft Corporation. Proprietary and Confidential Jaspersoft BI Architecture (Marketecture) ©2012 Jaspersoft Corporation. Proprietary and Confidential 4 Standards and APIs Web Standard Customizable Front End with Service API’s Jaspersoft UI Framework Extensions Web Service Integration Interfaces: SOAP and REST Presentation (.css) Events (.js) JSR-168 portlets Structure (.jsp) Web Services / C/C++, PHP Java API HTTP API XML/A (OLAP) *** Business Logic: Service API’s *** Reporting Engine JasperReports Library Ad Hoc Reporting JasperReports Server Report Scheduling Scheduler OLAP Engine OLAP Engine Repository Hibernate ORM Object Permission User Authority Spring Security Back-End Implementations can be Configured and/or Replaced connect any data source XML, XML/A TXT & CSV RDBMS SSO LDAP, JAAS, MS Active Directory, IBM Tivoli, SiteMinder, CAS JasperReports Server Components WAR file deployed to Java application server Examples: Tomcat, Web Logic, JBoss, tcServer, WebSphere, Glassfish Can be configured behind a load balancer WAR file includes a Web user interface and APIs One shared Jaspersoft Repository Database (Oracle, PostgreSQL, MySQL, DB2, MS SQL Server) Database can be configured master/slave for failover Diverse clients Jaspersoft web user interface (JasperReports Server - UI) Web services clients (SOAP and RESTful) ©2012 Jaspersoft Corporation. Proprietary and Confidential 6 Scalability and Failover See the JasperReports Server Ultimate Guide, Chapter 11 Repository Database Data Sources Browser user load balancer Web services client Email Services Java application servers JasperReports Server deployed as WAR files ©2012 Jaspersoft Corporation. Proprietary and Confidential External Authentication e.g. SiteMinder, CAS, JAAS, LDAP etc. 7 SECURITY Object, column and row based security Single Sign On Secure infrastructure ©2012 Jaspersoft Corporation. Proprietary and Confidential 8 Authorization: Security Permissions Object, column, row security “Principal Object” JasperReports Server creates and maintains for each user session Identifies the user Role(s): order of precedence Custom profile attributes: handles cases where user, tenant and role do not suffice ©2012 Jaspersoft Corporation. Proprietary and Confidential 9 Object based security ©2012 Jaspersoft Corporation. Proprietary and Confidential 10 Different Profiles, Different Views Typical Business User ©2012 Jaspersoft Corporation. Proprietary and Confidential Typical Superuser 11 Authentication: Spring Security A variety of authentication providers come with Spring Security, or are easily integrated: LDAP/Active Directory JAAS CA SiteMinder CAS (Central Authentication System) Tomcat realm Static/in-memory Custom database lookup X509 More Custom ©2012 Jaspersoft Corporation. Proprietary and Confidential 12 DATA INTEGRATION Case study: Jaspersoft’s internal data warehouse ©2012 Jaspersoft Corporation. Proprietary and Confidential 13 Internal use case: Data Integration Requirements Many Source Types (SFDC, XML, Web Services, CSV, etc) Data Cleansing/Scrubbing Full Refresh Incremental Refresh Fault Tolerant (Error Handling, Auto-Restart and Alerting) Scheduling with Intelligent Workflows Performance Rapid Time-to-Metrics 14 Internal use case: Business Systems We Use salesforce.com (53) - Campaigns/Hits - Inquiries/Leads - Opportunities - Accounts - Contacts - Custom Objects (2,000,000) (400,000) (25,000) (32,000) (79.000) SOAP App Exchange Every 15 min Intacct (50) - Orders - Invoices - AP/AR - Rev Rec Schedules XML Gateway Hourly Others (26) - Eloqua - Bugzilla - (4,900,000) Openair Jasperforge.org Jaspersoft.com eStore 15 ©2012 Jaspersoft Corporation. Proprietary and Confidential JDBC Nightly Hardware • Dual Processor • Quad Core • 24 GBs RAM • 4 TB Raid 5 Software • ESXi • CentOS • JasperReports Server • MySQL Internal use case: Jaspersoft ETL Workflows 16 Internal use case: ETL Administration 17 ©2012 Jaspersoft Corporation. Proprietary and Confidential Internal use case: Lessons Learned Define metrics and dimensions before implementing In writing, signed off by key stake holders Definition, Owner, Data Refresh Rate Define the roles of users accessing the data How to access the data? Dashboards? Ad-Hoc Data security Make it a Closed Loop Regular meeting to discuss the metrics Define changes to be made Implement changes 18 Summary: Why use ETL? Transform the data at the ETL layer Persist results sets, including calculated metrics Faster, more responsive reporting Consistently accurate data Schedule near-real time data refreshes ©2012 Jaspersoft Corporation. Proprietary and Confidential 19 REPORTING AND ANALYSIS, PART 1 Report designers: web-based Ad Hoc and iReport Unified Analysis experience ©2012 Jaspersoft Corporation. Proprietary and Confidential 20 Preview: JasperReports Lifecycle Server Compiled .jrxml file .jrprint JasperReports Server : • associates inputs into logical JasperReports Units • automates report execution • exposes APIS for other applications to do the same ©2012 Jaspersoft Corporation. Proprietary and Confidential 21 Two Report (.jrxml) Designer Tools iReport JasperReports Server: Ad Hoc For professional report designers Client-side installation required Pixel-perfect and programmatic control Extensive capabilities ©2012 Jaspersoft Corporation. Proprietary and Confidential Appropriate for all users Web-based, only require a browser Pre-defined report templates Limited formatting 22 JasperReports Server Report Units Images Translation files Sub-report Chart customizer Input controls ©2012 Jaspersoft Corporation. Proprietary and Confidential 23 Technical Training ©2012 Jaspersoft Corporation. Proprietary and Confidential 24 Online Learning Portal ©2012 Jaspersoft Corporation. Proprietary and Confidential 25 Best Practices for Building Complex Reports Don’t boil the ocean – break it down Learn to leverage components Use sub-datasets, sub-reports, Tables etc. You can use multiple Detail bands Use conditional logic to get more from one report Use parameterized queries – but don’t start with them Appreciate the power of report design – it’s not Excel Take training and read the Ultimate Guide – it’s great Join JasperForge and user groups ©2012 Jaspersoft Corporation. Proprietary and Confidential 26 Thank You